]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Move handling of buttons fully in gtktreeviewcolumn. This code is less
[~andy/gtk] / ChangeLog.pre-2-10
1 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
4         Move handling of buttons fully in gtktreeviewcolumn.  This code is
5         less interrelated then it was, but it still requires the
6         GtkTreeView to map it.
7
8         * test/testtreecolumn.c: Now I can add a column to one view,
9         remove it, add it to the another view, remove it, then re-add it
10         to the first.  Nifty.
11
12 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
13
14         * docs/tutorial/gtk-tut.sgml: Minor corrections
15
16 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
17
18         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
19         GtkRowReference.
20
21 2001-02-28  Havoc Pennington  <hp@redhat.com>
22
23         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
24         draw_default
25         (gtk_widget_draw_focus): remove this function; we could instead
26         make it just gtk_widget_draw(), but in most cases I think the
27         result would be broken user code, so think it's better to have
28         that code not compile and get fixed
29         (gtk_widget_draw_default): ditto
30
31         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
32         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
33         
34         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
35         widgets lose/get the default, instead of calling draw_default
36         
37         * docs/Changes-2.0.txt: note about all this
38
39         Then fixed every widget in GTK, I won't list all the filenames.
40
41 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
42
43         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
44         _gtk_tree_row_reference_deleted.
45         (inserted_callback): Proxy out to
46         _gtk_tree_row_reference_inserted.
47         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
48         get around signal emission ordering problem.
49
50         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
51         fix to work with SINGLE 
52         (_gtk_tree_selection_internal_select_node): Major sanitization on
53         selections.  SINGLE now seems to work.
54
55         * tests/Makefile.am: add testtreecolumn.c:
56
57         * tests/testtreecolumn.c: New test.  Mostly points out selection
58         bugs currently, but will test columns later.
59
60         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
61         selection bug.  I hate touching this code -- it's scary.
62
63 2001-02-26  Havoc Pennington  <hp@redhat.com>
64
65         * gtk/testgtk.c: test the window state stuff
66
67         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
68         window come to the user's attention as if it were just created
69         (gtk_window_iconify): new function
70         (gtk_window_deiconify): new function
71         (gtk_window_stick): new function
72         (gtk_window_unstick): new function
73         (gtk_window_maximize): new function
74         (gtk_window_unmaximize): new function
75
76         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
77
78         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
79
80         * gdk/x11/gdkevents-x11.c: create window state events when
81         appropriate
82         (gdk_wmspec_supported): new function
83
84         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
85         iconification before showing the window
86         (gdk_window_deiconify): new function
87         (gdk_window_stick): new function
88         (gdk_window_unstick): new function
89         (gdk_window_maximize): new function
90         (gdk_window_unmaximize): new function
91
92         * gdk/gdkwindow.c: store the window state in the window; 
93         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
94         window->mapped.
95         (gdk_window_get_state): return the current window state
96
97         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
98         (gdk_event_get_state): handle GDK_WINDOW_STATE
99         (gdk_synthesize_window_state): function to create the window state
100         events
101
102         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
103         event, for changes to "window state" such as maximized, sticky, 
104         etc.
105         
106         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
107         focuses a window
108
109         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
110         finds out if we support a given WM spec hint
111
112 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
113
114         * docs/faq/gtk-faq.sgml: New question re memory leaks.
115
116 2001-02-25  Hans Breuer  <hans@breuer.org>
117
118         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
119         cause we want to loose those prototypes only in the latter case
120
121         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
122         GdkPixmapImplWin32 because it itsn't derived from it. Use the
123         impl member variable instead
124
125         * gtk/gtk.def : updated
126
127         * gtk/gtklist.c : 
128         * gtk/gtkmenus.c : include <string.h> for memset ()
129
130         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
131         for everthing built here, but for gtk-x.x.dll only. This solves
132         problem of indifferent gtk type definitions
133
134 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
135
136         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
137
138 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
139
140         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
141         column that is exposed.
142
143         (_gtk_tree_view_update_size): Changed name from set_size, and
144         changed function to do more work, and not force people calling it
145         to figure out the size.  Simplifies a lot of code elsewhere.
146
147 2001-02-23  Alexander Larsson  <alexl@redhat.com>
148
149         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
150         return solid masks for xpms that have no transparent color.
151         This makes the ..._create_from_xpm... API backwards
152         compatible.
153
154 2001-02-23  Tor Lillqvist  <tml@iki.fi>
155
156         * README.win32: Update. Mention the gtk-1-3-win32-production
157         branch.
158
159         * gdk/win32/bdfcursor.c: New file. A program that generates
160         xcursors.h. Thanks to Stefan Ondrejicka.
161
162         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
163         compact format.
164
165         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
166
167         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
168         function, uses xcursors.h.
169         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
170         cursor from inline data instead of using LoadCursor() to generate
171         it from a resource.
172
173         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
174         event, must check the Windows message for mouse button state, as
175         the GDK event state might not have been built if it is
176         undelivered. Remove one goto.
177
178         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
179         SetCursor() if the current cursor as returned by GetCursor() is
180         the window's previous cursor. The ChildWindowFromPoint() test
181         apparently didn't work correctly.
182
183         * gdk/win32/rc/*.cur: Remove.
184
185         * gdk/win32/rc/gdk.rc.in: Remove cursors.
186
187         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
188
189         * gtk/makefile.{mingw,msc}.in: Updates.
190
191 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
192
193         * gtk/gtktreemodel.h: add functions for signal emission.
194
195         * gtk/gtktreestore.c: move to use above functions instead of
196         g_signal_emit.
197
198         * gtk/gtkliststore.c: ditto
199
200 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
201
202         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
203         GObject instead of GtkObject.
204
205         * gtk/gtkliststore.c: ditto.
206
207         * gtk/gtktreemodelsort.c: ditto.
208
209         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
210         GtkTreeModelIface, instead of in each model.
211
212 2001-02-21  Havoc Pennington  <hp@redhat.com>
213
214         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
215         unbreak this function
216
217         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
218         properties
219
220         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
221         properties
222
223         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
224         properties
225
226         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
227         mean unset the max length
228
229 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
230
231         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
232         Changed name to be set_cell_data_func to make it clear what
233         the functino does.  Close bug #51069.
234
235 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
236
237         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
238         have memory actually freed.  Keeps box running longer.
239
240 2001-02-21  Alexander Larsson  <alexl@redhat.com>
241         
242         * gtk/gtkseparatormenuitem.[ch]:
243         Added new menu separator item. The drawing and size handling
244         is still done in GtkMenuItem, but the API is a bit more sane.
245         
246         * gtk/Makefile.am:
247         Add gtkseparatormenuitem.[ch].
248
249         * gtk/gtk.h:
250         Add gtkseparatormenuitem.h.
251         
252         * gtk/gtkentry.c:
253         * gtk/gtkmenufactory.c:
254         * gtk/gtktextview.c:
255         Use the new API for menu separators.
256         
257         * demos/gtk-demo/menus.c (create_menu):
258         Add some GtkSeparatorMenuItem demo code.
259
260 2001-02-20  Havoc Pennington  <hp@redhat.com>
261
262         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
263         Lee Mallabone
264
265         * gtk/gtkarrow.c: Convert to new property API, patch from 
266         Lee Mallabone
267
268 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
269
270         * tests/testtreeview.c (toggled_callback): fix to reflect change
271         in GtkTreeModelStore.
272
273 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
274
275         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
276         function to create an icon set from a pixbuf.
277
278 2001-02-20  Alexander Larsson  <alexl@redhat.com>
279
280         * gtk/gtkcellrenderertext.[ch]:
281         Add a "markup" property.
282
283         * gtk/treestoretest.c:
284         Use the markup property, remove some leftover stuff from
285         GtkTreeModelMapping.
286
287 2001-02-20  Alexander Larsson  <alexl@redhat.com>
288
289         * gtk/gtklabel.c (gtk_label_set_selectable):
290         Queue a redraw if the selectable setting was changed.
291
292 2001-02-20  Alexander Larsson  <alexl@redhat.com>
293
294         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
295         Actually copy the whole gc, not just the public parts.
296         
297         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
298         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
299         labels.
300
301 2001-02-19  Havoc Pennington  <hp@pobox.com>
302
303         * gdk/gdkwindow.c: docs
304
305         * gdk/gdkrgb.c: docs
306
307         * gdk/gdkregion-generic.c: docs
308
309         * gdk/gdkgc.c (gdk_gc_set_values): docs
310
311         * gdk/gdkdraw.c: docs
312
313         * gdk/gdkdrawable.h: deprecate drawable get/set data
314
315 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
316
317         * demos/gtk-demo/dialog.c: Add simple new demo.
318
319 2001-02-19  Havoc Pennington  <hp@redhat.com>
320
321         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
322         insert_child_anchor signal, bug #50245
323
324         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
325         from create_child_anchor, so the anchor is passed in
326
327         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
328         (_gtk_widget_segment_new): have the child anchor object passed in, 
329         instead of creating it.
330
331         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
332         to gtk_text_buffer_get_modified
333
334 2001-02-19  Havoc Pennington  <hp@redhat.com>
335
336         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
337         changed GLib without fixing GTK
338
339         * gtk/gtkrange.h: Rename all the stupid implementation detail 
340         functions to have an underscore in front. Most of them should 
341         probably just go away, but for starters don't export them.
342         Bug #50482
343
344 2001-02-19  Havoc Pennington  <hp@redhat.com>
345
346         * gdk/gdkcolor.h: test was backward, so deprecated functions were
347         excluded by default
348
349         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
350         clean up the old code a bit
351
352         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
353         inconsistent state
354
355         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
356         draw inconsistent state
357
358         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
359         (create_menu): add inconsistent test
360
361         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
362         new function
363         (gtk_check_menu_item_get_inconsistent): new function
364         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
365         state (using etched in for now)
366
367         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
368         draw inconsistent state
369
370         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
371         function, used when the user has selected a range of stuff in
372         different states
373         (gtk_toggle_button_get_inconsistent): accessor for that
374         (gtk_toggle_button_paint): draw inconsistent state (etched in?
375         don't know what else to do)
376
377 2001-02-19  Hans Breuer <hans@breuer.org>
378
379         * gtk/gtk.def : updated exported symbols
380
381         * gtk/makefile.msc.in : updated
382
383         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
384         a colormap, when invoked from testgtk::entry. I'm not sure where
385         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
386         avoids immediate crashing ...
387
388         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
389         any objections ?
390
391         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
392         0 parameter. At least msvc doesn't like macros with var args. 
393         I simply removed the extra 0, was it a feature or a typo ?
394
395         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
396         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
397         because the value assignment to the internal struct wasn't working.
398         I'm not absolutely sure. The problem could have been resolved by
399         changing the "func" declartion in the struct, but was the pointer
400         to the function pointer intended ?
401
402         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
403
404         * gdk/gdk.def : updated exported symbols
405
406         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
407         only use SetDIBitsToDevice if there is a palette at the drawable
408         and the image is GDK_VISUAL_PSEUDO_COLOR
409
410         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
411
412         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
413
414         * gdk/*/makefile.msc : updated
415
416 2001-02-19  Havoc Pennington  <hp@redhat.com>
417
418         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
419         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
420
421         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
422         (gdk_key_repeat_restore): nuke
423
424         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
425         (gdk_init_check): no atexit func
426
427         * gdk/gdkrgb.h: mark some stuff deprecated
428
429         * gdk/gdkcolor.h: mark some stuff deprecated
430         
431         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
432
433         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
434
435 2001-02-16  Havoc Pennington  <hp@redhat.com>
436
437         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
438         scroll steps.
439
440         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
441         steps, and add Ctrl-arrow shortcuts for paging visually as with
442         HScale, since Page Up and Page Down move logically.
443
444         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
445         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
446         
447         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
448         steps
449         (gtk_range_scroll): handle the visual steps
450
451         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
452         scroll steps
453
454         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
455         steps, not the logical ones.
456
457         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
458         (scroll_vertical): handle up/down steps
459
460 2001-02-19 Alexander Larsson  <alexl@redhat.com>
461
462         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
463         Copy data and free data with free().
464
465         * gdk-pixbuf/gdk-pixbuf.c:
466         * gdk-pixbuf/io-jpeg.c:
467         * gdk-pixbuf/io-png.c:
468         Use g_try_malloc/g_free instead malloc/free.
469         
470         * gdk-pixbuf/test-gdk-pixbuf.c:
471         Must... initialize... gobject...
472         
473         * gdk-pixbuf/pixops/timescale.c:
474         * gtk/gtkcalendar.c:
475         Use g_malloc instead of malloc.
476         
477 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
478
479         * gtk/testgtkrc:
480         Comment out property assignments, these don't work yet.
481
482 2001-02-17  Havoc Pennington  <hp@pobox.com>
483
484         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
485         bit.
486
487 2001-02-17  Havoc Pennington  <hp@pobox.com>
488
489         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
490         shadowed variables that had broken size request in some cases,
491         leading to bogus tooltips (#50996)
492
493 2001-02-06  Jon K Hellan  <hellan@acm.org>
494
495         Implement fast browsing of tooltips, bug #50619
496         
497         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
498         and last_popdown
499         
500         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
501         use_sticky_delay and last_popdown.
502         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
503         time of popdown.
504         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
505         is NULL.
506         (gtk_tooltips_recently_shown): New static function.  Return true
507         if < sticky_delay has elapsed since last popdown.
508         (gtk_tooltips_event_handler): Display window after sticky_delay
509         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
510         since last popdown.
511         
512 2001-02-17  Havoc Pennington  <hp@pobox.com>
513
514         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
515         instead of (). #6394
516
517         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
518         G_CONST_RETURN, make it return by reference, #50473
519         
520 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
521
522         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
523         generated ENTER_NOTIFY event with 0, otherwise not explicitely
524         setup fields contain garbage (e.g. subwindow, breaking
525         gdk_drawable_ref() upon event copy).
526         (gtk_menu_stop_navigating_submenu_cb): same here.
527
528         * gtk/gtklist.c (gtk_list_vertical_timeout): 
529         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
530         * gtk/gtkclist.c (vertical_timeout): 
531         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
532         default-zero-intialization for unions to memset(,0,), as unions are
533         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
534         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
535
536         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
537         g_closure_sink() warning.
538
539         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
540         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
541         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
542         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
543         
544 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
545
546         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
547         gtk_*_store_get, and moved to GtkTreeModel.
548
549         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
550
551         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
552
553         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
554
555         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
556         set the func.
557
558         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
559         freeze/thaw notify between setting all the properties for a cell.
560
561         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
562
563 2001-02-15  Havoc Pennington  <hp@redhat.com>
564
565         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
566         the X coordinates so they're with respect to the line, rather than 
567         with respect to the layout.
568
569         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
570         Mallabone
571
572         * gtk/testgtk.c (create_range_controls): add vscale tests, 
573         and inverted test
574
575         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
576         #50806
577
578         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
579
580         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
581         gtk_text_iter_is_end
582
583         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
584         rename gtk_text_buffer_get_end_iter
585
586         * gtk/testgtk.c (create_labels): Add test for selectable
587
588         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
589         the selection stuff. This code is kind of broken since it doesn't 
590         use the theme engine.
591
592         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
593         fix infinite loop and y offset problem
594         (gdk_draw_layout_line_with_colors): fix foreground color handling
595
596         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
597         that makes the label selectable.
598         
599         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
600         layout when the style is set, since fonts etc. could have changed.      
601
602 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
603
604         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
605
606         * gtk/gtktreemodelsimple.[ch]: removed.
607
608 2001-02-16  Alexander Larsson  <alexl@redhat.com>
609
610         * gtk/gtktreemodelmapping.[ch]:
611         New files. Implement GtkTreeModelMapping.
612         
613         * gtk/Makefile.am:
614         Add gtktreemodelmapping.[ch].
615         
616         * gtk/gtk.h:
617         Add gtktreemodelmapping.h
618
619         * gtk/treestoretest.c:
620         Test the GtkTreeModelMapping
621
622 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
623
624         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
625         have a demo, we might as well pass in real values.  Thanks to
626         clahey for pointing this out.
627
628 2001-02-14  Havoc Pennington  <hp@pobox.com>
629
630         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
631         "static" to a private function
632         (gtk_image_menu_item_class_init): remove destroy handler,
633         add "image" object property
634
635 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
636
637         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
638         Add a shortcut if the window and the current clip_region doesn't
639         overlap. This is needed when there are a lot of windows in a
640         window. The layout test in testgtk is a good test.
641
642         * gdk/linux-fb/gdkwindow-fb.c:
643         Whitespace fix.
644
645 2001-02-13  Sven Neumann  <sven@convergence.de>
646
647         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
648
649 2001-02-13  Alexander Larsson  <alexl@redhat.com>
650
651         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
652         Don't reference last_cursor if it is null. Fixes crash when rotating
653         the screen before having moved the mouse.
654
655         * gdk/linux-fb/gdkcc-fb.c: Zapp!
656
657         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
658
659         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
660         when using 90 or 270 degrees rotation.
661
662 2001-02-12  Havoc Pennington  <hp@pobox.com>
663
664         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
665         it always set the foreground, even if we were only using
666         a stipple.
667         (gdk_draw_layout_line_with_colors): new function, allow
668         override colors
669         (gdk_draw_layout_with_colors): new function, allow override
670         colors
671         (gdk_pango_layout_line_get_clip_region): function to get the clip
672         region for a logical text range
673         (gdk_pango_layout_get_clip_region): get the clip region for a
674         logical text range
675
676         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
677         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
678         the right number of arguments.
679
680         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
681         enhance the function to check that node data corresponds to a 
682         view still belonging to the tree.
683
684         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
685         GtkTreePath
686         (gtk_tree_view_inserted): ditto
687         (gtk_tree_view_child_toggled): ditto
688
689         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
690         simplify this code.
691
692         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
693         a PangoAttrList
694
695         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
696
697         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
698
699         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
700         size in the size request 
701         (gtk_menu_bar_size_allocate): consider toggle size here
702
703         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
704         that displays a widget in the toggle slot
705
706         * gtk/testgtk.c: test GtkImageMenuItem
707
708         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
709         
710         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
711         request and allocation
712
713         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
714
715         * gtk/gtkcheckmenuitem.c
716         (gtk_check_menu_item_toggle_size_request): ditto
717         
718 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
719
720         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
721         reference.
722
723         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
724         and refuse to initialize GTK+ if they fail.
725
726 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
727
728         * configure.in: Add check for gtk-doc version.
729
730 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
731
732         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
733         where the xpad/ypad was only being used on one side!
734
735 2001-02-11  Tor Lillqvist  <tml@iki.fi>
736
737         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
738         function, copied from X11 version.
739
740         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
741         DestroyCursor failures. The reason for the problem (despite the
742         inconsistent messages from GetLastError()) was that
743         DestroyCursor() cannot be called while a cursor is set in a
744         window. Set the new cursor first and then destroy the old one.
745         Thanks to jpe@archaeopteryx.com.
746
747         * gdk/win32/gdkcc-win32.c: Remove.
748
749         * gdk/win32/Makefile.am: Remove from here, too.
750         
751         * gdk/gdk.def
752         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
753
754         * gtk/gtk.def
755         * gtk/makefile.mingw.in: Updates.
756
757 2001-02-08  Havoc Pennington  <hp@redhat.com>
758
759         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
760         add a widget to a bin that already has a child.
761
762         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
763
764         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
765         
766         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
767
768         * gdk/gdk.h: remove gdkcc.h
769
770         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
771
772         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
773         GdkPixbuf, since the previous implementation was GdkColorContext
774         dependent.
775
776         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
777         
778 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
779
780         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
781         a sane value!
782
783 2001-02-08  Havoc Pennington  <hp@redhat.com>
784
785         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
786         lighten them.
787
788 2001-02-08  Havoc Pennington  <hp@redhat.com>
789
790         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
791         validation idle
792
793         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
794         cell renderer
795
796         * demos/pixbuf-demo.c (timeout): remove deprecated
797         gtk_widget_draw
798
799         * demos/testpixbuf-save.c (main): remove deprecated
800         gtk_drawing_area_size
801
802         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
803         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
804         at the start of the allocation.
805         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
806         unsetup or NULL model.
807
808         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
809         even/odd/sorted cells in the tree view.
810
811         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
812         bugfixes
813
814         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
815         backgrounds with draw_flat_box using different detail for even/odd
816         rows.
817
818         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
819         row, so we can draw the alternating colors thing
820
821         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
822         property from a synonym property, notify for the synonym.
823         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
824         (gtk_text_tag_get_property): Always return the font, even if
825         all its fields aren't set
826
827         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
828         store the attr list; it leaves us with no way to change attributes
829         in _render according to the render flags, and no way to implement
830         get_property. Instead store all the specific text attributes. 
831         Separate whether an attribute is enabled from its value. Sync all
832         properties with GtkTextTag, make them all consistent, etc.
833
834         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
835         renderers can highlight the sort row/column     
836
837         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
838         accessor functions to get values; this has the side effect of
839         showing up which accessor functions were missing. Added those.
840
841         * gtk/gtktreeviewcolumn.h: Replace set_justification with
842         set_alignment, to be consistent with GtkLabel, GtkMisc
843
844         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
845         arrow.
846
847         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
848
849         * gtk/gtktreesortable.h: updates in here
850
851 2001-02-07  Sven Neumann  <sven@convergence.de>
852
853         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
854         pango dimensions after painting the background. We used to draw
855         gigantic flat boxes here.
856
857 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
858
859         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
860         error introduced with earlier commit) (pointed out by
861         Ollie Lho)
862
863 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
864
865         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
866         which are no longer necessary.
867
868 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
869
870         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
871
872 2001-02-04  Tor Lillqvist  <tml@iki.fi>
873
874         * gdk/gdk.def
875         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
876         Provide dummy implementations.
877
878 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
879
880         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
881
882         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
883         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
884         deprecated this function.
885
886         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
887         argument.
888
889 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
890
891         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
892
893 2001-02-03  Havoc Pennington  <hp@pobox.com>
894
895         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
896         Mikael Hermansson with patch from Mikael (if there was a toggle
897         start one after the first character in the range, this function
898         was broken). Bug #50380
899
900 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
901
902         * configure.in: Remove confusing comment about X11.
903
904 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
905
906         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
907         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
908         
909 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
910
911         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
912         it breaks things on BSD. If you want to compile GTK+ with
913         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
914         when configuring, since GTK+ simply can't be "pure ANSI" 
915         in the header files it uses. (#8170, Greg Hudson)
916
917 2001-02-02  Havoc Pennington  <hp@redhat.com>
918
919         * gtk/gtkwindow.c: docs
920
921         * gtk/gtkwidget.c: docs
922         (gtk_widget_set_colormap): add a reference to the colormap
923         (gtk_widget_get_default_colormap): add a reference to the colormap
924
925         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
926
927         * gtk/gtktextiter.c: docs
928
929         * gtk/gtkmain.c (gtk_propagate_event): docs
930
931         * gtk/gtkpaned.c (gtk_paned_get_position): docs
932         (gtk_paned_set_position): docs
933
934         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
935         sort interface, no implementation yet.
936
937         * demos/testpixbuf.c (new_testrgb_window): replace
938         gtk_drawing_area_size() with gtk_widget_set_usize()
939
940         * demos/testpixbuf-drawable.c (main): ditto
941         
942         * gtk/testgtk.c: remove use of GtkStatusbarMsg
943
944         * gtk/gtktextbuffer.c: docs
945
946         * gtk/gtkstock.c: docs
947
948         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
949
950         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
951
952         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
953         
954         * gtk/gtkimage.c: add some docs in here
955         (gtk_image_size_request): change name of
956         gtk_widget_render_stock_icon
957         (gtk_image_get_icon_set): don't dup returned string
958         (gtk_image_get_icon_set): don't dup returned string
959
960         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
961         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
962         and gtkiconfactory.h functions
963
964         * gtk/gtkiconfactory.c: add some docs in here
965
966         * gtk/gtkmain.c (gtk_get_default_language): document
967         (gtk_get_current_event): document
968         (gtk_get_current_event_state): document
969         (gtk_get_event_widget): document
970
971         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
972
973         * gtk/gtkcontainer.c: Add some documentation
974         (gtk_container_add): give a more explanatory warning on adding an
975         already-parented widget, this is kind of a FAQ and also a common
976         typo that's easier to debug with a nice warning 
977
978         * gtk/gtkcellrenderertoggle.c
979         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
980         adding this, it's useless
981         (gtk_cell_renderer_toggle_set_active): remove
982         (gtk_cell_renderer_toggle_get_radio): add
983
984         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
985         the NULL cell renderer, that doesn't make any sense to me. 
986
987         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
988         demo code should never use deprecated features.
989
990         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
991         code should never use deprecated features.
992
993         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
994         gtk_widget_queue_clear_area deprecated
995
996         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
997         deprecated
998
999         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1000
1001         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1002         a GdkImage deprecated, replaced by new consistently-named
1003         functions       
1004
1005         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1006
1007         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1008
1009         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1010         deprecated
1011
1012         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1013         so it won't appear in docs and confuse people.
1014
1015         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1016
1017         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1018         macros deprecated. (can't mark the type itself deprecated, since
1019         GtkProgressBar is not deprecated and we need the type decl to use
1020         GtkProgressBar)
1021
1022         * gtk/gtkpixmap.h: Mark deprecated
1023
1024         * gtk/gtkoldeditable.h: Mark deprecated
1025
1026         * gtk/gtklist.h: Mark deprecated
1027
1028         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1029         for anything anymore.
1030
1031         * gtk/gtkctree.h: Mark deprecated
1032
1033         * gtk/gtkclist.h: Mark deprecated
1034
1035         * gtk/gtkpreview.h: Mark deprecated
1036
1037         * gtk/gtkpacker.h: Mark deprecated
1038
1039         * gtk/gtktipsquery.h: Mark deprecated
1040
1041         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1042
1043         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1044
1045         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1046
1047         * gtk/gtkruler.h: Add comment that it will move out of GTK
1048
1049         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1050
1051         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1052
1053 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1054
1055         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1056         gdk_colormap_sync private since it was never exported
1057         in a header file.
1058
1059         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1060         colormap->colors[] for StaticGray, StaticColor colormaps.
1061
1062         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1063         was being used as if it was image->bits_per_pixel.
1064
1065         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1066         for the image in the GdkImage structure since it isn't
1067         reconstructable, and we need it to handle packed types
1068
1069         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1070         the assumption that on Win32 image->bits_per_pixel == image->depth,
1071         always.
1072
1073         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1074
1075         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1076         warning message if no converter can be found. 
1077
1078 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1079
1080         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1081         chars to isupper() / tolower(). (#567)
1082
1083         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1084         to clear up 64-bit warnings. (#567)
1085
1086 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1087
1088         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1089         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1090
1091         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1092         since some people set $(libdir) separately. (#1290, David Kaelbling)
1093
1094 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1095
1096         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1097         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1098         MAXPATHLEN, but the code here depends on a fixed value.)
1099         (#4524)
1100
1101 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1102
1103         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1104         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1105
1106 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1107
1108         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1109         viewable there is no way that moving the node will cause the 
1110         focus row to become not viewable, so omit check on the visibility
1111         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1112
1113 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1114
1115         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1116         selection before inserting new text.
1117
1118 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1119
1120         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1121         Make the sensitivity of the reparented child track that of
1122         the original parent menu item. (#34218, David Hodson)
1123
1124         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1125         the case where the current item is destroyed properly.
1126
1127         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1128         some edge cases with child-less menuitems.
1129         
1130 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1131
1132         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1133         key pop down window. (#12074, Jon K Hellan)
1134
1135 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1136
1137         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1138         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1139         The solution here isn't perfect - you get an extraneous
1140         emission of "toggle", which could conceivably confuse an app,
1141         but better than the current situation. LXR search seems to
1142         indicate that no apps in GNOME CVS connect to "toggle".
1143
1144 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1145
1146         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1147         gtk_public_h_sources to directly here to avoid warning when
1148         building srcdir != builddir. (#9656)
1149
1150 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1151
1152         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1153         handlers in gtkrange.c return the proper values (TRUE == handled)
1154         (#10316).
1155
1156         This is just the tip of the iceberg, but gtkrange.c is the
1157         most common place where the propagation is problematical,
1158         and also a place where it is almost certainly safe to change
1159         this in the stable branch.
1160
1161         (You don't want right click popups on a range control or anything...)
1162
1163 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1164
1165         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1166         area on focus out, even if a background pixmap isn't set.
1167         (#13941)
1168         
1169 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1170
1171         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1172         to deal with setting the shape properly when scrolling arrows are
1173         turned on, but not visible because there is sufficient space.
1174         (#13432)
1175
1176 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1177
1178         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1179         items with submenus, destroy the item along with the submenu.
1180         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1181         properly.
1182
1183         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1184         later.
1185
1186 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1187
1188         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1189         the focus widget sometimes wasn't drawn with the default if there
1190         was no default widget.
1191
1192         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1193         unreference pixmaps. 
1194
1195         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1196         for some extra safety.
1197
1198 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1199
1200         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1201         the text of a cell to the old pointer value better, by
1202         copying the new text before freeing the old text. Some code
1203         cleanup. (#8079, Karl Nelson)
1204
1205 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1206
1207         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1208         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1209
1210 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1211
1212         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1213         item from a menu, check to see if it matches 
1214         menu->old_active_menu_item, and if so, unref and clear
1215         old_active_menu_item (Patch from Pavel Cisler)
1216
1217         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1218         menu_shell->active_menu_item, if it is the child being
1219         removed. (Patch based on that of Gene Ragan, #50337)
1220
1221 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1222
1223         * gdk/linux-fb/gdkselection-fb.c: 
1224         * gdk/linux-fb/gdkcolor-fb.c: 
1225         * gdk/linux-fb/gdkdrawable-fb2.c: 
1226         * gdk/linux-fb/gdkfont-fb.c: 
1227         * gdk/linux-fb/gdkim-fb.c: 
1228         * gdk/linux-fb/gdkinput.c: 
1229         * gdk/linux-fb/gdkkeyboard-fb.c: 
1230         * gdk/linux-fb/gdkmain-fb.c: 
1231         * gdk/linux-fb/gdkrender-fb.c: 
1232         A bunch of whitespace cleanup.
1233         
1234 2001-01-30  Havoc Pennington  <hp@pobox.com>
1235
1236         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1237         #ifdef GTK_ENABLE_BROKEN.
1238
1239         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1240         GTK_ENABLE_BROKEN just before including the broken headers.
1241         
1242         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1243         deprecated types registered.
1244
1245         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1246         we have to test the broken stuff.
1247
1248         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1249         
1250 2001-01-30  Havoc Pennington  <hp@redhat.com>
1251
1252         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1253         here where prev pointer was set to the wrong thing
1254
1255         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1256         (gtk_tree_path_is_descendant): new function
1257
1258         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1259         cached length
1260         (gtk_list_store_get_iter): don't modify iter if we can't get the
1261         path.
1262
1263         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1264         
1265         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1266         GtkTreeDragDest
1267
1268         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1269         was causing segfault
1270
1271         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1272         pointer to NULL
1273
1274         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1275
1276         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1277         on returning FALSE
1278         (gtk_list_store_iter_children): ditto
1279         (gtk_list_store_iter_nth_child): ditto
1280         (gtk_list_store_iter_nth_child): ditto
1281         (gtk_list_store_iter_parent): ditto
1282
1283         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1284         on iter->user_data != NULL instead of silently accepting it.
1285         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1286         we are returning TRUE.
1287         (gtk_tree_store_iter_children): ditto
1288         (gtk_tree_store_iter_nth_child): ditto
1289         (gtk_tree_store_iter_parent): ditto
1290         (gtk_tree_store_insert): remove handling of parent->user_data ==
1291         NULL, replace with parent == NULL       
1292
1293         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1294         and a comment explaining things
1295
1296         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1297         interface support to GtkTreeStore.
1298
1299         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1300         FALSE if no prev, fix
1301
1302         * gtk/gtktreeview.c (set_source_row): use a row reference
1303         (set_dest_row): use a row reference
1304
1305 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1306
1307         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1308         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1309         (gtk_tree_selection_select_iter): The same as above.
1310
1311 2001-01-26  Havoc Pennington  <hp@redhat.com>
1312
1313         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1314         which holds a handle to a specific row (particular set of values
1315         in the model, i.e. pointer-identity row).
1316
1317         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1318         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1319         Still need to use it for the src/dest row saved on the drag context.
1320
1321 2001-01-26  Havoc Pennington  <hp@redhat.com>
1322
1323         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1324
1325         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1326         not offset by TREE_VIEW_HEADER_HEIGHT
1327         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1328         TREE_VIEW_HEADER_HEIGHT
1329
1330         * configure.in (included_loaders): for me, --with-included-loaders
1331         generates the error "the specified loader yes does not exist",
1332         i.e. the arg defaults to "yes", so change test for value ""
1333         to test for value "yes", and include all loaders in that case.
1334
1335         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1336
1337         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1338         handle TREE_VIEW_VERTICAL_SEPARATOR
1339         (gtk_tree_view_bin_expose): fix to consider the row offset as
1340         pointing halfway into vertical separator.       
1341         (gtk_tree_view_draw_node_focus_rect): ditto
1342
1343         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1344         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1345         (TRUE) to be called.
1346
1347         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1348         debug mode where the invalid region is colored in on invalidate,
1349         so you can see the flicker and know whether your redraw code is 
1350         doing a good job.
1351
1352         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1353         tree window coordinates (clip rect is in tree window coords)
1354
1355         * gtk/Makefile.am: add gtktreednd.[hc]
1356
1357         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1358
1359         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1360         drag-and-drop data operations on a model (so we can set up tree
1361         drag-and-drop automatically)
1362
1363         * gtk/testgtk.c: Add a window to change sensitivity in the
1364         GtkLabel test; add a way to change the entry frame in GtkEntry
1365         test
1366
1367         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1368         (gtk_entry_get_has_frame): new functions to remove the frame
1369         around an entry
1370         (gtk_entry_size_request): shrink requisition if no frame
1371         (gtk_entry_draw_focus): don't draw frame if no frame
1372
1373         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1374         checks inside a cell renderer
1375         (gtk_default_draw_option): ditto for options
1376
1377         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1378         children from the alignment, not the button
1379         (gtk_tree_view_column_init): ref/sink the column, to emulate
1380         GObject refcounting.
1381
1382         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1383         
1384         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1385         Use theme functions to draw the toggles 
1386
1387         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1388
1389         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1390         GdkPangoAttrEmbossed to use in rendering insensitive text
1391
1392         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1393
1394         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1395         using new GDK features
1396         
1397 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1398
1399         * gtk/gtkimage.c:
1400         Splitted gtk_image_clear into gtk_image_clear() and
1401         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1402         to avoid leaks.
1403
1404         * gtk/gtklabel.c (set_markup):
1405         Don't leak text.
1406
1407         * gtk/gtktextlayout.c:
1408         Always free display->shaped_objects.
1409
1410         * gtk/testgtk.c (create_clist):
1411         Don't leak custom style.
1412
1413 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1414
1415         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1416         Don't leak image. Simplify using gdk_colormap_query_color().
1417         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1418
1419         * linux-fb/gdkcolor-fb.c:
1420         Implemented gdk_colormap_query_color.
1421
1422 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1423
1424         * linux-fb/gdkcursor-fb.c:
1425         Don't leak built-in cursors.
1426
1427         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1428         Don't leak tmp_points.
1429
1430         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1431         Don't modify desc. Don't leak font if the PangoFont
1432         isn't found.
1433         
1434         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1435         Free dash_list.
1436
1437         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1438         Don't leak string.
1439         
1440 2001-01-20  Havoc Pennington  <hp@pobox.com>
1441
1442         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1443         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1444         me, matches Pango
1445
1446 2001-01-22  Havoc Pennington  <hp@redhat.com>
1447
1448         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1449
1450         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1451
1452         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1453         Remove, move back to gdk-pixbuf
1454
1455         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1456         to all the word functions
1457
1458         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1459         before doing anything on NULL layout or if we don't have the focus
1460
1461         * gtk/testtext.c (fill_example_buffer): "justification"
1462
1463         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1464         to be called "justification" not "justify"
1465
1466         * demos/gtk-demo/textview.c (create_tags): "justification"
1467         
1468         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1469
1470 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1471
1472         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1473         Don't leak visible_region. Use visible_region instead of region.
1474         
1475         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1476         Don't do extra gdk_drawable_ref(). This is not X.
1477         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1478         gdk_fb_focused_window is ref:ed.
1479         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1480         windows.
1481
1482 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1483
1484         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1485         Don't leak the PangoFontDescriptor.
1486
1487 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1488
1489         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1490         when not realized.
1491         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1492         (gtk_tree_view_realize): add scroll_to support
1493         (gtk_tree_view_finalize): add a finalize method.  Populate.
1494         (gtk_tree_view_insert_column): ref and sink the column.
1495         (gtk_tree_view_append_column): ref and sink the column.
1496         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1497         individual nodes.  Should make the code much more efficient, if
1498         actually used.
1499
1500 2001-01-19  Havoc Pennington  <hp@redhat.com>
1501
1502         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1503         byte_offset variable was being used to mean both "offset into
1504         layout" and "offset into buffer line" which was no longer true
1505         with addition of preedit string; fix
1506
1507 2001-01-19  Havoc Pennington  <hp@redhat.com>
1508
1509         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1510
1511         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1512         function
1513
1514         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1515         implement
1516
1517         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1518         scroll_to_cell, matches TextView scroll functions better
1519         (gtk_tree_view_tree_to_widget_coords): new function
1520         (gtk_tree_view_widget_to_tree_coords): new function
1521         (gtk_tree_view_get_visible_rect): new function
1522         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1523         (gtk_tree_view_draw_node_focus_rect): new function moved from
1524         draw_focus, also, use width of bin_window as width of the focus
1525         rect
1526         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1527         already-expanded rows
1528         (gtk_tree_view_get_cell_rect): new function
1529         (gtk_tree_view_get_path_at_pos): return the click position
1530         relative to the passed-in cell
1531         (gtk_tree_view_set_expander_column): new function
1532
1533         * configure.in: remove gtk-config-2.0 chmod
1534
1535         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1536         and properly handle drags with targets we don't understand
1537         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1538         scrolling anyway
1539         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1540         mark invisible
1541
1542         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1543         function
1544         (gtk_drag_dest_get_target_list): new function
1545         (gtk_drag_dest_set_target_list): new function
1546         
1547         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1548
1549         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1550         related to drag-and-drop
1551
1552 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1553
1554         * gdk/linux-fb/gdkprivate-fb.h:
1555         Define EMULATE_GDKFONT.
1556         Add extra pango_font stuff to GfkFontPrivate.
1557         
1558         * gdk/linux-fb/gdkdrawable-fb2.c:
1559         * gdk/linux-fb/gdkfont-fb.c:
1560         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1561         emulation using PangoFont.
1562
1563 2001-01-17  Havoc Pennington  <hp@pobox.com>
1564
1565         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1566         all the non-deprecated set_foo functions. Added missing object
1567         properties, and added g_object_notify() to setters. 
1568         Wrote docs.
1569         
1570 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1571
1572         * gtk/gtkmain.c
1573         * gtk/gtkrc.c: (Win32) Use the new
1574         g_win32_get_package_installation_(sub)directory() functions.
1575
1576         * config.h.win32.in: New file.
1577         
1578         * config.h.win32: Removed.
1579
1580         * configure.in: Output config.h.win32.
1581
1582         * Makefile.am: Add it to EXTRA_DIST.
1583
1584         * gtk/gtk.def: Update.
1585
1586 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1587
1588         * gtk/gtklabel.c (gtk_label_size_request): Set the
1589         attributes onto the PangoLayout even if they are newly
1590         created from label->pattern.
1591
1592 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1593
1594         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1595
1596         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1597         structures in functions. Fixes bug where gtk_dataset_*
1598         was accidentally still being used in one place, causing
1599         every dest side event to be treated independently.
1600
1601         * gtk/gtkdnd.c: Remove last vestages of handling
1602         ::draw (fixes warning)
1603         
1604         * gtk/gtkentry.[ch]: Add drag and drop support.
1605
1606         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1607         new function gtk_check_drag_threshhold() for checking
1608         to check if (dx,dy) has exceeded the threshhold for starting
1609         a drag and use it everywhere.
1610
1611 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1612
1613         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1614         add -I{includedir}/gtk-2.0.
1615
1616         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1617         gdk/gdk-pixbuf.h: Doc fixups.
1618         
1619         * gtk/gtkobject.h: Remove trailing , from enum
1620
1621 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1622
1623         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1624         Doh! Mixed up x and y.
1625
1626         * gdk/linux-fb/gdkglobals-fb.c:
1627         Removed gdk_fb_pointer_grab_window_events,
1628         added _gdk_fb_pointer_grab_owner_events and
1629         _gdk_fb_keyboard_grab_owner_events.
1630
1631         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1632         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1633         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1634         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1635         Send crossing events after ungrab finished.
1636         (gdk_keyboard_grab): Set ..._owner_events
1637         (type_masks): Move out of function.
1638         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1639         gdk_fb_keyboard_event_window): New functions, return the
1640         window an event should be targeted at. Handles grabs and
1641         event propagation. Can return NULL.
1642         (gdk_event_make): Remove event_mask checking. Now always
1643         returns an event.
1644                 
1645         * gdk/linux-fb/gdkkeyboard-fb.c:
1646         * gdk/linux-fb/gdkproperty-fb.c:
1647         * gdk/linux-fb/gdkselection-fb.c:
1648         Use new event_window/gdk_event_make() behaviour.
1649         
1650         * gdk/linux-fb/gdkmouse-fb.c:
1651         Use new event_window/gdk_event_make() behaviour.
1652         Only send motion events if in the same window.
1653         If grabbed, use cursor from window if sibling of grabbed
1654         window, and cursor from grabbed window otherwise.
1655
1656         * gdk/linux-fb/gdkprivate-fb.h:
1657         Update gdk_fb_window_send_crossing_events, gdk_event_make
1658         and grab varaible declarations. Add gdk_fb_*_event_window().
1659
1660         * gdk/linux-fb/gdkwindow-fb.c:
1661         Use new event_window/gdk_event_make() behaviour.
1662         Keep correct track of focus window.
1663         (gdk_window_set_events): Set all specific button motion masks
1664         if GDK_BUTTON_MOTION_MASK set.
1665
1666         * gtk/gtkdnd.c (gtk_drag_update):
1667         Free info->last_event if gdk_drag_motion returned FALSE.
1668
1669 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1670
1671         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1672         Eliminate redraws when input-only windows are shown or
1673         hidden. Thanks to jpe@archaeopteryx.com.
1674
1675 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1676
1677         * docs/faq/gtk-faq.sgml: FAQ update:
1678           - Update to bugzilla
1679           - Add GTK+ and security/SUID/SGID
1680           - Add DnD question
1681
1682 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1683
1684         * gdk/linux-fb/gdkdnd-fb.c:
1685         Some cleanups.
1686         
1687 2001-01-15  Havoc Pennington  <hp@pobox.com>
1688
1689         * tests/testtreeview.c: add test stuff for CellRendererToggle
1690
1691         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1692         accessor
1693
1694         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1695         only toggle on button press (would do release like GtkButton, but
1696         we'd need implicit grab code for treeview cells)
1697
1698 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1699
1700         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1701
1702         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1703         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1704
1705         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1706         to g_{locale,filename}_{to,from}_utf8 to match current API.
1707
1708         * gtk/makefile.msc.in (gtk_OBJECTS)
1709         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1710
1711         * gtk/gtk.def: Update.
1712
1713 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1714
1715         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1716         implementaion that more closely mimics the events that an X server
1717         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1718         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1719         with nested preview widgets, for instance, more responsive when
1720         you move the mouse quickly into them.
1721         (find_window_for_pointer_event): Make it actually compile.
1722         (gdk_event_translate): Set send_event to the value of
1723         InSendMessage (). This doesn't really mean the same as X11's
1724         send_event flag, but is close enough, says jpe@archaeopteryx.com
1725
1726 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1727
1728         * gdk/linux-fb/gdkdnd-fb.c:
1729         Implemented drag and drop.
1730         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1731         when it tries to free and then copy the same event (info->last_event).
1732         I am not sure about why this happens, but will continue looking.
1733
1734 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1735
1736         * gdk/linux-fb/gdkwindow-fb.c:
1737         Use gdk_window_invalidate_rect instead of
1738         gdk_window_invalidate_rect_clear to minimise flashing.
1739         When hiding windows you need to clear the root window though.
1740
1741 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1742
1743         * gdk/linux-fb/gdkdrawable-fb2.c:
1744         For optization, add an full_shapes argument to gdk_fb_clip_region.
1745         If this is false, only the cliprects of the shapes are used.
1746
1747         * gdk/linux-fb/gdkprivate-fb.h:
1748         Export gdk_fb_window_peek_shape.
1749         Add full_shapes to gdk_fb_clip_region.
1750
1751         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1752         When moving a window, don't clear everything under the it, just the
1753         root window. Makes stuff faster and flash less.
1754         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1755         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1756         offset of the shape.
1757         
1758
1759 2001-01-12  Havoc Pennington  <hp@redhat.com>
1760
1761         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1762         current invalid region, fixes redraw bug while scrolling the 
1763         text widget
1764
1765         * gtk/gtktextview.c, gtk/gtktextview.h:
1766         Rearrange the scrolling/validation/etc. code in a major way, 
1767         so it seems to make sense to me. Probably isn't genuinely that
1768         much better, but...
1769
1770         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1771         notifies
1772
1773         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1774
1775 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1776
1777         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1778         Hide mouse pointer while rotation. Show it afterwards.
1779
1780 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1781
1782         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1783         windows in consideration when generating clip region.
1784
1785         * gdk/linux-fb/gdkfb.h:
1786         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1787
1788         * gdk/linux-fb/gdkprivate-fb.h:
1789         Add shape to GdkWindowFBDatat.
1790         exported gdk_fb_window_get_abs_shape().
1791         removed gdk_fb_draw_lines declaration.
1792
1793         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1794         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1795         send focus changes when there is a grabbed window.
1796         (gdk_window_get_pointer): Handle shaped windows.
1797         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1798         (gdk_fb_window_peek_shape): Returns the shape for a window,
1799         handles GDK_FB_USE_CHILD_SHAPE.
1800         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1801         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1802         (gdk_window_shape_combine_mask): Implement.
1803
1804         * gtk/gtkwindow-decorate.c:
1805         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1806         setting the shape of a window makes the window transparent.
1807
1808 2001-01-11  Havoc Pennington  <hp@redhat.com>
1809
1810         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1811
1812 2001-01-10  Havoc Pennington  <hp@redhat.com>
1813
1814         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1815         add this function, bug 40251
1816
1817         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1818         of type macro   
1819
1820 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1821
1822         * acconfig.h:
1823         Added ENABLE_SHADOW_FB
1824
1825         * configure.in:
1826         Added --disable-shadowfb
1827
1828         * gdk/linux-fb/gdkcursor-fb.c:
1829         Update shadowfb when updating cursor
1830
1831         * gdk/linux-fb/gdkdrawable-fb2.c:
1832         Added wrappers for shadowfb that calls  the normal drawable
1833         methods, but calls gdk_shadow_fb_update(bounding box) when
1834         GdkWindows are drawed to.
1835         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1836         which also returns the bounding box.
1837
1838         * gdk/linux-fb/gdkfb.h:
1839         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1840
1841         * gdk/linux-fb/gdkgeometry-fb.c:
1842         Update shadowfb when scrolling window.
1843
1844         * gdk/linux-fb/gdkglobals-fb.c:
1845         Add _gdk_fb_screen_angle.
1846         
1847         * gdk/linux-fb/gdkkeyboard-fb.c:
1848         Test code for screen rotation. Shift-F2 in the xlate driver
1849         rotates the screen.
1850
1851         * gdk/linux-fb/gdkmain-fb.c:
1852         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1853
1854         * gdk/linux-fb/gdkmouse-fb.c:
1855         Use fb_width/height instead of modeinfo.xres/yres.
1856
1857         * gdk/linux-fb/gdkprivate-fb.h:
1858         Added fb_men, fb_width, fb_height & fb_stride. When using
1859         shadow fb these can differ from the framebuffer stuff.
1860         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1861         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1862         _gdk_fb_screen_angle. Removed CM, RP.
1863
1864         * gdk/linux-fb/gdkrender-fb.c:
1865         Added code for shadowfb handling and screen rotation using
1866         shadowfb.
1867
1868         * gdk/linux-fb/gdkwindow-fb.c:
1869         Use fb_mem, fb_stride, fb_width, fb_height.
1870         Added recompute_rowstride to reset the rowstride of all windows.
1871         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1872         window abs positions and window rowstrides. Usefull when the
1873         rotation has changed.
1874
1875 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1876
1877         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1878
1879 2001-01-10  Havoc Pennington  <hp@redhat.com>
1880
1881         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1882         where sibling == iter
1883         (gtk_tree_store_insert_after): handle sibling == iter
1884         (gtk_tree_store_prepend): remove stamp checks
1885         (gtk_tree_store_insert_before): ditto
1886         (gtk_tree_store_append): ditto
1887         (gtk_tree_store_get_path): ditto
1888         (gtk_tree_store_get_value): ditto
1889         (gtk_tree_store_iter_has_child): ditto
1890         (gtk_tree_store_iter_n_children): ditto
1891         (gtk_tree_store_iter_nth_child): ditto
1892         (gtk_tree_store_insert_after): ditto
1893         (gtk_tree_store_is_ancestor): ditto
1894         (gtk_tree_store_iter_depth): ditto
1895         (gtk_tree_store_insert_before): assert that sibling's parent is
1896         the same as the passed-in parent
1897         (gtk_tree_store_insert_after): assert that sibling's parent is
1898         the same as the passed-in parent
1899
1900         
1901         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1902         function to get the first iterator in a model
1903         
1904         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1905         conventionally the "root" in this sense is just NULL afaict.
1906
1907         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1908         where sibling == iter
1909         (gtk_list_store_insert_after): handle case where sibling == iter
1910
1911         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1912         automated tests for ListStore, TreeStore
1913
1914         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1915         (gtk_list_store_insert): update tail pointer, and fix it to work
1916         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1917         (gtk_list_store_append): use tail to be faster
1918         (gtk_list_store_prepend): fix it, update tail pointer
1919         (gtk_list_store_insert_after): fix it, update tail pointer
1920
1921         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1922         the list
1923
1924 2001-01-09  Havoc Pennington  <hp@redhat.com>
1925
1926         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1927         is NULL due to a pending resize
1928
1929         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1930         column width to values less than 1
1931
1932         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1933         width to be between min/max width, and still set the width 
1934         even if autosize is turned on, so the tree view can use this 
1935         function in order to autosize.
1936         (gtk_tree_view_column_init): set initial width to 1 not 0
1937
1938         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1939         setter function to modify column width, so we get notification
1940         (gtk_tree_view_insert_iter_height): ditto
1941         (gtk_tree_view_calc_size): ditto
1942         (gtk_tree_view_check_dirty): ditto
1943
1944         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1945         properties to change all the interesting attributes of the tree
1946         view column.
1947         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1948         (gtk_tree_view_column_get_clickable): add
1949         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1950         attributes; assume a cell renderer with equivalent object
1951         properties has been swapped in. Do g_object_notify().
1952         (gtk_tree_view_column_set_visible): g_object_notify
1953         (gtk_tree_view_column_get_sizing): rename from get_col_type
1954         (gtk_tree_view_column_set_sizing): g_object_notify
1955         (gtk_tree_view_column_set_width): add g_object_notify
1956         (gtk_tree_view_column_set_min_width): ditto
1957         (gtk_tree_view_column_set_max_width): ditto
1958         (gtk_tree_view_column_set_title): ditto
1959         (gtk_tree_view_column_set_clickable): ditto
1960         (gtk_tree_view_column_set_widget): ditto
1961         (gtk_tree_view_column_set_justification): ditto
1962
1963 2001-01-09  Havoc Pennington  <hp@redhat.com>
1964
1965         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1966         there are no rows in the model
1967
1968         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1969         NULL, then return the start of the list
1970
1971         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1972         if we can't get any rows from an empty model 
1973
1974         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1975         extraneous * after function pointer typedef usage
1976
1977         * Makefile.am: don't specify full path to cp and rm
1978
1979         * gtk/gtkcellrenderertextpixbuf.c
1980         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1981         NULL before dereferencing, fixes a segfault that happened from
1982         time to time
1983
1984         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1985         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1986         and reindent the function
1987         (gtk_cell_renderer_pixbuf_get_size): indentation
1988
1989         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1990         we quit it
1991         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1992         (gtk_dialog_set_default_response): New function, to set default
1993         button
1994         (gtk_dialog_set_response_sensitive): New function, to set 
1995         sensitivity of buttons
1996
1997         * gtk/gtkcellrendererpixbuf.c
1998         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1999         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2000
2001         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2002         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2003         also boxed types.
2004         (_gtk_tree_data_list_value_to_node): ditto
2005
2006         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2007         --gtk-debug=tree
2008
2009         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2010
2011         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2012
2013 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2014
2015         * gdk/win32/gdkevents-win32.c: Implement better mouse
2016         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2017         (find_window_for_pointer_event): New function.
2018         (gdk_event_translate): Use it when handling mouse events.
2019
2020 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2021
2022         * configure.in:
2023         Added --with-included-loaders option
2024
2025         * gdk-pixbuf/Makefile.am:
2026         * gdk-pixbuf/gdk-pixbuf-io.c:
2027         Add support for including selected gdk-pixbuf loaders only.
2028
2029         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2030         gtk_window_set_has_frame):
2031         Added inline documentation.
2032
2033         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2034         * docs/reference/gdk/tmpl/windows.sgml:
2035         Added inline documentation.
2036
2037 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2038
2039         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2040         realizing buttons that have already been realized.
2041
2042 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2043
2044         * tests/testtreeview.c (main): Show menu items before adding to
2045         option menu.
2046
2047         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2048         around if we kill them.
2049
2050         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2051         Return if we pass in a NULL model.
2052
2053 2001-01-08  Havoc Pennington  <hp@redhat.com>
2054
2055         * tests/testtreeview.c: hack on this some
2056
2057         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2058         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2059         list
2060         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2061
2062         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2063         functions
2064
2065 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2066
2067         * gtk/gtkwindow-decorate.[hc]:
2068         * gtk/Makefile.am:
2069         New files. Contains an implementation of a minimal WM for
2070         linux-fb.
2071
2072         * gtk/gtkwindow.h:
2073         Add the possibility for GtkWindows to specify a frame. This
2074         is used for the window decoration code, but could concievably
2075         be used for X programs too (xmms style windows).
2076         GtkWindow->frame is the toplevel window if the window is framed.
2077         The signal frame_event gets all events that are targeted to
2078         GtkWindow->frame.
2079         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2080         
2081         * gtk/gtkwindow.c:
2082         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2083         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2084
2085 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2086
2087         * docs/README.linux-fb:
2088         Correct filename ~/.pangoft2_aliases
2089
2090         * gdk/gdkwindow.h:
2091         Added new function gdk_window_get_decorations.
2092
2093         * gdk/linux-fb/gdkfb.h:
2094         Removed _gdk_window_get_decorations declaration.
2095         Renamed _gdk_window_set_child_handler to
2096         gdk_fb_window_set_child_handler.
2097
2098         * gdk/linux-fb/gdkwindow-fb.c:
2099         Renamed _gdk_window_set_child_handler to
2100         gdk_fb_window_set_child_handler.
2101
2102         * gdk/x11/gdkwindow-x11.c:
2103         New function gdk_window_get_mwm_hints().
2104         Implemented gdk_window_get_decorations.
2105
2106         * docs/reference/gdk/tmpl/windows.sgml:
2107         * docs/reference/gdk/gdk-sections.txt:
2108         Added gdk_window_get_decorations docs.
2109         
2110 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2111
2112         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2113         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2114         gdk_fb_window_send_crossing_events):
2115         Possibly send focus events when the mouse moves from one
2116         window to another.
2117
2118 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2119
2120         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2121         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2122         to match current API.
2123
2124         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2125         environment variable is set, don't call g_error when on a
2126         palettized (PseudoColor) display. Some people want to use GTK+ 
2127         in 256-colour mode even though works only partially.
2128
2129         * gdk/gdk.def
2130         * gtk/gtk.def
2131         * gtk/makefile.mingw.in: Update.
2132
2133 2001-01-05  Havoc Pennington  <hp@redhat.com>
2134
2135         * tests/testtreeview.c: hack on this a bit
2136
2137         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2138         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2139
2140         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2141         was spelled incorrectly
2142         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2143
2144         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2145         from gtk_tree_view_set_headers_active   
2146
2147         * gtk/gtktexttag.c:
2148         (gtk_text_tag_get_property): handle PROP_DIRECTION
2149         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2150         properties, bug 40235
2151
2152         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2153         forward_to_line_end
2154
2155 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2156
2157         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2158         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2159         for unicode,locale,filename conversion functions.
2160
2161 2001-01-05  Havoc Pennington  <hp@redhat.com>
2162
2163         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2164         broken if called on the first position in the buffer.
2165
2166         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2167         forward_to_delimiters to be called only if we aren't already at
2168         the delimiters.
2169
2170 2001-01-05  Havoc Pennington  <hp@redhat.com>
2171
2172         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2173
2174 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2175
2176         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2177         colormap in here. Sync from X port.
2178         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2179         Sync from X port.
2180         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2181         This happens now and then, and i don't think it is a bug.
2182         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2183         != endpoint.
2184         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2185         GDK_LINE_SOLID.
2186
2187         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2188         some of the fields filled in at least.
2189
2190         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2191         miLineArcD is no more, remove it from the function definition.
2192
2193 2001-01-04  Havoc Pennington  <hp@redhat.com>
2194
2195         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2196         this
2197
2198         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2199         user_data instead of tree_node
2200
2201         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2202         TREE_VIEW_COLUMN_SIZE
2203
2204         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2205         "size" field to "width" finishes bug 40061
2206
2207         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2208         for bitfields, bug 40268
2209
2210 2001-01-04  Havoc Pennington  <hp@redhat.com>
2211
2212         Rename some stuff:
2213         
2214         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2215
2216         s/GtkModelSimple/GtkTreeModelSimple/g;
2217         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2218         s/gtk_model_simple/gtk_tree_model_simple/g;
2219         s/gtkmodelsimple/gtktreemodelsimple/g;
2220
2221         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2222
2223         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2224         s/column_set_col_type/column_set_sizing/g;
2225
2226         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2227         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2228
2229         s/GtkCellRendererType/GtkCellRendererState/g;
2230         
2231         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2232         (gtk_cell_renderer_toggle_class_init): change "state" property to
2233         "active", to match GtkToggleButton
2234         (gtk_cell_renderer_toggle_get_active): new function, bug
2235         40269
2236         (gtk_cell_renderer_toggle_set_active): new function
2237         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2238         state through gtk_cell_renderer_set_active
2239
2240 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2241
2242         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2243         temporarily until they work again.  Brought up to date with
2244         changes in the model.
2245         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2246         model.
2247
2248 2001-01-04  Havoc Pennington  <hp@redhat.com>
2249
2250         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2251         equal to the line length, then position iterator before paragraph 
2252         separators. Fixes crash reported by Mikael Hermansson when
2253         pressing left arrow from the start of a line.   
2254
2255         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2256         about byte indexes off the end
2257         (iter_set_from_char_offset): add g_error about char offsets
2258         off the end
2259
2260 2001-01-03  Havoc Pennington  <hp@redhat.com>
2261
2262         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2263
2264         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2265         of private functions; remove inclusion of private headers.
2266
2267         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2268         function, so we don't need private functions in gtktextdisplay.c
2269
2270         * gtk/gtktextiterprivate.h: underscore-ification
2271
2272         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2273         to instead say "only useful to implement widgets"
2274
2275         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2276         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2277         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2278
2279         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2280         This function was completely broken
2281
2282         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2283
2284         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2285
2286         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2287
2288         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2289
2290         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2291
2292         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2293
2294         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2295         gtk_paint_layout
2296
2297         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2298         gtk_paint_layout
2299
2300         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2301         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2302         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2303         which were not implemented.     
2304
2305         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2306         insert_pixbuf signal. Rename delete_text to delete_range since it
2307         also deletes pixbufs and child anchors. This almost closes bug
2308         40245 (still need to deal with child anchors)
2309
2310         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2311         insert_pixbuf, change signal names as appropriate, change types of
2312         signals taking marks/tags to have the specific type, not just
2313         G_TYPE_OBJECT
2314         
2315         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2316         closes bug 40051
2317
2318         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2319         unnecessary remove_contents() call
2320         (gtk_option_menu_class_init): add a "changed" signal, closes
2321         bug 40039
2322         (gtk_option_menu_update_contents): emit "changed" if the 
2323         active menu item changes
2324
2325         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2326         cast to GtkObject, reported by Jonas Borgstrom
2327         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2328         we can't do stuff with side effects in finalize. Instead, spew a
2329         warning if the loader isn't closed.
2330
2331         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2332         colormap in here, non-X ports probably need to sync to this change
2333
2334         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2335         assertion that colormap != NULL, you can set the colormap to NULL
2336         if you like.
2337         
2338         * Makefile.am: remove gtk-config-2.0
2339
2340         * configure.in: Use pkg-config to locate GLib. Remove
2341         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2342         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2343         Use pkg-config to locate Pango. Output correct Pango libs to
2344         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2345
2346         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2347         files
2348         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2349         X11 pc files
2350
2351         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2352         unref from here
2353
2354 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2355
2356         * configure.in:
2357         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2358
2359 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2360
2361         * gtk/gtktextlayout.c
2362         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2363         variable when moving back onto a single line.
2364
2365 2001-01-01  Havoc Pennington  <hp@redhat.com>
2366
2367         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2368
2369         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2370
2371         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2372         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2373
2374 2001-01-01  Havoc Pennington  <hp@redhat.com>
2375
2376         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2377
2378         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2379         GtkTextAttributes
2380
2381         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2382         #40246
2383         (gtk_text_attributes_copy_values): rename from 
2384         gtk_text_attributes_copy
2385         (gtk_text_attributes_copy): a more standard GTK copy function, 
2386         which returns a new object
2387
2388 2001-01-01  Havoc Pennington  <hp@redhat.com>
2389
2390         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2391         
2392         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2393         don't fill in tree_view->priv->selection, kind of an unexpected
2394         side effect
2395
2396         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2397         gtkintl.h
2398         
2399         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2400         gtkintl.h
2401         (gtk_cell_renderer_get_property): remove calls to g_value_init
2402
2403         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2404         gtkintl.h
2405
2406         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2407         and include gtkintl.h
2408         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2409         property names
2410
2411         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2412         GtkTreeSelection
2413         (_gtk_tree_selection_new_from_with_view): rename, return
2414         GtkTreeSelection
2415         (_gtk_tree_selection_set_tree_view): rename with uscore
2416         (gtk_tree_selection_get_selected): fill in the "model" out param
2417         first, so it gets filled in even if we return at the top of the 
2418         function
2419         (gtk_tree_selection_real_select_all): add a comment and an else{}
2420         to clarify this a bit
2421         (gtk_tree_selection_real_unselect_all): add the same else{}
2422
2423         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2424         set_tree_view to have underscore prefixes, move them to the
2425         private header, fix return type of new_with_tree_view
2426         (struct _GtkTreeSelection): mark struct
2427         fields private  
2428
2429         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2430         GtkTreeModelFlags, not a guint
2431         (gtk_tree_path_prev): return gboolean not gint
2432         (gtk_tree_path_up): return gboolean not gint
2433
2434         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2435         return GtkTreeModelFlags, not a guint
2436
2437         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2438         that child model is non-null before unrefing it
2439         (g_value_int_compare_func): make this a qsort compare func, not 
2440         a boolean predicate
2441
2442         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2443         (add -umn to the end), and mark it unimplemented
2444         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2445         I don't see what it's for - doesn't the model always sort itself?
2446         (gtk_tree_model_sort_set_compare): this had the wrong signature
2447
2448         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2449         Fix the docs to say that it destructively replaces existing
2450         attributes (previously said that it added attributes).
2451         (gtk_tree_view_column_set_visible): canonicalize bool before
2452         equality testing. Also, check for realization before
2453         hiding/showing the tree_column->window; if this window could exist
2454         before realization, then it's busted and needs fixing, we can't 
2455         create GDK resources pre-realization. Also, remove
2456         superfluous queue_resize(), since set_size() does that for us.
2457         (gtk_tree_view_column_set_col_type): check realization before 
2458         using tree_column->window
2459
2460         * gtk/gtktreedatalist.c: fix filename in copyright notice
2461
2462 2000-12-31  Havoc Pennington  <hp@pobox.com>
2463
2464         * gtk/gtktextview.c: Rearrange all the
2465         scroll-while-dragging-or-selecting code to be different, not
2466         necessarily better. ;-)
2467         (gtk_text_view_scroll_to_mark): Change this
2468         function to take within_margin as a fraction instead of a pixel
2469         value, and to take alignment arguments (indicating where to align 
2470         the mark inside the visible area)
2471         
2472         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2473         to GtkObject
2474
2475         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2476         behavior so that offsets past the end of the line are not 
2477         allowed, and an offset equal to the line length moves the iterator
2478         to the next line
2479         (gtk_text_iter_set_line_index): make parallel change
2480         (gtk_text_iter_get_bytes_in_line): add this function
2481         
2482         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2483         of byte indexes off the end of the line; byte index at the end of
2484         the line now returns FALSE and doesn't fill in the requested
2485         values, byte index past the end of the line is an error.  Also,
2486         don't allow -1 offset anymore, since its meaning is unclear.
2487
2488         This change exposes some bug in visual cursor motion, where we
2489         end up with a huge invalid byte index; needs fixing. Symptom of 
2490         bug is a crash when you hit up arrow.
2491         
2492         (_gtk_text_line_char_locate): match the change to byte_locate
2493
2494         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2495         from start of line properly. fixes bug reported by Mikael
2496         Hermansson where backspace would delete all text before the
2497         cursor.
2498
2499 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2500
2501         * gdk/win32/gdkwindow-win32.c
2502         (gdk_window_impl_win32_get_visible_region): New function, as in
2503         the X11 backend.
2504         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2505         instead of duplicating the same code here.
2506
2507         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2508         GDK_COLORMAP macro.
2509
2510         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2511         destroy function.
2512         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2513         access that.
2514
2515         * gtk/gtk.def: Update.
2516
2517         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2518
2519 2000-12-30  Havoc Pennington  <hp@pobox.com>
2520
2521         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2522         colormap on input only windows, to avoid special cases all over
2523         the code for these windows.
2524
2525 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2526
2527         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2528         we are on a palettized display ("PseudoColor" in X11), as the code
2529         for that doesn't work anyway, and never has.
2530
2531 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2532
2533         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2534         Don't use isprint() for chars > 255.
2535
2536 2000-12-21  Havoc Pennington  <hp@redhat.com>
2537
2538         * tests/testtreeview.c: more work
2539
2540 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2541
2542         * docs/README.linux-fb:
2543         Update the docs to the new pangoft2 way.
2544
2545 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2546
2547         * configure.in:
2548         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2549         pango version.
2550         Remove modules/linux-fb/Makefile.
2551
2552         * gdk/linux-fb/gdkdrawable-fb2.c:
2553         Render glyphs using freetype.
2554
2555         * gdk/linux-fb/gdkfb.h:
2556         Add new fb-specific functions needed for managing windows.
2557
2558         * gdk/linux-fb/gdkmain-fb.c:
2559         Remove gdk_font_init/fini() calls.
2560
2561         * gdk/linux-fb/gdkpango-fb.c:
2562         Remove old implementation. Use pangoft2 instead.
2563
2564         * gdk/linux-fb/gdkprivate-fb.h:
2565         Remove PangoFBFont and related stuff.
2566
2567         * gdk/linux-fb/gdkwindow-fb.c:
2568         Implement drawable->get_visible_region.
2569         Implement support for _gdk_window_set_child_handler () and
2570         _gdk_window_get_decorations().
2571
2572         * modules/Makefile.am:
2573         Remove linux-fb subdir.
2574
2575         * modules/linux-fb/*:
2576         Removed all.
2577         
2578 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2579
2580         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2581         calls, as they are no longer needed.
2582
2583         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2584         
2585         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2586         figure out how to emit a signal on an interface.
2587
2588 2000-12-20  Havoc Pennington  <hp@redhat.com>
2589
2590         * tests: new directory to contain tests, gtk/test* should move
2591         here sometime (with appropriate on-cvs-server hackery)
2592
2593         * tests/testtreeview.c, tests/Makefile.am: a test
2594         
2595         * configure.in (AC_OUTPUT): add tests/Makefile
2596
2597         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2598         and "invisible_set" which were missing
2599
2600         * gtk/gtkrbtree.h: some cheesy indentation fix
2601         
2602 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2603
2604         * gtk/gtkinvisible.c (gtk_invisible_realize):
2605         Attach the style to the window so that the style it is not
2606         leaked when unrealizing the window.
2607
2608 2000-12-18  Havoc Pennington  <hp@redhat.com>
2609
2610         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2611         begin/end user action where appropriate
2612         (gtk_text_view_commit_handler): add begin/end user action
2613
2614         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2615         bracket interactive operations with begin/end user action pair.
2616         
2617         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2618         "interactive" arg from insert_text and delete_text signals.
2619         Add begin_user_action, end_user_action signals
2620         (gtk_text_buffer_begin_user_action): 
2621         (gtk_text_buffer_end_user_action): New functions to delimit 
2622         a user-visible action
2623
2624         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2625         signals.
2626         
2627 2000-12-18  Havoc Pennington  <hp@redhat.com>
2628
2629         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2630         was pretty non-working.
2631
2632         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2633         by passing the length to g_utf8_validate().
2634
2635 2000-12-16  Havoc Pennington  <hp@pobox.com>
2636
2637         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2638         Port to GObject, can go back in gdk-pixbuf after setting up 
2639         a gdk-pixbuf-marshal.h header over there.
2640
2641         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2642         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2643         args
2644         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2645         set
2646         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2647         here, do it when we create the buttons later
2648         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2649         (gtk_tree_view_map): paranoia checks that column->button is shown 
2650         and unmapped
2651         (gtk_tree_view_size_request): only request visible children.
2652         Move header size calculation in here, for cleanliness, and 
2653         to maintain invariants for child widgets if we eventually 
2654         let users set different children inside the buttons
2655         (gtk_tree_view_map_buttons): factor out code to map buttons,
2656         since it was being called several times
2657         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2658         windows instead of just moving them; their height may change 
2659         if we allow random widgets in there, or the theme changes.
2660         (gtk_tree_view_size_allocate): move button size allocation 
2661         above emitting the scroll signals, to ensure a sane state when we
2662         hit user code
2663         (gtk_tree_view_button_release): remove queue_resize after
2664         tree_view_set_size(), set_size() will handle any resize queuing
2665         that's needed
2666         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2667         draw_focus goo
2668         (gtk_tree_view_focus): use gtk_get_current_event() and
2669         gdk_event_get_state()
2670         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2671         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2672         semicolon
2673         (gtk_tree_view_create_button): show the button here
2674         (gtk_tree_view_button_clicked): actually emit the clicked signal
2675         on the column
2676         (_gtk_tree_view_set_size): return right away if the size is
2677         unchanged, as a cheesy optimization
2678         (gtk_tree_view_setup_model): rename set_model_realized to 
2679         setup_model to match the flag that indicates whether we've 
2680         called it
2681         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2682         exist, because set_scroll_adjustment does that and it shouldn't
2683         matter what order you call these in
2684         (gtk_tree_view_get_vadjustment): ditto
2685         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2686         for paranoia
2687         (gtk_tree_view_set_headers_visible): call
2688         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2689         (gtk_tree_view_append_column): clarify whether the return value
2690         is the count of columns before or after, and do the increment 
2691         separately from the return statement so you can tell from the code.
2692         (gtk_tree_view_remove_column): ditto
2693         (gtk_tree_view_insert_column): ditto
2694         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2695         outside the existing range, the docs say that outside-range
2696         columns are allowed, so we handle them as documented. (Presumably
2697         this allows a nice loop with column != NULL as test.)
2698         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2699         mean (left/right/center etc.).
2700         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2701         (gtk_tree_view_expand_row): add docs
2702         (gtk_tree_view_collapse_row): add docs
2703
2704         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2705         function to emit the clicked signal on a column
2706         
2707         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2708         state of an event
2709         (gdk_event_get_time): don't treat GDK_SCROLL 
2710         as a button event, remove default case from switch so gcc 
2711         will whine if we don't explicitly handle all event types
2712
2713         * gtk/gtktreeselection.h: added some FIXME 
2714         
2715         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2716         "columns" to "n_columns" and "column" to "columns" for clarity
2717
2718 2000-12-16  Havoc Pennington  <hp@pobox.com>
2719         
2720         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2721         stuff. This should make e.g. the delete key work again in the
2722         text widget...
2723         (gtk_text_iter_forward_cursor_positions): handle negative count
2724         (gtk_text_iter_backward_cursor_positions): handle negative count
2725         (gtk_text_iter_forward_word_ends): handle negative count
2726         (gtk_text_iter_backward_word_starts): handle negative count
2727
2728         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2729         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2730         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2731         GObject. No doubt will cause breakage.
2732
2733         * demos/gtk-demo/textview.c: remove hacks around
2734         non-GObject-ification of the text objects
2735
2736         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2737         the text tag
2738         
2739 2000-12-14  Havoc Pennington  <hp@pobox.com>
2740
2741         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2742         that we have Xrender
2743
2744 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2745
2746         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2747         Add two virtualized functions gdk_drawable_get_clip_region - to
2748         get the clip region when drawing.
2749         
2750         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2751         use invalidate_region.
2752
2753         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2754         region.
2755
2756         * acconfig.h configure.in: Check for Xft. For now, assume
2757         that if Xft is found, Pango was compiled with Xft support
2758         as well.
2759
2760         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2761         gdk_colormap_query_color().
2762         
2763         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2764         with Xft if appropriate.
2765
2766         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2767         a pangoxft context if we have XFT and the environment
2768         variable GD_USE_XFT is set.
2769         
2770         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2771         and also possibly an XftDraw structure.
2772
2773         * gtk/gtkfontsel.c: Handle the case where the font from the
2774         style doesn't match any of the fonts a bit better.
2775         
2776         * gtk/testgtk.c: Add tabs between directional segments for
2777         hebrew/arabic test. (Not really necessary, just a little
2778         prettier.)
2779
2780 2000-12-14  Havoc Pennington  <hp@redhat.com>
2781
2782         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2783         reading a file
2784
2785 2000-12-14  Havoc Pennington  <hp@redhat.com>
2786
2787         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2788         unused call to get_last_line()
2789
2790         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2791         here until boxed is working (and maybe after that - we should
2792         really not gratuitously break old code)
2793
2794         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2795         specific types for font_desc and tabs args, move them to
2796         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2797         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2798
2799         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2800         use GTK_TYPE_POINTER for signal signatures as a hack-around
2801
2802         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2803         PangoTabArray
2804
2805         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2806         make static
2807         (line_display_index_to_iter): make static
2808
2809         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2810         to marshal a string not a boxed
2811
2812         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2813
2814         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2815         since the UTF-8 isn't validated yet
2816
2817         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2818         lines to end in '\n'
2819         
2820         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2821         forward_to_delimiters, and grapheme boundaries
2822         (gtk_text_view_delete_from_cursor): properly handle non-newline
2823         delimiters, and grapheme boundaries
2824
2825         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2826         to gtk_text_iter_forward_to_delimiters, and make it work properly
2827         if empty lines end with a character other than '\n'
2828
2829         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2830         position
2831
2832 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2833
2834         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2835
2836         * gtk/gtk.def
2837         * gdk/gdk.def: Update.
2838
2839         * gdk/win32/gdkmain-win32.c
2840         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2841         gdkmain-win32.c here.
2842
2843         * gdk/win32/makefile.mingw.in (all): No need to make
2844         gdk-win32res.o here, the makefile one step up will call us to make
2845         it.
2846
2847         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2848         gdkkeys-win32.
2849
2850         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2851
2852         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2853         call to g_source_add().
2854
2855         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2856         leak. Thanks to Andreas Kemnade.
2857
2858 2000-12-13  Havoc Pennington  <hp@pobox.com>
2859
2860         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2861
2862         * gtk/gtktext*.[hc]: update accordingly
2863         
2864 2000-12-13  Havoc Pennington  <hp@pobox.com>
2865
2866         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2867         header file
2868
2869         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2870
2871 2000-12-13  Alex Larsson  <alexl@redhat.com>
2872
2873         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2874         Add support for ps2 intellimouse.
2875
2876         * gdkkeyboard-fb.c:
2877         Move shift-F1 repaint handling to xlate handler only.
2878         
2879         * docs/README.linux-fb:
2880         Add imps2 to docs.
2881         Document the new refresh keys.
2882         
2883 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2884
2885         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2886
2887         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2888         ::position and ::padding.
2889
2890         * gtk/gtkcontainer.c: make ::border_width an INT property.
2891
2892         * gtk/gtkpacker.c: make ::position an INT property.
2893
2894         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2895         guard against NULL h/v scrollbars, since this is used at construction
2896         time.
2897
2898         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2899         internal gtk_clist_constructor().
2900
2901         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2902         gtk_ctree_constructor().
2903
2904         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2905         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2906
2907         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2908         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2909
2910         * gtk/gtkwidget.[hc]:
2911         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2912         and gtk_widget_get().
2913         (gtk_widget_new): use g_object_new_valist().
2914         (gtk_widget_set): use g_object_set_valist().
2915
2916         * gtk/gtkobject.[hc]:
2917         removed gtk_object_arg_get_info(), gtk_object_getv(),
2918         gtk_object_query_args(), gtk_object_newv(),
2919         gtk_object_class_add_signals(),
2920         gtk_object_class_user_signal_new(),
2921         gtk_object_class_user_signal_newv(),
2922         gtk_object_arg_set(), gtk_object_arg_get(),
2923         gtk_object_args_collect(),
2924         gtk_object_default_construct(),
2925         gtk_object_constructed(),
2926         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2927         removed nsignals, signals and n_args members from GtkObjectClass.
2928         (gtk_object_new): use g_object_new_valist().
2929         (gtk_object_set): use g_object_set_valist().
2930         (gtk_object_get): use g_object_get_valist().
2931         
2932         * gtk/gtkcompat.h: define gtk_object_default_construct().
2933         
2934         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2935         g_object_new().
2936
2937         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2938         fucntions, cleaned up method assignments (make sure your structures
2939         are setup properly before calling out). removed all GTK_CONSTRUCTED
2940         hacks ;)
2941
2942 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2943
2944         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2945         off-by-one error in checks. (Dave Lambert)
2946
2947 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2948
2949         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2950         Don't free gdk_fb_keyboard twice.
2951
2952 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2953
2954         * gtk/testgtk.c:
2955         (create_tooltips): 
2956         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2957         use GObject swapped_signal:: properties instead.
2958
2959         * gtk/gtkcellrenderertoggle.c: 
2960         * gtk/gtkcellrenderertextpixbuf.c: 
2961         * gtk/gtkcellrenderertext.c: 
2962         * gtk/gtkcellrendererpixbuf.c: 
2963         * gtk/gtkcellrenderer.c:
2964         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2965         missing warnings for invalid property ids, install properties
2966         with g_object_class_install_property() now.
2967         
2968         * gtk/gtksignal.c:
2969         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2970         
2971 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2972         
2973         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2974         to determine if a window is the focus widget within
2975         its toplevel.
2976
2977         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2978         to be boolean.
2979
2980         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2981         of the case where the container CAN_FOCUS to here instead
2982         of having it in each individual move-the-focus place.
2983
2984         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2985         focusing to be geometric in a much more obvious sense. Arrowing
2986         around is still non-intuitive because it isn't perfect and
2987         because entries, etc, grab the arrow keys, but it at least
2988         usually will do what you expect now.
2989         
2990         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2991         file.
2992
2993         * gtk/gtknotebook.c: Change tabs to be a single item in
2994         the focus chain. Make movement of focus on tabs with arrow
2995         keys wrap around.
2996         
2997         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2998         CHECK_FIND_CHILD macro to give informative error messages
2999         instead of silent returns.
3000
3001         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3002         flag since we handle GdkReturn on the tabs.
3003
3004         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3005         windows rather than sending expose events directly.
3006
3007         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3008         definition for GtkNotebookPage into .c file, since it is private.
3009
3010         * gtk/testgtk.c (create_notebook): Add option for 
3011         testing borderless notebook.
3012
3013         * gtk/testgtk.c (page_switch): Removed egregious poking
3014         around in GTK+ internals.
3015
3016         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3017
3018         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3019         properly through gtk_clist_focus. Make the title headers a
3020         single item in the tab-focus chain, and make left-right wrap
3021         around.
3022
3023         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3024         focus method so that wrapping around works properly.
3025
3026         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3027         that is handled for the widget now. 
3028
3029 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3030
3031         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3032         widgets as TOPLEVEL.
3033
3034         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3035         TOPLEVEL widgets are containers.
3036
3037         * gtk/gtkinvisible.h: Remove useless include.
3038
3039 2000-12-11  Havoc Pennington  <hp@redhat.com>
3040
3041         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3042         Handle chopping off \r\n and 0x2029 in addition to \n before
3043         passing to PangoLayout
3044
3045         * gtk/gtkimcontextsimple.c
3046         (gtk_im_context_simple_get_preedit_string): 
3047         return an empty string if no match is pending
3048
3049         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3050         assertion that the returned preedit string was sane
3051
3052         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3053         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3054         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3055
3056 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3057
3058         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3059         Fix up finalizer to chain to its parent.
3060
3061 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3062
3063         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3064         Clearified the difference between the keyboard types. Wrote a note
3065         about the magic sysrq key to get out of raw mode.
3066
3067 2000-12-09  James Henstridge  <james@daa.com.au>
3068
3069         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3070         member to hold masks for detecting the start of a protocol packet.
3071         (mouse_devs): add packet start masks for ps2 and ms device types.
3072         Left the mask for fidmour blank, as I have no idea what it should
3073         be.
3074         (handle_mouse_io): skip bytes until we get to the start of a
3075         packet.  My Logitech mouse seems to be passing an extra NULL pad
3076         byte, and GPM does a similar thing here.
3077         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3078         this is the ms mouse driver.
3079         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3080         completely broken except for button1.  It was checking the wrong
3081         bit in the packet for the status of the right mouse button, and
3082         wrongly assuming right == button2 rather than 3.  I fixed that and
3083         also added support for middle button (button2).
3084
3085 2000-12-08  Havoc Pennington  <hp@redhat.com>
3086
3087         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3088         that cause a segfault on text insertion
3089
3090         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3091         warning
3092
3093         * gtk/gtktextiter.c (test_log_attrs): use
3094         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3095
3096         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3097         Get log attrs for a line, using a cache stored on the buffer
3098         
3099         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3100         reported by Jeff Franks
3101
3102 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3103
3104         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3105         /dev/ttyS0 -> /dev/mouse
3106
3107 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3108
3109         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3110         Added dummy gdk_fontset_load.
3111
3112 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3113
3114         * docs/README.linux-fb:
3115         * docs/Makefile.am:
3116         Initial GtkFB docs.
3117         
3118         * gdk/linux-fb/Makefile.am:
3119         Define GDK_DATA_PREFIX.
3120
3121         * gdk/linux-fb/gdkmain-fb.c:
3122         Fix typo.
3123         Change default display to /dev/fb0.
3124
3125         * gdk/linux-fb/gdkpango-fb.c:
3126         Add $(prefix)/share/fonts/ to font path.
3127         
3128 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3129
3130         * gdk/linux-fb/gdkkeyboard-fb.c:
3131         New file containing the abstracted keyboard driver. Most code
3132         taken from gdkinput-ps2.c
3133
3134         * gdk/linux-fb/gdkinput-ps2.c:
3135         Removed file.
3136         
3137         * gdk/linux-fb/Makefile.am:
3138         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3139
3140         * gdk/linux-fb/gdkcolor-fb.c:
3141         display->fb was renamed to display->fb_fd.
3142
3143         * gdk/linux-fb/gdkcursor-fb.c:
3144         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3145
3146         * gdk/linux-fb/gdkinput.c:
3147         Moved gdk_input_init here from gdkinput-ps2.c
3148
3149         * gdk/linux-fb/gdkmain-fb.c:
3150         display->fb was renamed to display->fb_fd.
3151         Now the tty and the console is opened here instead
3152         of in the keyboard driver. Also check GDK_VT to see what
3153         tty to open.
3154         Move gdk_beep () here from gdkinput-ps2.c
3155         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3156
3157         * gdk/linux-fb/gdkmouse-fb.c:
3158         Add header.
3159         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3160         Return correct keyboard modifiers.
3161         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3162
3163         * gdk/linux-fb/gdkprivate-fb.h:
3164         Add tty and vt info to display.
3165         Add orignal modeinfo storage to display
3166         Update global functions
3167
3168         * gdk/linux-fb/gdkwindow-fb.c:
3169         Added gdk_fb_window_find_focus().
3170         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3171
3172 2000-12-07  Havoc Pennington  <hp@pobox.com>
3173
3174         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3175         function, noticed by Alex
3176
3177 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3178
3179         * configure.in: Detect freetype properly
3180
3181         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3182         above.
3183
3184 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3185
3186         * gdk/linux-fb/Makefile.am:
3187         Add gdkmouse-fb.c
3188         
3189         * gdk/linux-fb/gdkmouse-fb.c:
3190         New file. Abstracted the mouse drivers a bit.
3191
3192         * gdk/linux-fb/gdkcursor-fb.c:
3193         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3194
3195         * gdk/linux-fb/gdkinput-ps2.c:
3196         Removed old mouse handling code. Moved cursor handling code
3197         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3198         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3199         gdk_mouse_get_info.
3200
3201         * gdk/linux-fb/gdkmain-fb.c:
3202         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3203
3204         * gdk/linux-fb/gdkprivate-fb.h:
3205         Removed public gdk_fb_find_common_ancestor, added and renamed
3206         functions for the new mouse handling code.
3207
3208         * gdk/linux-fb/gdkwindow-fb.c:
3209         Moved gdk_fb_window_send_crossing_events here. added global
3210         variable gdk_fb_window_containing_pointer. made
3211         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3212         renamed to gdk_mouse_get_info.
3213
3214 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3215
3216         * gdk/linux-fb/gdkevents-fb.c:
3217         Update to match latest gmain/gsource changes.
3218
3219         * gdk/linux-fb/gdkinput-ps2.c:
3220         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3221         it links. Will be implemented later.
3222
3223 2000-12-03  Havoc Pennington  <hp@pobox.com>
3224
3225         * gdk/Makefile.am: add gdkkeys.[hc]
3226
3227         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3228         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3229
3230         * acconfig.h, configure.in: add checks and command line options
3231         for XKB
3232
3233         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3234         
3235         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3236         and group in the key event
3237
3238         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3239         field with the low-level hardware key code, and a group
3240         field with the keyboard group
3241
3242         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3243         and declare a couple globals used for keymap handling
3244         
3245         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3246         hold down Shift-Control and type a hex number to get a Unicode 
3247         character corresponding to the hex number
3248         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3249         (return bytes not chars)
3250
3251 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3252
3253         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3254         to avoid waste on 64-bit platforms.
3255
3256 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3257
3258         * INSTALL: Fix link to PNG home, remove reference
3259         to fribidi.
3260
3261         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3262         
3263         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3264         tested.)
3265
3266         * gtk/gtkcheckmenuitem.c: Permanently turn on
3267         always_show_toggle.
3268
3269         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3270         be NULL. (Vladimir Klebanov, #26545)
3271
3272         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3273         some signed/unsigned comparison problems. (#6510,
3274         David Kaelbling)
3275
3276         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3277         return type to boolean (Oskar Liljeblad, #18648)
3278
3279 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3280
3281         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3282         Remove bogus colormap setting.
3283
3284 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3285
3286         * gdk/linux-fb/gdkcolor-fb.c:
3287         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3288
3289         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3290         Must set colormap.
3291         
3292 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3293
3294         * docs/tutorial/gtk-tut.sgml: DND updates
3295
3296 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3297
3298         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3299         Remove old debug g_warning().
3300         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3301         or an implementation, just pass the implementation to draw_drawable_2.
3302         
3303         * gdk/linux-fb/gdkprivate-fb.h:
3304         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3305
3306         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3307         clear and invalidate area when window is destroyed.
3308         (send_map_events): Remove old commented out code.
3309
3310 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3311
3312         * gdk/linux-fb/gdkpango-fb.c:
3313         Use italic instead of oblique in font aliases.
3314         
3315         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3316         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3317         other unsupported functions.
3318
3319 2000-12-04  Havoc Pennington  <hp@redhat.com>
3320
3321         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3322
3323         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3324
3325         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3326
3327         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3328         hack to avoid infinite loops (synthetic expose event) - 
3329         Owen has more appropriate fixes in a branch he'll check in later.
3330
3331         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3332         separator, CR, and CRLF as line ends
3333
3334         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3335         into lines using pango_find_paragraph_boundary(); other bits of
3336         the widget are still going to be broken if the boundary isn't '\n'
3337         though
3338
3339 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3340
3341         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3342         multiply.
3343
3344         * gdk/linux-fb/gdkpango-fb.c:
3345         Copied some 26.6 scaling macros from pango to clean up the rounding.
3346         (pango_fb_font_get_glyph_info): Correct sign on x value.
3347
3348         * gdk/linux-fb/gdkprivate-fb.h:
3349         Removed unreferenced external functions.
3350
3351         * modules/linux-fb/Makefile.am: Use ` instead of '.
3352
3353         * modules/linux-fb/basic.c:
3354         Remove dead code. In particular the dummy lang engine which broke all
3355         pango layouts in GtkFB. Don't include tables-big.i anymore.
3356
3357         * modules/linux-fb/tables-big.i:
3358         Upgrade to latest version from pango. Left for reference, basic_ranges
3359         moved to basic.c.
3360         
3361 2000-12-04  Havoc Pennington  <hp@redhat.com>
3362
3363         Fix bugs Alex found:
3364         
3365         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3366         to "draw"
3367
3368         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3369
3370         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3371
3372         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3373         implementation in here, apparently the expose() implementation was
3374         dead code.
3375
3376 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3377
3378         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3379         Return positive descent.
3380
3381 2000-12-02  Havoc Pennington  <hp@pobox.com>
3382
3383         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3384         method and signal
3385         
3386         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3387         calls gdk_window_process_updates() to push the exposes through
3388         (gtk_widget_class_init): No more draw signal, no
3389         gtk_widget_real_draw()  
3390         
3391         * gtk/gtkbin.c (gtk_bin_draw): remove
3392
3393         * gtk/gtkbox.c (gtk_box_draw): remove
3394
3395         * gtk/gtkbutton.c (gtk_button_draw): remove
3396
3397         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3398
3399         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3400
3401         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3402
3403         * gtk/gtkclist.c (gtk_clist_draw): remove
3404
3405         * gtk/gtkentry.c (gtk_entry_draw): remove
3406
3407         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3408
3409         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3410
3411         * gtk/gtkframe.c (gtk_frame_draw): remove
3412
3413         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3414
3415         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3416
3417         * gtk/gtklayout.c (gtk_layout_draw): remove
3418
3419         * gtk/gtklist.c (gtk_list_draw): remove
3420
3421         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3422
3423         * gtk/gtkmenu.c (gtk_menu_draw): remove
3424
3425         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3426
3427         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3428
3429         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3430
3431         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3432
3433         * gtk/gtkpacker.c (gtk_packer_draw): remove
3434
3435         * gtk/gtkrange.c (gtk_range_draw): remove
3436
3437         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3438
3439         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3440
3441         * gtk/gtktable.c (gtk_table_draw): remove
3442
3443         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3444
3445         * gtk/gtktext.c (gtk_text_draw): remove
3446
3447         * gtk/gtktextview.c (gtk_text_view_draw): remove
3448
3449         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3450
3451         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3452
3453         * gtk/gtktree.c (gtk_tree_draw): remove
3454
3455         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3456
3457         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3458
3459         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3460
3461         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3462
3463         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3464
3465         * gtk/gtkwindow.c (gtk_window_draw): remove
3466
3467 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3468
3469         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3470         a GtkToggleButton is both insensitive and active, it was being
3471         drawn by the GtkButton draw handler which doesn't check the
3472         state. Now it's calling gtk_toggle_button_paint instead.
3473         
3474 2000-12-01  Havoc Pennington  <hp@redhat.com>
3475
3476         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3477         dangling pointers to the appearance attributes from the 
3478         line display
3479
3480         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3481         width/height to mean "full width/height of drawable"
3482
3483         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3484         click to select word/line
3485         
3486         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3487         when getting log attrs. Get a slice, so that pixmaps and stuff
3488         are properly handled.
3489
3490         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3491         paste into the selection (replaces selection now, previously
3492         crashed or added to selection). Reveals longstanding btree bug -
3493         select multiple lines, middle-click on the selection, boom. This
3494         isn't related to my changes though.
3495
3496         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3497         PangoLogAttrs changes
3498         (gtk_entry_move_backward_word): ditto
3499
3500         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3501         functions return bool whether the iter moved onto a
3502         dereferenceable position.
3503  
3504         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3505         functions for motion in terms of display lines.
3506
3507         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3508         get the buffer a mark is inside
3509         
3510 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3511
3512         * gdk/linux-fb/Makefile.am:
3513         * modules/linux-fb/Makefile.am:
3514         Freetype 2 final uses freetype-config
3515
3516         * gdk/linux-fb/gdkpango-fb.c:
3517         Upgrade to use Freetype 2 final.
3518         More flexible support for font aliases, this also fixes a bug with
3519         GtkFontSelector, as the aliases must be visible in the font/family list,
3520         or GtkFontSelector reads uninitialized memory.
3521
3522 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3523
3524         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3525         XGetIMValues to properly terminate variable argument list, and do
3526         NULL return check for ic_values and xim_styles.
3527
3528         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3529         Restore preedit state after XmbResetIC().
3530         
3531         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3532         XvaCreateNestedList() should take XvaNestedList, but not
3533         XvaNestedList*.
3534
3535         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3536         preedit_draw_callback, preedit_caret_callback): Match
3537         "preedit-changed" signal name to "preedit_changed" to be
3538         consistent to the spec.
3539
3540         * gtk/gtkimcontextsimple.c (check_table):
3541         Match "preedit-changed" to "preedit_changed" to be consistent
3542         to the spec.
3543
3544 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3545
3546         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3547         gc->clip_region == NULL>
3548
3549 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3550
3551         Changes by Hans Breuer:
3552         
3553         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3554         Dont't use negative width and height as max_hints. This fixes
3555         Owen's recent testgtk changes for win32.
3556
3557         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3558         gdk_win32_hdc_release): These are exported and may be called with
3559         other drawable types than our GdkDrawableImplWin32 (?).
3560
3561         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3562         so always #define USE_BACKING_STORE.
3563
3564         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3565         of printf for debugging output.
3566
3567         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3568         
3569         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3570
3571         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3572         declaration.
3573
3574         * gtk/gtktexttypes.h: Ditto.
3575
3576         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3577         (GDK_VoidSymbol) also if in case of arg check failure.
3578
3579         * gtk/gtkimcontextsimple.c
3580         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3581         position to the pointer, but to the variable it points to.
3582
3583         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3584
3585         * gtk/gtk.def: Updates.
3586
3587 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3588
3589         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3590         GTK_TYPE_TREE_MODEL.
3591
3592 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3593
3594         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3595         Set the size of the font from the description.
3596         (gdk_text_width): Gross hack that calculates the width
3597         of text by text_length * size/2. This is necessary because
3598         GtkLabel does some ugly gtk_string_width call to calculate
3599         an good size.
3600         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3601
3602 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3603
3604         * docs/tutorial/gtk-tut.sgml: DND updates
3605
3606 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3607
3608         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3609         If you pass width or height == 0 to gdk_window_clear_area they
3610         should be calculated from the window size.
3611
3612 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3613
3614         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3615         a grab, but no grab-cursor, use the cursor from the grabbed
3616         window. (gdk_fb_window_send_crossing_events): Send normal
3617         enter/leave notifications if grab and owner_events == TRUE.
3618
3619 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3620
3621         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3622         Do implicit button grabs, even if the window doesn't
3623         want the event.
3624         (gdk_fb_window_send_crossing_events): If there is a
3625         grab, only the grabbed window gets normal enter/leave
3626         notifications. On ungrab go from grabbed window to current.
3627         Don't send any notification to b when propagating from c -> b.
3628         If setting a grab on window, don't set prev_window.
3629         (handle_mouse_input): Send enter/leave events to the window the
3630         mouse is over, not the grabbed one.
3631         
3632 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3633
3634         * gdk/gdkregion-generic.c: Zap warning.
3635         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3636         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3637
3638 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3639
3640         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3641         The cursor should be hidden if it is part of either the
3642         source or destination region. Not only if it is in both.
3643         (gdk_window_set_transient_for): Silence warnings.
3644
3645 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3646
3647         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3648         The default mode in X is Pie Arcs, therefore that is
3649         what Gtk+ uses.
3650
3651 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3652
3653         * gdk/linux-fb/gdkinput-ps2.c:
3654         Implement correct EnterNotify/LeaveNotify:
3655         (gdk_fb_window_send_crossing_events): New function that sends
3656         all GdkCrossingEvents from the last mouse-window to the specified
3657         destination.
3658         (gdk_fb_window_visibility_crossing): Removed function.
3659         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3660         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3661         instead of gdk_window_get_pointer() for better readability.
3662
3663         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3664         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3665
3666         * gdk/linux-fb/gdkprivate-fb.h:
3667         removed gdk_fb_window_visibility_crossing, added
3668         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3669
3670         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3671         New function that finds the least common ancestor of two windows.
3672         (gdk_window_show, gdk_window_hide):
3673         Use gdk_fb_window_send_crossing_events.
3674         (gdk_fb_window_move_resize): Send configure events to toplevel
3675         windows. Use gdk_fb_window_send_crossing_events.
3676
3677 2000-11-27  Havoc Pennington  <hp@redhat.com>
3678
3679         * gtk/gtkprivate.h (enum): Remove a trailing comma
3680
3681 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3682
3683         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3684         the "changed" callback of the adjustment.  We need to redraw the
3685         spin button's arrows when the adjustment's range changes.
3686         (adjustment_changed_cb): Draw the arrows.
3687         (gtk_spin_button_value_changed): Draw the arrows.
3688
3689 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3690
3691         * gdk/linux-fb/gdkselection-fb.c:
3692         Initial selection implementation.
3693
3694         * gtk/gtkselection.c:
3695         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3696         requestor in gtk_selection_request.
3697         
3698         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3699         Added gdk_selection_property atom.
3700
3701         * gdk/linux-fb/gdkprivate-fb.h:
3702         Export _gdk_selection_window_destroyed.
3703         Removed mask_off_x/y from GdkCursorPrivateFB.
3704         Removed hbearing, added top, left to PangoFBGlyphInfo.
3705
3706         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3707         Call _gdk_selection_window_destroyed
3708         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3709         the root window has been created.
3710         (static_dx_hack, static_dy_hack, compare_draw_rects,
3711         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3712         in region. They are already sorted. Instead just traverse them in
3713         reverse if draw_direction < 0.
3714         
3715         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3716         Double-clicks must be sent after the normal button_press.
3717         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3718         
3719         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3720         Pass _gdk_fb_screen_gc instead of NULL.
3721
3722         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3723         Initialize gdk_selection_property.
3724         (gdk_event_make): Remove unused code.
3725
3726         * gdk/linux-fb/gdkcursor-fb.c:
3727         Make the pixmap for the cursor the same size as the mask. Also remove
3728         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3729         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3730         Now the whole cursor is visible.
3731
3732         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3733         Fix bug where xdest+height instead of ydest+height was used
3734         to calculate if the source and dest overlapped. This fixes the
3735         redraw bug when the main window in testgtk was scrolled when
3736         partially covered by a tall window.
3737         Copy rectangles in region in order depending on draw_direction.
3738         Also moved the draw_direction flipping of start_y and end_y into
3739         the gc functions, as this might not be what all of them want.
3740         (gdk_fb_draw_lines): Support dashed lines.
3741         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3742         so that the text is positioned correctly (was 1 pixel high).
3743
3744         gdk/linux-fb/gdkgc-fb.c:
3745         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3746         all lines were drawn a pixel to short. Also checked the default of
3747         the rest of the values, and they're the same as X now.
3748
3749         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3750         Clean up pixel positioning of the glyphs. Just use bgy->top and
3751         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3752         to all divisions to get correct rounding behaviour.
3753
3754         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3755         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3756         Moved start_y/end_y flip into draw_drawable implementations.
3757         Flip also x rendering when draw_direction < 0.
3758         Remove unneccesary multiply with draw_direction.
3759
3760 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3761
3762         * docs/tutorial/gtk-tut.sgml:
3763           - get rid of gtk_toggle_button_toggled FUD
3764           - start DND section - needs work - based on:
3765                 http://wolfpack.twu.net/docs/gtkdnd/
3766
3767 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3768
3769         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3770         Correct calculation of font metrics. Now GtkEntrys have sane
3771         size.
3772
3773 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3774
3775         * gdk/gdktypes.h:
3776         Add new type GdkSpan
3777         
3778         * docs/reference/gdk/gdk-sections.txt,
3779         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3780         gdk/gdkregion.h:
3781         Implement and document gdk_region_spans_intersect_foreach.
3782
3783         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3784         Add new file gdkrender-fb.c which contains all core
3785         rendering code.
3786         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3787         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3788         (optimized rectangle fillers).
3789
3790         * gdk/linux-fb/gdkdrawable-fb2.c:
3791         Move all rendering code to gdkrender-fb.c.
3792         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3793         Use the new span intersection functions in gdk_fb_fill_spans.
3794         gdk_fb_draw_rectangle() clips filled rectangles and calls
3795         gc->fill_rectangle with the result.
3796         gdk_fb_fill_spans() gets extra argument "sorted".
3797
3798         * gdk/linux-fb/gdkevents-fb.c:
3799         Remove unused includes and defines.
3800         New function gdk_fb_get_time() to get correct time for events.
3801
3802         * gdk/linux-fb/gdkinput-ps2.c:
3803         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3804         Make sure to set the time of all events.
3805
3806         * gdk/linux-fb/gdkmain-fb.c:
3807         Use gdk_fb_get_time ().
3808
3809         * gdk/linux-fb/gdkprivate-fb.h:
3810         New virtual GC calls: fill_span & fill_rectangle.
3811         Export gdk_fb_get_time().
3812         gdk_fb_fill_spans() gets extra argument "sorted".
3813
3814         * gdk/linux-fb/mi*.c:
3815         Use GdkSpan instead of GdkRectangle.
3816         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3817         from XFree 4 source)
3818         
3819 2000-11-22    <jrb@redhat.com>
3820
3821         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3822         reversing the order in an if statement will do.  Doing so managed
3823         to make the treemodelsort half work.  Other half will follow after
3824         I get the insert function fully fixed.
3825
3826 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3827         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3828         more than 2 bits. Besides, I need to implement an evil hack. :)
3829
3830 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3831
3832         * docs/tutorial/gtk-tut.sgml: minor corrections
3833
3834 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3835         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3836           convert to and from relative path's and iters.
3837
3838         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3839           testing sorting functions a bit better.  Currently broken -- will
3840           fix in morning.
3841
3842 2000-11-20  Havoc Pennington  <hp@redhat.com>
3843
3844         * gtk/gtkwidget.c: Documented a bunch of functions in here
3845         (gtk_widget_realize): Warn if you try to realize
3846         a widget with no parent that isn't a toplevel
3847         (gtk_widget_intersect): return a gboolean
3848
3849 2000-11-20  Havoc Pennington  <hp@redhat.com>
3850
3851         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3852         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3853         scrolling to be implemented in GDK to finish. Also, right now
3854         we just size_allocate all children on every layout change,
3855         which is pretty lame. Test commented out of testtext.c, 
3856         until it works better.
3857
3858 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3859
3860         * gdk/linux-fb/gdkdrawable-fb2.c:
3861         Removed unused arguments from gdk_fb_drawable_get_pixel().
3862
3863         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3864         Renamed fidur specific mouse packet data in MouseDevice to
3865         generic. Used it in ps2 mouse handling code to avoid blocking
3866         reads.
3867
3868 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3869
3870         * demos/gtk-demo/main.c: Changed to have the list become
3871         non-italic when the demo window is destroyed through an external
3872         event (like a close button).  Doing so found three bugs in the
3873         widget.
3874
3875         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3876
3877         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3878         we actually set the cell.
3879
3880         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3881
3882         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3883         free a leaked path.  Thanks memprof.
3884
3885 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3886
3887         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3888         off-by-one error when destroying allocated segments
3889         on failure. (Elliot)
3890
3891 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3892
3893         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3894         memleaks found by Evan Martin.
3895
3896 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3897
3898         * Released 1.3.2
3899         
3900         * NEWS: Updates for 1.3.2
3901
3902 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3903
3904         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3905         but in general for window system specific events.
3906
3907         * gtk/gtk.def
3908         * gtk/makefile.mingw.in
3909         * gtk/makefile.msc.in: Update.
3910         
3911         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3912
3913 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3914
3915         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3916         distribute gtk.immodules.
3917
3918         * gtk/Makefile.am (install-data-local): Don't install the
3919         gtk.immodules file created for the uninstalled modules;
3920         instead run gtk-query-immodules after install
3921
3922 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3923
3924         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3925         -rpath to the right install location.
3926
3927         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3928         -export-dynamic.
3929
3930         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3931         properly.
3932
3933 2000-11-15  Havoc Pennington  <hp@pobox.com>
3934
3935         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3936         patch from Mikael Hermansson to temporarily stop blinking while
3937         the user is using the keyboard to type or navigate. 
3938
3939         Also, when blinking, stay on for longer than we stay off. Also,
3940         return from start_cursor_blink if !cursor_visible, to save
3941         checking that flag all over the place before we call
3942         start_cursor_blink.
3943
3944 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3945
3946         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3947         only contain a "fontset" line, which is now ignored.
3948
3949         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3950         double-click-to-select-word work.
3951         
3952 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3953
3954         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3955         Don't move back one char when we are actually at the end of the 
3956         paragraph.
3957
3958 2000-11-15  Robert Brady  <robert@suse.co.uk>
3959
3960         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3961         'o' < 'p'.
3962         
3963         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3964         bind_textdomain_codeset.
3965
3966         (gtk_init_check): Make the warning about translating default:LTR
3967         sterner.
3968         
3969 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3970
3971         * **/Makefile.am : remove unecessary rules for win32-specific
3972         config-substituted targets. If you want these rules, use
3973         --enable-maintainer-mode (called automatically by autogen.sh).
3974         Stops a lot of unneccessary make-time warnings.
3975
3976         * gtk/gtktext{layout,display}.c: Factor in total width as
3977         well as screen when figuring alignment for word-wrap as well as
3978         no wrap; this is necessary to handle lines that cannot be wrapped
3979         at all.
3980
3981 2000-11-15  Havoc Pennington  <hp@redhat.com>
3982
3983         * gtk/testtext.c: Implement essential color cycling feature
3984
3985 2000-11-15  Havoc Pennington  <hp@redhat.com>
3986
3987         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3988         when we invalidate the main window.
3989
3990         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3991         GtkTextView will now invalidate the side windows for us when text
3992         changes.
3993
3994 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3995
3996         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3997         unconditionally, since we may need to update the horizontal
3998         scrollbars even if the height didn't change.
3999
4000         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4001         the extra attrs, since some of them affect size.
4002
4003         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4004         x_offset correctly.
4005
4006 2000-11-15  Havoc Pennington  <hp@redhat.com>
4007
4008         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4009         don't move the first line out into the margin, instead move the
4010         whole paragraph in order to make space for the first line within 
4011         the margin
4012
4013 2000-11-15  Havoc Pennington  <hp@redhat.com>
4014
4015         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4016         xoffset in addition to yoffset, so horizontal scrolling doesn't
4017         break redraws
4018
4019 2000-11-15  Havoc Pennington  <hp@redhat.com>
4020
4021         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4022         from the cursor
4023         (render_layout_line): fix reversed test that caused weird
4024         underlines to get drawn
4025
4026 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4027
4028         * gdk/linux-fb/gdkprivate-fb.h:
4029         Fix debug macros.
4030         
4031 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4032
4033         * gdk/linux-fb/gdkprivate-fb.h:
4034         Added virtual functions set_pixel, get_color,
4035         fill_span and draw_drawable to the GC.
4036         Added global _gdk_fb_screen_gc to use instead of
4037         NULL when drawing to the screen.
4038         Added _gdk_fb_gc_calc_state() prototype.
4039
4040         * gdk/linux-fb/gdkgc-fb.c:
4041         Call _gdk_fb_gc_calc_state() on any gc state change.
4042
4043         * gdk/linux-fb/gdkglobals-fb.c:
4044         Add _gdk_fb_screen_gc
4045                 
4046         * gdk/linux-fb/gdkdrawable-fb2.c:
4047         _gdk_fb_gc_calc_state() calculates best functions
4048         for the GC state and depth.
4049         Moved bpp specialized code to separate functions.
4050         Added optimized 24 bpp AA draw_drawable.
4051
4052         * gdk/linux-fb/gdkevents-fb.c:
4053         Silence gcc warning.
4054
4055         * gdk/linux-fb/gdkimage-fb.c:
4056         Use _gdk_fb_screen_gc
4057
4058         * gdk/linux-fb/gdkwindow-fb.c:
4059         Init and use _gdk_fb_screen_gc
4060
4061         * gdk/linux-fb/mitypes.h:
4062         Remove unused types.
4063
4064 2000-11-14  Havoc Pennington  <hp@pobox.com>
4065
4066         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4067         to pixels
4068
4069 2000-11-14  Havoc Pennington  <hp@pobox.com>
4070
4071         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4072
4073         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4074         unknown char, no real reason we were using a variable. 
4075         Remove gtk_text_unknown_char variable. Fix all the text widget
4076         files accordingly.
4077
4078         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4079         since the Unicode spec seems to prefer that character for our
4080         purposes.
4081
4082 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4083
4084         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4085         value of g_getenv() isn't freeable, so g_strdup it.
4086
4087         * modules/input/inuktitut.c: Inuktitut input method.
4088
4089         * modules/input/Makefile.am: Build this.
4090         
4091 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4092
4093         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4094         of gtk programs.
4095
4096 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4097
4098         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4099         reversed > that was causing Home to go to end of previous line.
4100
4101         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4102         modified-keypresses (leave for bindings.)
4103
4104         * modules/input/Makefile.am: Remove useless -export-dynamic
4105         from module LDFLAGS.
4106
4107 2000-11-14  Havoc Pennington  <hp@redhat.com>
4108
4109         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4110         higher.
4111
4112         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4113         account. Also, render rise, underline, background, etc. for
4114         pixbufs as well as text. Also, draw underlines one pixel higher.
4115
4116         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4117         PangoAttribute for the rise, so it gets drawn properly. Also,
4118         add the GtkTextAppearance attribute for pixbuf/widget segments
4119         as well; we should go ahead and have rise, underline, background,
4120         stipple work for those
4121
4122         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4123         Pango
4124
4125 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4126
4127         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4128
4129         * gtk/gtk.def: Update.
4130
4131         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4132         included.
4133         (gtk_rc_get_im_module_file): Use run-time installation directory
4134         on Win32.
4135
4136         * gdk/win32/rc/gdk.rc: Remove.
4137         * gdk/win32/rc/gdk.rc.in: New file.
4138         * gdk/win32/rc/Makefile.am: New file
4139         * gdk/win32/Makefile.am: Corresponding changes.
4140
4141         * gtk/gtk.rc: Remove.
4142         * gtk/gtk-win32.rc.in: New file.
4143         * gtk/Makefile.am: Corresponding changes.
4144
4145         * configure.in: Corresponding changes.
4146
4147         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4148         has a built gtkcompat.h. Developers using CVS code on Win32 can
4149         hand-edit it from gtkcompat.h.in.
4150
4151         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4152         gtkcompat.h from gtkcompat.h.win32.
4153
4154 2000-11-14  Havoc Pennington  <hp@redhat.com>
4155
4156         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4157         to default to GDK_ACTION_MOVE if the drag is within a single
4158         widget. Defaults to GDK_ACTION_COPY between widgets.
4159
4160 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4161
4162         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4163
4164         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4165
4166         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4167         srcdir != builddir
4168
4169         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4170
4171         * configure.in (GTK_VERSION): Up to 1.3.2
4172
4173         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4174         gtkimcontextxim.h
4175
4176         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4177         missing doc comment.
4178
4179 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4180
4181         * modules/linux-fb/basic.c:
4182         Use the glib iconv wrappers.
4183
4184 2000-11-13  Havoc Pennington  <hp@pobox.com>
4185
4186         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4187         still more bugs.
4188
4189         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4190         scroll the GdkWindows before realization.
4191
4192 2000-11-13  Havoc Pennington  <hp@redhat.com>
4193
4194         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4195         where GC didn't always get updated properly
4196
4197         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4198         of fonts instead of setting the entire font
4199
4200         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4201         setting entire font
4202
4203         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4204
4205         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4206         a bunch of individually-settable font attributes. You can still 
4207         use the "font" and "font_desc" args, they just set all the font
4208         attributes at once.
4209
4210 2000-11-13 Elliot Lee <sopwith@redhat.com>
4211
4212         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4213
4214 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4215
4216         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4217         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4218
4219         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4220         work better.
4221
4222 2000-11-13  Havoc Pennington  <hp@redhat.com>
4223
4224         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4225         the module file.
4226
4227         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4228         dest->language
4229
4230         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4231         settings
4232
4233         * gtk/gtktextview.c: Implement object args and setters/getters for
4234         all the aspects of the GtkTextAttributes that are not set from
4235         GtkWidget attributes. This is spacing, justification, margins,
4236         etc.
4237
4238         (gtk_text_view_set_arg)
4239         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4240         args
4241         (gtk_text_view_class_init): Add args for justify, left_margin,
4242         right_margin, indent, and tabs
4243         
4244
4245         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4246         attribute properly
4247
4248         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4249         replace with indent attribute
4250
4251         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4252         PANGO_SCALE
4253
4254         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4255         rearranging code to do that
4256         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4257         i.e. don't subtract the top_margin first, just to keep
4258         all margin-futzing in one place.
4259
4260         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4261
4262         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4263         special case of last line, Pango now handles this itself.
4264         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4265         Y coordinate
4266         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4267         (find_display_line_above): wasn't moving the byte index as it
4268         iterated over lines, so always returned byte 0. Also, port to use
4269         PangoLayoutIter.
4270         (find_display_line_below): same problem as
4271         find_display_line_above. Also, port to use PangoLayoutIter.
4272
4273 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4274
4275         * gdk/linux-fb/*.[ch]:
4276         Massive reindent to gtk+ standard. My hands hurt.
4277
4278         * gdk/linux-fb/gdkcolor-fb.c:
4279         Move GdkColorPrivateFB from inherited to windowing_data
4280
4281         * gdk/linux-fb/gdkcursor-fb.c:
4282         _gdk_cursor_new_from_pixmap made static
4283
4284         * gdk/linux-fb/gdkdnd-fb.c:
4285         GdkDragContextPrivate moved to windowing_data
4286
4287         * gdk/linux-fb/gdkdrawable-fb2.c:
4288         Removed endian.h, use glib endianness macros instead
4289         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4290         and GDK_DRAWABLE_IMPL_FBDATA
4291
4292         * gdk/linux-fb/gdkfont-fb.c:
4293         Add empty gdk_font_load(). Needed for linking of Gtk+.
4294
4295         * gdk/linux-fb/gdkimage-fb.c:
4296         Removed endian.h, use glib endianness macros instead
4297         Moved GdkImagePrivateFB to windowing_data
4298         gdk_image_new_bitmap didn't always allocate enough
4299         memory.
4300
4301         * gdk/linux-fb/gdkinput-ps2.c:
4302         Added semi-working support for MS serial mice.
4303
4304         * gdk/linux-fb/gdkprivate-fb.h:
4305         s/GdkWindowPrivate/GdkWindowObject/
4306         Removed GdkWindowPrivate typedef
4307         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4308         Removed GDK_DRAWABLE_P
4309         Move GdkColorPrivateFB from inherited to windowing_data
4310         Moved GdkImagePrivateFB to windowing_data
4311
4312         * gdk/linux-fb/gdkvisual-fb.c:
4313         Removed some unused debug code.
4314
4315         * gdk/linux-fb/gdkwindow-fb.c:
4316         Use stock cursors instead of including X headers.
4317         s/GdkWindowPrivate/GdkWindowObject/
4318
4319         * gdk/linux-fb/mitypes.h:
4320         Removed unused types.
4321
4322         * modules/linux-fb/basic.c:
4323         Use the pango fribidi wrappers.
4324
4325 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4326
4327         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4328         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4329         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4330         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4331         GEqualFunc where applicable.
4332         
4333         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4334         pango_font_description_equal as changed in pango.
4335         
4336         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4337
4338         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4339
4340         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4341
4342         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4343
4344         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4345
4346         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4347
4348         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4349         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4350
4351         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4352         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4353
4354 2000-11-12  Havoc Pennington  <hp@pobox.com>
4355
4356         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4357         dir to datadir/gtk+-2.0/demo
4358
4359         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4360         sorts of text widget and Pango font bugs. Urgh.
4361
4362         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4363
4364         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4365         tree that you should double click to see the demo. Fix 
4366         types of variables to reflect changed return values from 
4367         GtkTreeStore and GtkTreeViewColumn constructors.
4368
4369         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4370         newly-created buffer to prepare for GObject semantics
4371
4372         * gtk/testtext.c: don't leak the buffer with GObject semantics
4373
4374         * gtk/testtextbuffer.c: ditto
4375         
4376 2000-11-12  Havoc Pennington  <hp@pobox.com>
4377
4378         Rename this testgtk to gtk-demo to avoid confusion, and 
4379         install it so people can use it as a supplement to 
4380         the documentation.
4381         
4382         * demos/gtk-demo: Moved from demos/testgtk
4383
4384         * demos/testgtk: Removed
4385
4386         * configure.in: make Makefile in gtk-demo
4387         
4388         * demos/gtk-demo/Makefile.am: Install sample source to 
4389         datadir/gtk-demo (maybe there's a better place?), and 
4390         rename the binary to gtk-demo
4391         
4392         * demos/gtk-demo/main.c (load_file): Load installed sample
4393         source if source isn't found in pwd.
4394
4395 2000-11-09  Havoc Pennington  <hp@pobox.com>
4396
4397         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4398         argument to set the char displayed when visibility == FALSE
4399         (gtk_entry_create_layout): If !entry->visible, replace 
4400         all chars with the "invisible char"
4401
4402         * gtk/testgtk.c: Test the invisible_char deal
4403         
4404 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4405
4406         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4407         can't get a native font in the right encoding.
4408
4409 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4410
4411         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4412         respectively.
4413
4414 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4415
4416         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4417         Fix warning when moving between paragraphs.
4418
4419         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4420         delete => delete_from_cursor, insert => insert_at_cursor
4421
4422 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4423
4424         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4425
4426         * modules/input/imthai-broken.c: A Thai input method for use if
4427         Thai keys are really generating Latin1 keysyms.
4428
4429         * modules/input/Makefile.am: Build these.
4430
4431 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4432
4433         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4434         g_filename_{to,from}_utf8 now takes an extra parameter.
4435
4436         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4437         strftime into UTF-8.
4438
4439         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4440         calendars.
4441
4442         (gtk_calendar_paint_day_names): Draw day names in the right 
4443         place.
4444         
4445 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4446
4447         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4448         problem with using result of g_get_charset() backwards -
4449         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4450
4451         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4452         negative min_width/height and max_width/height to
4453         mean "requisition"; this allows setting a window
4454         to be user-resizable in only one direction easily.
4455
4456         * gtk/testgtk.c (create_main_window): Remove hard-coded
4457         usize - set a default size in the vertical direction.
4458
4459 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4460
4461         * gtk/gtkrange.c: Add some missing casts. Support 
4462         2 and 3 button clicks on the arrows to mean 
4463         "move by pages" and "jump to end". (Like gtkspinbutton)
4464
4465 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4466
4467         * gdk/win32/makefile.msc : reflect build module changes
4468
4469         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4470         from GdkPixmap*, cast implementation member instead.
4471
4472         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4473         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4474         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4475         more Gdi functions return value checking. 
4476         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4477         GdkImagePrivateWin32 *.
4478
4479         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4480         menus useable again. Add #pragma message to keep reminded on this issue.
4481         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4482         windows. This allows to enable backing store on Win32!
4483
4484         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4485         in drawable is of impl type. Correct specific type checks appropriate.
4486  
4487         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4488         GDK_WINDOW_DESTROYED before allocating new resources.
4489
4490         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4491
4492         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4493         (gdk_window_foreign_new) initialize parent handle.
4494         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4495
4496         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4497         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4498         problems (e.g. main buttons in testgtk). 
4499
4500 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4501
4502         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4503         gtk_widget_activate for GDK_Return.
4504
4505         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4506         of preedit cursor position.
4507
4508 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4509
4510         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4511         static.
4512
4513 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4514
4515         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4516         out support for multiple locales; that simple doesn't
4517         work reliably with current Xlib
4518
4519         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4520         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4521         Add support for positioning the cursor within the preedit string.
4522
4523 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4524
4525         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4526         at XIM input method module.
4527
4528         * gtk/gtktextview.c: Check for bindings after passing
4529         events to im context filter.
4530
4531 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4532
4533         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4534         empty attribute lists properly.
4535
4536 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4537
4538         * gtk/queryimmodules.c (main): Return non-zero exit
4539         status if errors were encountered querying any
4540         modules.
4541
4542         * modules/input/Makefile.am (moduledir): remove
4543         leftover bin program target.
4544
4545         * docs/make-todo: Fix typo in error message.
4546
4547 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4548
4549         * configure.in: Add modules/input/Makefile
4550
4551 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4552
4553         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4554         don't include gtkthemes.h.
4555
4556         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4557         to point
4558
4559         * gtk/Makefile.am: Add new .c and .h files, build 
4560         gtk-query-immodules and use it to create a gtk.immodules
4561         file for use of test programs.
4562
4563         * gtk/gtkpreview.c: remove extra blank line.
4564
4565 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4566
4567         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4568         Add the ability to add extra tables beyond the default
4569         one, and also the ability to have compose sequences 
4570         that are prefixes of other compose sequences. 
4571
4572         * gtk/gtkimcontextsimple.c: Export a preedit string which
4573         consists of possible candidates for keystrokes that have
4574         been entered but not yet committed.
4575
4576         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4577         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4578
4579         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4580         Add a function to add input-method switching menu items
4581         to a menu.
4582
4583         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4584         when switching input methods.
4585
4586         * gtk/gtkimcontextsimple.[ch]: Change the format of
4587         the compose table to allow compose tables of different
4588         lengths / sequence.
4589
4590 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4591
4592         * gtk/gtkimmodule.[ch]: Support routines for loading
4593         GtkIMContext implementations dynamically at runtime.
4594
4595         * modules/input/imcyrillic-translit.c: A sample input
4596         method (based on GtkIMContextSimple with an extra table),
4597         which demonstrates preedit strings and the module
4598         system for input modules
4599
4600         * gtk/queryimmodules.c: Program to query the available
4601         input modules and write the results into a file.
4602          
4603         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4604         extra config options "im_module_file" (cache file for
4605         input method modules), and "im_module_path" - path
4606         to look for modules when generating cache file.
4607
4608         This doesn't scale.
4609
4610 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4611
4612         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4613         generic code from gtkthemes into a new abstraction
4614         GtkModule which has the logic for implementing
4615         a loadable module which implements a number of 
4616         GObject types.
4617
4618 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4619
4620         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4621         a class into an interface  
4622         
4623         * gtk/gtkoldeditable.[ch]: Move the old editable
4624         implementation into here, so legacy widgets can
4625         still rely on the implemenation. GtkOldEditable
4626         exports GtkEditable. Make selection handling
4627         code use new text conversion functions (and
4628         handle UTF-8 as a side-effect). Use GtkClipboard
4629         for CLIPBOARD.
4630
4631         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4632         Adopt to match above changes.
4633
4634         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4635         avoid GtkOldEditable implementation. Restructure
4636         to reduce number of places that modify state directly.
4637         Move to GtkBindingSet. Display the preedit string.
4638         Queue recomputation of PangoLayout and scroll position
4639         to improve effiency of doing complex changes naively.
4640         Add a menu with cut/copy/paste and input method selection.
4641
4642 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4643
4644         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4645         to set preedit string and attributes; display preedit string by
4646         inserting string and attributes at cursor when creating the
4647         GtkTextLineDisplay.
4648
4649         * gtk/gtktextlayout.c: Move all conversions between byte
4650         positions in PangoLayout and GtkTextIter into new functions
4651         line_display_iter_to_index/index_to_iter that properly
4652         handle the preedit string.
4653
4654         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4655         it to return const char * (eventually will end up
4656         as GCONST char *, most likely.)
4657
4658         * gtk/gtktextview.[ch]: Handle the preedit string, call
4659         gtk_im_context_reset() as necessary, add a menu to switch
4660         input methods.
4661         
4662         * gtk/gtktextlayout.[ch]: Remove useless
4663         gtk_text_layout_get_log_attrs() function.
4664
4665 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4666
4667         * gdk/gdk.def
4668         * gtk/gtk.def: Update.
4669
4670         * gdk/win32/*.c: Add last argument to g_type_register_static()
4671         calls.
4672
4673         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4674
4675         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4676         generated by older wheel mouse drivers. Get the correct y
4677         coordinate from WM_MOUSEWHEEL messages.
4678
4679         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4680         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4681         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4682         Debugging functions.
4683
4684         * gdk/win32/gdkprivate-win32.h: Declare them.
4685
4686         * gdk/win32/gdkinput-win32.h: Add declaration for
4687         gdk_input_window_destroy().
4688
4689         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4690
4691 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4692
4693         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4694         function to help handle keeping things in sync.
4695
4696 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4697
4698         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4699         BOXED marshallers.
4700
4701         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4702         (gtk_list_store_class_init): use the new BOXED marshallers.
4703
4704         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4705         new_with_values to new_with_types.
4706         (gtk_tree_store_get_column_type): add this.
4707         (gtk_tree_store_class_init): use the new BOXED marshallers.
4708
4709         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4710         mirror some POINTER marshallers.
4711
4712 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4713
4714         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4715         allow more interesting iterators.  Also, made the lifecycle of
4716         iterators more explicit.
4717
4718         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4719
4720         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4721         types.
4722
4723 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4724
4725         * demos/testgtk/menus.c:
4726         Changes to make the new testgtk compile after
4727         gtk_menu_append was removed.
4728
4729         * gdk/linux-fb/gdkdrawable-fb2.c
4730         (gdk_fb_get_depth, gdk_fb_get_visual,
4731         gdk_drawable_impl_fb_class_init): Implement
4732         these drawable functions. Now GtkImages work again.
4733
4734         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4735
4736         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4737         
4738         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4739         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4740         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4741         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4742
4743 2000-11-08  Havoc Pennington  <hp@pobox.com>
4744
4745         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4746         visible_set args, don't know where these had gone, I thought they
4747         used to be there
4748
4749         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4750         now we can test the feature and see that it's totally broken.
4751
4752 2000-11-08  Havoc Pennington  <hp@pobox.com>
4753
4754         Make DND copy pixbufs and tags when source and target share a 
4755         tag table.
4756         
4757         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4758         in-process GTK_TEXT_BUFFER_CONTENTS target
4759         (gtk_text_view_drag_data_received): Paste from
4760         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4761
4762 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4763
4764         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4765         API changes.
4766
4767         * gtk/gtkmenu.c: Add support for scrolling menus.
4768         Remove gtk_menu_append/prepend/insert, these have been moved to
4769         gtkcompat.h as #defines.
4770
4771         * gtk/gtkcompat.h.in:
4772         Add compatibility #defines for gtk_menu_append/prepend/insert
4773
4774         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4775         GtkMenuPositionFunc gets an extra argument push_in.
4776         gtk_menu_append/prepend/insert removed.
4777         
4778         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4779         positioning behaviour to fit to scrolling menus.
4780
4781         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4782         into menuitem->submeny. That is wrong, and broke torn
4783         off submenus of torn off menus, since they were unrealized
4784         when the first menu was unrealized.
4785
4786         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4787         gtk_menu_shell_select_item() since these need to be overridden in
4788         GtkMenu.
4789
4790         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4791         positioning behaviour to fit to scrolling menus.
4792         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4793         the current item so that it is prelighted when the menu pops up.
4794         This is a workaround to the fact that the menu doesn't get the
4795         initial enter event (due to grabs).
4796
4797         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4798         s/gtk_menu_append/gtk_menu_shell_append/
4799
4800         * gtk/gtknotebook.c:
4801         s/gtk_menu_insert/gtk_menu_shell_insert/
4802
4803         * gtk/testgtk.c (create_menu, create_menus):
4804         Create the first menu with 50 items so that menu scrolling
4805         can be tested.
4806         
4807         
4808         Patch from Jonathan Blandford  <jrb@redhat.com>
4809
4810         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4811         system to handle size requests.  First, we ask what the size of
4812         the toggle is.  Then, when allocating the size, we allocate the
4813         toggle_size first.  This way we can have multiple menu-item
4814         classes w/o needing a seperate class for each.
4815
4816         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4817         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4818
4819         * gtk/gtkcheckmenuitem.c
4820         (gtk_check_menu_item_toggle_size_request): New function to handle
4821         the toggle size-request.
4822
4823 2000-11-07  Havoc Pennington  <hp@redhat.com>
4824
4825         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4826         Half-ass somewhat fix this function, so that scrolling to the
4827         insertion point works. Pango hacking is in the future to really
4828         fix it.
4829
4830         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4831         length of data, no longer used.
4832
4833         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4834         method contents in here, get rid of destroy method
4835         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4836         that were backward. Remove debug spew.
4837         (cut_or_copy): Make the clipboard work with insert_range to
4838         preserve tags and pixbufs, not just the primary selection.
4839
4840 2000-11-07  Havoc Pennington  <hp@redhat.com>
4841
4842         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4843         to gtk_text_mark_get_visible
4844
4845         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4846         bug that was generating an invalid iterator
4847
4848         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4849         ensure_char_offsets() in front of code placing the iter in an
4850         invalid state.
4851
4852         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4853         make override_location arg const
4854         (paste): Replace the selection if we paste into the 
4855         current selection
4856
4857         * gtk/gtkselection.h: Remove "GtkSelectioData"
4858         (struct _GtkSelectionData): move the definition here.
4859
4860         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4861         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4862
4863         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4864
4865         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4866         (gtk_text_buffer_insert_range_interactive): implement
4867         (gtk_text_buffer_get_tags): Remove, replaced by
4868         gtk_text_iter_get_tags()
4869
4870         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4871         limit parameter, to avoid infinite linear scan.
4872         (gtk_text_iter_backward_search): Add search limit
4873         (gtk_text_iter_forward_find_char): Add search limit
4874         (gtk_text_iter_backward_find_char): Add search limit
4875
4876 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4877
4878         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4879         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4880         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4881         gdk/linux-fb/gdkwindow-fb.c:
4882         use g_object_new() instead of g_type_create_instance() which
4883         is a private function for fundamental type implementations.
4884
4885         * gdk/linux-fb/gdkinput-ps2.c:
4886         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4887         instead just store the current modifier state. Add a (somewhat broken)
4888         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4889         Rename exported function gdk_input_ps2_get_mouseinfo to
4890         gdk_input_get_mouseinfo.
4891
4892         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4893         gdk/linux-fb/gdkwindow-fb.c:
4894         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4895         
4896
4897 2000-11-02  Havoc Pennington  <hp@redhat.com>
4898
4899         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4900         use stock buttons. Should be 100% source compatible, appropriate
4901         filesel fields now point to dialog->vbox and dialog->action_area.
4902         On the bizarre side, dialog->action_area and filesel->action_area
4903         are not the same widget.
4904         (gtk_file_selection_init): Put some padding around the selection
4905         entry, so it isn't touching the GtkDialog separator.    
4906
4907         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4908         use stock buttons, etc. Should also be source compatible.
4909         Set the dialog default title in _init not _new().
4910         
4911         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4912         Use stock buttons; don't put a button box inside the existing
4913         dialog button box. Don't bother with push/pop colormap anymore.
4914
4915         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4916         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4917         for message dialog, and necessary for the font selection and color
4918         selection with help and apply buttons.
4919         
4920         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4921         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4922         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4923         between buttons, put less padding around the action area.
4924         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4925         This will also exit the loop if the widget is hidden.
4926         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4927         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4928         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4929         special-case delete event.
4930
4931         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4932         formatting
4933         
4934 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4935
4936         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4937         button to temporarily disable position recording in the
4938         "saved position" test.
4939
4940 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4941
4942         * gtk/gtkthemes.c: added compat code that temporarily implements
4943         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4944         going to be revamped by owen's upcoming GtkModule patches, but
4945         untill then people want gtk to build, right? ;)
4946
4947 2000-11-04  Havoc Pennington  <hp@pobox.com>
4948
4949         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4950         list
4951
4952         * docs/Changes-2.0.txt: Add note about
4953         gtk_container_get_toplevels()
4954
4955         * gtk/gtktextview.h: formatting
4956         
4957         * gtk/gtktextview.c: don't start descriptions with "Returns",
4958         confuses gtk-doc
4959
4960 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4961
4962         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4963         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4964
4965 2000-11-03  Havoc Pennington  <hp@redhat.com>
4966
4967         * gtk/gtktexttagtable.c: Docs
4968         (gtk_text_tag_table_size): return a signed int
4969
4970         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4971         (gtk_text_tag_event): make the event_object a GObject
4972
4973         * gtk/gtktextview.c: Write API docs for all functions.
4974
4975         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4976         for gtk_text_view_get_window_type() called on one of the private
4977         windows.
4978
4979         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4980         directly, call get_buffer() which demand-creates a default
4981         buffer. So gtk_text_view_new() can be used to create a view with a
4982         default buffer in it, if you just want an empty text box users can
4983         put data in. Useful for GUI builders also.
4984
4985 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4986
4987         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4988         the charset encodign portion MUST be in lowercase.
4989         * gtk/gtkrc.az: added file for Azeri language
4990
4991 2000-11-03  Havoc Pennington  <hp@redhat.com>
4992
4993         Get widgets working on the btree/buffer side. Display of them 
4994         still doesn't work.
4995         
4996         * gtk/gtktextview.c: start implementing child widget stuff
4997
4998         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4999
5000         * gtk/gtktextlayout.c: handle embedded widgets
5001
5002         * gtk/gtktextdisplay.c: handle embedded widgets
5003
5004         * gtk/gtktextchild.c: Implement all the child anchor goo
5005
5006         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5007         function
5008
5009         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5010         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5011         creating a child anchor or a pixbuf segment.
5012         (gtk_text_btree_create_child_anchor): new function
5013         (gtk_text_btree_unregister_child_anchor): new function
5014
5015         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5016         allocate_child signal on GtkTextLayout
5017
5018         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5019         values
5020         (gtk_text_iter_get_child_anchor): new function
5021
5022         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5023         default handler for the changed signal, which calls
5024         gtk_text_buffer_set_modified(), instead of just always emitting
5025         changed then calling set_modified() manually. I guess this is
5026         maybe more flexible. It seems logical.
5027
5028 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5029
5030         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5031         now.
5032
5033         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5034
5035 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5036
5037         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5038         been marked static.
5039
5040 2000-11-02  Havoc Pennington  <hp@redhat.com>
5041
5042         * gtk/testgtk.c (create_labels): had a test backward
5043
5044         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5045         fields, so the dest GC ends up with the correct clip origin, 
5046         etc. Fixes a bug where colored labels didn't redraw 
5047         properly.
5048
5049 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5050
5051         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5052         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5053         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5054         Add last argument to t_type_register_static call.
5055         
5056         * gdk/linux-fb/gdkdrawable-fb2.c:
5057         Add last argument to t_type_register_static call.
5058         export the get_image drawable virtual function.
5059
5060         * gdk/linux-fb/gdkimage-fb.c:
5061         Add last argument to t_type_register_static call.
5062         rename gtk_image_get to _gdk_fb_get_image and
5063         export it for use by gdkdrawable-fb2.
5064
5065         * gdk/linux-fb/gdkprivate-fb.h:
5066         export _gdk_fb_get_image.
5067
5068         * gdk/linux-fb/gdkselection-fb.c:
5069         Add new api call stubs.
5070
5071         * gtk/Makefile.am:
5072         Missing ( in linux-fb part.
5073
5074         * modules/linux-fb/Makefile.am:
5075         Must link with gdk_pixbuf or get unresolved symbol.
5076
5077 2000-11-01  Havoc Pennington  <hp@pobox.com>
5078
5079         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5080         GTK_TYPE_TEXT_ITER and BOXED marshallers
5081
5082         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5083
5084         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5085         
5086         * gtk/gtk-boxed.defs: add GtkTextIter
5087
5088         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5089         properly use OBJECT and BOXED
5090
5091 2000-11-01  Havoc Pennington  <hp@redhat.com>
5092
5093         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5094
5095         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5096         before returning it. 
5097         
5098 2000-11-01  Havoc Pennington  <hp@redhat.com>
5099
5100         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5101         Clip the rectangle to be rendered to the drawable, since
5102         get_from_drawable() requires a region within the drawable
5103
5104 2000-11-01  Havoc Pennington  <hp@redhat.com>
5105
5106         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5107         from coordinates.
5108
5109 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5110
5111         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5112         it isn't NULL.
5113
5114 2000-11-01  Havoc Pennington  <hp@pobox.com>
5115
5116         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5117         on a label
5118         (gtk_label_finalize): unref the attr list if any.
5119
5120         * gtk/testgtk.c (create_get_image): close test on second click
5121         (make_message_dialog): close dialog if it exists
5122
5123         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5124
5125         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5126         gdk-pixbuf
5127
5128         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5129         from Pango markup format
5130         (gtk_label_set_markup_with_accel): ditto but with accelerator
5131         parsing
5132
5133         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5134
5135         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5136         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5137         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5138         call gdk_window_get_origin().
5139
5140         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5141         implement GDK_PIXBUF_ALPHA_FULL
5142         
5143 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5144
5145         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5146         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5147         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5148         multiple handlers respectively, instead of only treating the
5149         first handler found (bug reported by owen).
5150
5151 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5152
5153         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5154
5155         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5156
5157         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5158         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5159         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5160
5161         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5162         widget.  Needs writing someday.
5163
5164         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5165         the docs.
5166
5167 2000-10-30  Havoc Pennington  <hp@redhat.com>
5168
5169         * gtk/gtktextview.h, gtk/gtktextview.c:
5170         Rename delete_at_cursor delete_from_cursor, and 
5171         move to move_cursor.
5172
5173 2000-10-30  Havoc Pennington  <hp@redhat.com>
5174
5175         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5176         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5177         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5178         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5179         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5180         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5181         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5182         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5183         gtktexttypes.h, gtktextview.c, gtktextview.h:
5184
5185         Massive reindentation and reformatting. Arg alignment and comments
5186         still need fixing in various places.
5187
5188 2000-10-30  Havoc Pennington  <hp@redhat.com>
5189
5190         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5191         to be named insert_at_cursor and delete_at_cursor so C++ can
5192         handle them.
5193
5194 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5195
5196         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5197         to get a double directory separator in case the home directory
5198         ends with one. This would cause trouble especially on Windows,
5199         where the path will be confused with the syntax for an an UNC
5200         (network share) path \\server\share\path.
5201         (gtk_rc_add_initial_default_files): Ditto.
5202
5203 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5204
5205         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5206
5207         * gtk/gtktextview.c: Use correct marshallers.
5208
5209 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5210
5211         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5212         use new iter stuff, and added all the appropriate signals et al.
5213
5214         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5215         code is internal to gtk only.
5216
5217 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5218
5219         * gtk/gtk.def
5220         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5221         glib-genmarshal etc.
5222
5223 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5224
5225         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5226         parallel builds.
5227
5228 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5229
5230         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5231
5232 2000-10-27  Robert Brady  <robert@suse.co.uk>
5233
5234         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5235         en_GB (British), ia (Interlingua).
5236
5237 2000-10-26  Havoc Pennington  <hp@redhat.com>
5238
5239         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5240
5241         Fixed output of:
5242         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5243         
5244         * gtk/gtktextsegment.c (char_segment_new): rename
5245         (_char_segment_new_from_two_strings): rename
5246         (_toggle_segment_new): rename
5247         
5248         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5249         (make_clipboard_widget): make it static
5250         (text_get_func): static
5251         (text_clear_func): static
5252
5253         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5254         static
5255         (hex_changed): make it static
5256         (hsv_changed): make it static
5257         (opacity_entry_changed): make it static
5258
5259         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5260         (toggle_segment_check_func): rename with _gtk
5261
5262         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5263         (_widget_segment_new): rename
5264         (_widget_segment_add): rename
5265         (_widget_segment_remove): rename
5266         (_widget_segment_ref): rename
5267         (_widget_segment_unref): rename
5268
5269         * gtk/gtktextmark.c (_mark_segment_new): Rename
5270         _gtk_mark_segment_new   
5271
5272 2000-10-26  Havoc Pennington  <hp@redhat.com>
5273
5274         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5275         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5276         types
5277
5278         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5279         marshaller types
5280
5281         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5282         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5283         license on these files.
5284
5285         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5286         work.
5287
5288         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5289         runtime random number different for each tree, instead of 
5290         a constant I made up.
5291
5292 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5293
5294         * gtk/Makefile.am: buncha cleanups, kludged build sources
5295         dependencies with a Makefile: oldest-source-stamp dependancy
5296         for the moment. automake is really fighting us here, with
5297         intentionally not allowing user-defined rules or dependancies
5298         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5299
5300         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5301         to public headers. tehy have a comment stating that they are
5302         "semi-public" aren't included by gtk.h and if enums popup there,
5303         they can be /*< skip >*/-ed.
5304
5305         * gtk/gtktextlayout.h: 
5306         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5307         added LGPL... <SIGH>
5308
5309 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5310
5311         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5312         GtkTreeIter.  Added iterators everywhere.
5313
5314         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5315
5316         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5317
5318         * gtk/gtktreestore.c: Changed to use the iterators.
5319
5320         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5321         iterators tomorrow.
5322
5323         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5324         iterators tomorrow.
5325
5326         * gtk/treestoretest.c: Changed to use iterators.
5327
5328         * demos/testgtk/main.c: Moved to use the new iterator system.
5329
5330 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5331
5332         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5333         localization misbehaviour.
5334
5335         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5336         a useless type without copy/free.
5337
5338         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5339         of GTK_TYPE_CTREE_NODE.
5340
5341 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5342
5343         * gtk/gtksignal.c:
5344         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5345         applicable.
5346
5347         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5348         gtk_selection_data_copy and gtk_selection_data_free
5349         do GtkSelectionData work as params in signals.
5350
5351 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5352
5353         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5354         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5355         couldn't they at least give it a non-standard name?
5356         
5357         * gtk/gtktextlayout.c: arg! yet another implementation of
5358         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5359
5360         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5361         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5362         home. now i know this _is_ a conspiracy.
5363
5364         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5365         ::state-changed.
5366
5367         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5368         (gtk_accel_group_create_add): marshaller signature fixups.
5369
5370         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5371         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5372
5373         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5374         anymore.
5375
5376 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5377
5378         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5379         due to the signal system changes, it wouldn't build currently. to
5380         be fixed soon.
5381
5382         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5383
5384         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5385         so it needs gtk_marshal_VOID__ENUM() instead of
5386         gtk_marshal_NONE__UINT().
5387
5388         * gdk/gdk*.c: adapted type registration functions.
5389
5390         * gtk/gtkbindings.c:
5391         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5392         gone.
5393
5394         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5395
5396         * gtk/gtkobject.c:
5397         (gtk_object_destroy):
5398         (gtk_object_shutdown): fixed recursion guards. basically we have to
5399         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5400         is called during ::destroy, and avoid recursion there.
5401
5402         * gtk/gtktypeutils.c:
5403         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5404         boxed_copy/boxed_free. this needs a more general solution based on a
5405         publically installed code-generator utility.
5406
5407         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5408         glib's gobject has support for that now.
5409         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5410
5411 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5412
5413         * gtk/gtksignal.[hc]:
5414         * gtk/gtkmarshal.[hc]:
5415         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5416         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5417         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5418         care of that.
5419
5420         * *.c: marshaller name fixups.
5421
5422         * gtk/gtkmarshal.list: added a comment briefing the format.
5423
5424 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5425
5426         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5427         compatibility macros here now. more specifically, most of
5428         the API is preserved (yes, _most_, nonwithstanding the
5429         following exceptions listed, the API is stil lHUGE ;)
5430         things that got removed completely:
5431         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5432         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5433         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5434         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5435         gtk_signal_remove_emission_hook().
5436         non-functional functions variants:
5437         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5438         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5439         not supported anymore.
5440         (gtk_signal_compat_matched): new internal function to aid
5441         implementation of the compatibility macros, it  provides
5442         functionality to block/unblock/disconnect handlers based
5443         on func/data.
5444
5445         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5446
5447         * *.c: adaptions to new type registration API signatures.
5448
5449 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5450
5451         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5452
5453 2000-10-25  Robert Brady  <robert@suse.co.uk>
5454
5455         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5456         gdk_property_delete): If window == NULL, assume the root window.
5457         (restoring the behaviour that was in 1.2).
5458         
5459         * gtk/testtext.c (save_buffer): Allow creation of new files when
5460         saving.
5461
5462         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5463         calls to read().
5464
5465 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5466
5467         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5468
5469         * gdk/win32/gdkdrawable-win32.c
5470         * gdk/win32/gdkimage-win32.c
5471         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5472         X11 backend.
5473
5474         * gdk/win32/gdkcc-win32.c
5475         * gdk/win32/gdkcolor-win32.c
5476         * gdk/win32/gdkfont-win32.c
5477         * gdk/win32/gdkinput-win32.c
5478         * gdk/win32/gdkmain-win32.c
5479         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5480
5481 2000-10-24  Havoc Pennington  <hp@redhat.com>
5482
5483         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5484         it a static function
5485
5486         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5487         redraw text when a tag is applied to it.
5488
5489         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5490         (gtk_text_tag_affects_nonsize_appearance): private functions to
5491         see if a tag requires various kinds of redraw/layout to be queued
5492         up.
5493
5494         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5495
5496         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5497         at the start of the buffer, so search works by default
5498
5499         * gtk/gtktextiter.c (lines_match): init match_start always
5500
5501         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5502         function, get iter at a line + a byte index
5503
5504         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5505         to set byte position within a line
5506         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5507
5508 2000-10-23  Havoc Pennington  <hp@redhat.com>
5509
5510         * gtk/testtext.c: Re-enable the "find" dialog
5511
5512         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5513         
5514         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5515         the arguments to gdk_draw_drawable were in the wrong order
5516         (gdk_window_paint_init_bg): This function was ignoring the
5517         init_region, instead of clipping to it, so the entire backing
5518         pixmap was cleared on every begin_paint()
5519         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5520         was in here again, the loop kept using the same GtkWindowPaint
5521         over and over.
5522         (gdk_window_begin_paint_region): Fix a bug where we had two
5523         x_offset instead of x_offset and y_offset
5524
5525         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5526         before we get the image.
5527         (gdk_draw_drawable): get the composite before we draw the drawable.
5528         (gdk_drawable_real_get_composite_drawable): default
5529         get_composite_drawable implementation that returns the drawable 
5530         itself
5531
5532         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5533         get_composite_drawable virtual function
5534
5535         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5536         list-walking bug
5537
5538         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5539         make this work if the source drawable is a GdkDrawableImplX11
5540         instead of a public drawable type. This is really broken; the
5541         problem is that GdkDrawable needs a virtual method get_xid(), but
5542         of course that doesn't work in practice. Enter RTTI.
5543
5544         Also, improve mismatched depth message.
5545
5546         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5547         GdkPixmap
5548
5549         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5550         install _gdk_x11_get_image as our implementation of get_image
5551         
5552         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5553         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5554
5555         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5556         gdk_drawable_get_image
5557
5558         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5559
5560         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5561         get_image
5562
5563         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5564         trailing semicolon after for loop
5565
5566 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5567
5568         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5569         where font_desc for widget's context lagged widget's font_desc by
5570         one step.
5571
5572 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5573
5574         * gdk/win32/gdkgc-win32.c
5575         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5576
5577         * gtk/makefile.mingw.in
5578         * gtk/gtk.def: Updates.
5579
5580         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5581         library.
5582
5583         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5584
5585         * gtk/makefile.msc: Remove
5586
5587         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5588
5589         * gtk/Makefile.am: Add it.
5590
5591         * configure.in: Generate it.
5592
5593         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5594         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5595         something even if not implemented, to satisfy picky MSVC.
5596
5597         Patches by Hans Breuer:
5598         
5599         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5600         SetBkMode() and SetTextAlign() before calling
5601         pango_win32_render().
5602
5603         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5604         Set hcliprgn to NULL after destroying it.
5605         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5606
5607         * gdk/win32/gdkgeometry-win32.c
5608         (_gdk_windowing_window_queue_antiexpose): More effective
5609         implementation.
5610
5611         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5612         depth as default, not the visual's.
5613
5614         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5615         against empty title.
5616
5617         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5618         IMAGE_PRIVATE_DATA.
5619
5620         * gdk/win32/gdkimage-win32.c: Use it.
5621
5622 2000-10-22  Robert Brady  <robert@suse.co.uk>
5623
5624         * configure.in: Check for bind_textdomain_codeset
5625
5626         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5627         present, make use of it.
5628
5629         Add a translatable string "default:LTR" which, if translated
5630         to "default:RTL", will cause the default direction to be
5631         Right-to-Left.
5632
5633         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5634         direction if marked as flippable.
5635
5636         * gtk/gtkhscale.c: Mark widget as flippable.
5637         
5638 2000-10-04  Havoc Pennington  <hp@redhat.com>
5639
5640         * gtk/testgtk.c (create_buttons): create some stock buttons
5641         with the default accel group
5642         (create_image): test some new GtkImage features
5643         (make_message_dialog): test GtkMessageDialog
5644         (create_modal_window): fix someone's bizzarro indentation
5645
5646         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5647         GTK_WIN_POS_CENTER_ON_PARENT. 
5648         Add "destroy with parent" setting, which means the window goes
5649         away with its transient parent.
5650         (gtk_window_get_default_accel_group): get the default accel group
5651         for the window.
5652         (gtk_window_set_destroy_with_parent): set/unset destroy with
5653         parent flag
5654         (gtk_window_read_rcfiles): invalidate icon set caches
5655         after reloading rcfiles 
5656
5657         * gtk/gtkenums.h (GtkWindowPosition): add
5658         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5659         on its parent window when the dialog is mapped for the first time.
5660
5661         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5662         a simple message dialog class
5663         
5664         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5665         handler to emit response signal, and maybe later it would
5666         honor a hide_on_delete flag - though that isn't there yet.
5667         Set border width on the vbox to 2, so we get some padding.      
5668         Use a button box for the action area.
5669         (gtk_dialog_key_press): synthesize a delete event if Esc
5670         is pressed and the GtkWidget key press handler didn't 
5671         handle the escape key.
5672         (gtk_dialog_new_with_buttons): new function creates a dialog
5673         with some default buttons in it.
5674         (gtk_dialog_add_action_widget): add an activatable widget
5675         as a button in the dialog - you can also add a non-activatable
5676         widget by accessing the action area directly.
5677         (gtk_dialog_add_button): add a simple button - stock ID or 
5678         label - to the action area
5679         (gtk_dialog_response): emit response signal
5680         (gtk_dialog_run): block waiting for the dialog, return 
5681         the response. Override normal delete_event behavior, so that 
5682         delete_event does nothing inside gtk_dialog_run().
5683
5684         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5685         emitted when an action widget is clicked or the dialog gets
5686         delete_event
5687
5688         * gtk/gtk.h: add gtkmessagedialog.h
5689
5690         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5691
5692 2000-10-18  Havoc Pennington  <hp@redhat.com>
5693
5694         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5695         where any number of empty lines would get skipped
5696
5697         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5698         edge.
5699
5700         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5701         warning about invalid iterators (explain more thoroughly)
5702         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5703
5704         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5705         big
5706
5707         * demos/*.c: Add error handling
5708
5709         * gtk/gtktextbuffer.c: don't modify const iterators
5710
5711         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5712
5713         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5714         on file load
5715
5716         * gtk/gtkiconfactory.c: Update to reflect addition of error
5717         handling to gdk-pixbuf loaders
5718
5719 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5720
5721         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5722         move to new modularized testgtk.
5723
5724 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5725
5726         * gtk/gtktreeview.c: Draw the arrows correctly.
5727
5728         * gtk/gtktreemodel.c: Added user docs.
5729
5730         * gtk/gtk.h: remove gtktreedatalist.h.
5731
5732         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5733         parent when generating my type.
5734
5735         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5736         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5737
5738 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5739
5740         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5741         GtkTreeModel from object to interface.
5742
5743 2000-10-16  Havoc Pennington  <hp@redhat.com>
5744
5745         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5746         compilation
5747
5748 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5749
5750         * gtk/gtktreeselection.c: Add API documentation to all public
5751         functions.
5752
5753         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5754         functions.
5755
5756 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5757
5758         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5759         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5760         docs to all public functions.
5761
5762         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5763         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5764         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5765         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5766         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5767         issue.
5768
5769 2000-10-14  Robert Brady  <robert@suse.co.uk>
5770
5771         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5772
5773 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5774
5775         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5776         values other then G_TYPE_STRING.
5777         * gtk/gtktreeselection.c: Minor commenting updates.
5778         * gtk/gtktreeview.c: Format updates.
5779
5780 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5781
5782         * README.win32: Update.
5783
5784         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5785         lines that had been deleted by mistake (?).
5786
5787         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5788         also the case fg==white and bg==black (but still not randomly
5789         coloured cursors). Thanks to Wolfgang Sourdeau.
5790
5791         * gdk/win32/*.c: Silence gcc -Wall.
5792
5793         * gtk/gtk.def: Add missing entry points.
5794
5795         Fixes by Hans Breuer:
5796
5797         * gdk/makefile.msc
5798         * gdk/win32/makefile.msc: Update.
5799
5800         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5801         some MSVC thing, presumably), cause breakpoint on failures. Add
5802         GDK_NOR case. Call g_log_set_always_fatal.
5803
5804         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5805         should be pased by reference.
5806         
5807         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5808         
5809         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5810
5811         * gdk/win32/gdkevents-win32.c
5812         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5813
5814         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5815         implementation object.
5816
5817         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5818         not just windows.
5819         
5820         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5821         Use the wrapper object.
5822         
5823 2000-10-06  Havoc Pennington  <hp@redhat.com>
5824
5825         * Makefile.am (SRC_SUBDIRS): contrib subdir
5826
5827         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5828         so it can be used in Xlib version
5829
5830         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5831         tree
5832
5833         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5834         change from 1.0 tree that returns first frame of animation
5835         if the loaded file is an animation.
5836
5837         * contrib: add new directory to hold stuff that comes with GTK+
5838         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5839         
5840         * configure.in: add contrib/*
5841
5842 2000-10-05  Havoc Pennington  <hp@redhat.com>
5843
5844         * demos/testpixbuf-save.c: add pixbuf save test
5845
5846         * demos/Makefile.am: add testpixbuf-save.c
5847
5848 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5849
5850         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5851         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5852         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5853         * gtk/gtktreeselection.[ch]: Replaced
5854         "node_selected"/"node_unselected" signal with "selection_changed"
5855         signal.
5856
5857 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5858
5859         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5860         tree widget.
5861
5862 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5863
5864         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5865         drawing.
5866
5867 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5868
5869         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5870         Move list pointer forwards before removing item from
5871         list. (Crash reported by Salmaso Raffaele)
5872
5873         * gdk/gdkwindow.h: Remove spurious trailing ,
5874
5875         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5876         dependencies on uninstalled libraries, sorry folks.
5877
5878 2000-10-04  Havoc Pennington  <hp@redhat.com>
5879
5880         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5881         gtk/gtkiconfactory.c: Fix copyrights    
5882
5883         * demos/testpixbuf.c: add inline pixbuf test
5884         
5885 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5886
5887         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5888         Add gdk_window_iconify.
5889
5890         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5891         (gdk_window_set_geometry_hints): Add win_gravity
5892         to geometry structure.
5893
5894         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5895         Implement _NET_WM_PING.
5896
5897         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5898         Set _NET_WM_PID on the client leader.
5899
5900         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5901         Handle UTF-8 better.
5902
5903         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5904         UTF-8 better, set _NET_WM_NAME as well. Only set
5905         icon name if it hasn't previously been explicitely 
5906         set.
5907
5908 2000-10-03  Havoc Pennington  <hp@redhat.com>
5909
5910         * gtk/testtextbuffer.c: clean up trailing whitespace,
5911         add extensive tests for tag toggle iteration.
5912         
5913         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5914         distance
5915
5916         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5917         optimize case where the tag root is on level 1
5918         (gtk_text_line_previous_could_contain_tag): attempt to implement
5919         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5920         functionality
5921
5922         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5923         Implement this, though not very efficiently.
5924
5925         * gtk/gtktextiterprivate.h: reformat
5926
5927         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5928         iterator
5929
5930         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5931         this to properly revalidate the iterators.
5932
5933         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5934         properly at the end of the line (and therefore on empty lines)
5935
5936         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5937         maybe we should return a value...
5938
5939 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5940
5941         * config.h.win32: Guard definition of alloca(). glib.h now handles
5942         that.
5943
5944         * gdk/gdk.def
5945         * gtk/gtk.def: Add new entry points.
5946
5947         Changes just to make GTK+ build without errors on Win32. No hope
5948         of it working in its current state, though...:
5949         
5950         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5951         some functions from the X11 backend, just to make GTK+ build.
5952
5953         * gdk/makefile.mingw.in
5954         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5955         number. Add new object files.
5956
5957         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5958         GetMessageTime to get timestamp (where on X11 uses
5959         gdk_x11_get_server_time()).
5960
5961 2000-10-02  Havoc Pennington  <hp@pobox.com>
5962
5963         * gtk/gtktextview.c: text_window_* weren't static and should have
5964         been.
5965         Start work on child widgets; not yet complete, syncing to 
5966         office computer.
5967
5968         * gtk/gtktextchild.h: change this to contain a public interface,
5969         starting work on child interfaces.
5970         * gtk/gtktextchildprivate.h: move private interfaces here
5971
5972         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5973
5974         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5975         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5976         gtk/gtktextmark.c: copyright notices
5977
5978         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5979         internal functions      
5980
5981         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5982         internal function
5983
5984         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5985         Reformatting    
5986
5987 2000-09-30  Havoc Pennington  <hp@pobox.com>
5988
5989         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5990         NULL start/end pointers
5991
5992         * gtk/gtktextbuffer.c: Write some docs
5993         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5994         NULL, so you can just check whether there's a selection.        
5995
5996         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5997         cleanup_line or segments_changed ourselves, it gets done 
5998         in unlink_segment
5999
6000         * gtk/gtktextmark.h:
6001         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6002         
6003         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6004
6005         * gtk/gtktextmark.c: delete some more old Tk cruft
6006
6007         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6008         mark before removing it, so we can emit MARK_DELETED with a valid
6009         pointer.
6010         (gtk_text_buffer_mark_set): hold ref across signal emission
6011
6012         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6013         whining about attempts to delete special marks
6014
6015         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6016         underscore, since it's internal.
6017
6018         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6019         now implemented in terms of iterators in gtktextiter.h
6020
6021         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6022         New function, destructively sets contents of buffer. Also 
6023         a convenient way to clear the buffer by setting text to ""
6024
6025         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6026         multiline string literal
6027
6028         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6029         text changes.
6030
6031         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6032         is not dereferenceable
6033         (gtk_text_iter_forward_lines): fix return value
6034
6035 2000-09-29  Havoc Pennington  <hp@redhat.com>
6036
6037         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6038
6039         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6040         that set border window size to have nicer name
6041         (gtk_text_view_mark_set_handler):  Fix this to have the 
6042         right signature.
6043
6044         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6045
6046         * gtk/testtext.c: Update with API changes, put line numbers on 
6047         both sides.
6048         
6049         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6050         with this
6051
6052         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6053         pixbuf; delete a big block of #if 0 Tk code
6054
6055         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6056         insert_pixmap with insert_pixbuf
6057
6058 2000-09-29  Martin Baulig  <baulig@suse.de>
6059
6060         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6061         confusion with the GdkPixbuf of the GNOME 1.x platform.
6062
6063 2000-09-29  Havoc Pennington  <hp@pobox.com>
6064
6065         * gtk/gtktextview.c: Implement the side windows.
6066
6067         * gtk/testtext.c: Implement simple line numbering in the 
6068         left side window; seems to make scrolling sloooow. Oops.
6069         Also, cursor blink is for some reason causing redraws
6070         of the line numbers. Should investigate...
6071
6072 2000-09-28  Havoc Pennington  <hp@redhat.com>
6073
6074         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6075         scrolling child windows, and draw focus rectangle properly.
6076         
6077         (gtk_text_view_buffer_to_window_coords):
6078         Coordinate transformation to deal with all these freaking windows
6079         and offsets
6080         (gtk_text_view_window_to_buffer_coords): transform the other way
6081
6082         * gtk/testtext.c (create_buffer): Update to match Pango API change
6083
6084         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6085         anonymous tags
6086         (foreach_unref): don't emit remove signal from finalize, just
6087         set tag's parent to NULL
6088
6089 2000-09-26  Havoc Pennington  <hp@redhat.com>
6090
6091         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6092         Fix some warnings       
6093
6094 2000-09-26  Havoc Pennington  <hp@redhat.com>
6095
6096         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6097         headers into the private header list
6098
6099         * Makefile.am (pkgconfig_DATA): install pkg-config files
6100
6101         * configure.in: add pkg-config files
6102
6103         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6104
6105         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6106         outstanding icon caches on theme change.
6107
6108         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6109         important types:
6110
6111         (GtkIconSource): Specification for creating a pixbuf 
6112         appropriate for a direction/state/size triplet from 
6113         a source pixbuf or filename
6114
6115         (GtkIconSet): List of GtkIconSource objects that are used to
6116         create the "same" icon (e.g. an OK button icon), and cache for
6117         rendered icons
6118
6119         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6120         up the icon set for a given stock ID.  GTK maintains a stack of
6121         GtkIconFactory to search, and applications or libraries can add
6122         additional icon factories on top of the stack
6123         
6124         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6125         the set of GtkIconSource specified for a given stock ID into 
6126         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6127         RcStyle, under the specified stock ID.
6128
6129         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6130         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6131         This allows people to theme how prelight, insensitive, etc. are
6132         done.
6133
6134         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6135         icon factories for a style, and return the resulting 
6136         icon set if any.
6137
6138         (gtk_style_render_icon): Render an icon using the render_icon 
6139         method in the GtkStyleClass.
6140
6141         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6142         Use the style for a given widget to look up a stock ID, get the
6143         icon set, and render an icon using the render_icon method 
6144         of the style
6145
6146         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6147         (contains information about a stock item), the built-in stock item
6148         IDs, and functions to add/lookup stock items.
6149
6150         * gtk/stock-icons/*: Stock icons that come with GTK
6151
6152         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6153         a button based on a GtkStockItem
6154         (gtk_button_new_accel): Takes a uline string and accel group, and
6155         installs the accelerator.
6156
6157         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6158         image-display widget.
6159
6160 2000-09-25  Havoc Pennington  <hp@redhat.com>
6161
6162         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6163
6164         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6165         Fix a bug when removing node data, we didn't properly 
6166         re-splice the linked list after removing the data.
6167
6168         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6169         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6170
6171         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6172
6173         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6174         for the layout from the GtkTextTag.
6175
6176         * gtk/gtktexttypes.h: delete tab and search cruft, 
6177         remove g_convert() in favor of GLib version
6178
6179         * gtk/gtktexttypes.c: remove tab implementation from here,
6180         move to Pango
6181
6182         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6183         tab stuff using new PangoTabArray from Pango
6184
6185         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6186         unused border_width stuff
6187
6188 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6189
6190         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6191         glib) and now useless utf_to_latin1() latin1_to_utf()
6192
6193         * gtk/gtktextview.[ch]: Change ::move_insert and
6194         ::delete_text action signals to ::move and ::delete;
6195         create the signals with the right enumeration type,
6196         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6197         C-v bindings, change Home, End to move to beginning/end
6198         of line, Add C-Home C-End to move to beginning/end
6199         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6200         combine ::scroll_text into ::move; use new GtkSelectionData
6201         functions to simplify DND text handling.
6202         
6203         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6204         deletion enumerations here, rename enumeration values to 
6205         be consistently plural.
6206
6207         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6208         for cut/copy/paste and primary selection.
6209
6210         * gtk/gtktextbuffer.[ch]: Remove excess time and
6211         'interactive' arguments from cut/copy/paste;
6212         rename cut to cut_clipboard, etc; remove
6213         gtk_text_buffer_get_clipboard_contents().
6214
6215         * gtk/gtktextlayout.[ch]: Add 
6216         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6217         line ends.
6218
6219         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6220         Functions to set or get a UTF-8 string on the selection
6221         data.
6222
6223         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6224         interfaces.
6225
6226         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6227         created widgets - one of these is useless if we don't.
6228
6229         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6230         a public function clear all targets registered for the
6231         widget.
6232
6233         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6234         Never call gtk_widget_realize() - that was just asking
6235         for bizarre side-effects.
6236
6237         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6238         gdk_selection_owner_set even if the widget is the
6239         same so that we reliably update the timestamp on
6240         the server.
6241
6242         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6243         gdk_x11_get_server_time() function.
6244         
6245         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6246         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6247         Add some tricky filtering on serial numbers for
6248         selection clear events to fix up long-standard
6249         race condition FIXME's in gtkselection.c.
6250
6251         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6252         routines to convert from utf8 to compound text or
6253         STRING and from a text property to UTF-8.
6254
6255         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6256         a convenience function gdk_get_current_event_time().
6257
6258         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6259         and free selection_data->data properly
6260
6261 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6262
6263         * gtk/gtkthemes.c: Remove some unecessary includes.
6264
6265 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6266
6267         * gtk/gtktextdisplay.c
6268         * gtk/gtktextlayout.c
6269         * gtk/gtktexttag.c
6270         * gtk/gtktexttag.h
6271         * gtk/testtext.c: Change the overstrike property to strikethrough,
6272         to closer match pango.
6273
6274 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6275
6276         * gtk/gtktextview.c: Fix up visibility so that focus,
6277         cursor_visible and blink interact properly.  Reenable cursor blink
6278         which had been roughly disabled. Make blink and focus
6279         properly per-view.
6280
6281         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6282         Add a flag for whether to display insertion cursor and
6283         a function to set the flag.
6284
6285         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6286         get_line_y() to get_line_yrange(), to be a bit more generally
6287         useful.
6288
6289 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6290
6291         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6292           do stop_navigating_submenu, to clear last timeout properly.
6293           Also in gtk_menu_motion_notify move ignore_enter above
6294           the conditional to make it always happen as suggested by Owen
6295
6296 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6297
6298         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6299
6300         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6301         w32api headers.
6302
6303         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6304         declarations.
6305
6306         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6307         (gdk_win32_get_colormap): A line had been deleted by mistake.
6308
6309         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6310         (gdk_event_translate): Handle more virtual keycodes to be able to
6311         generate GDK events for Control-comma, Control-period, etc.
6312
6313         * gtk/gtk.def: Add some missing entry points.
6314
6315 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6316
6317         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6318         Doc comment fixing. (Mostly non-matching parameter names.)
6319
6320         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6321         comments a little to avoid looking like a doc comment.
6322
6323         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6324         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6325         conversions be changed to GError?)
6326
6327         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6328         Move private #defines into .c file.
6329
6330         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6331         order of argument addition, remove duplicates.
6332
6333         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6334         parent class is FrameClass, not BinClass.
6335
6336         * gtk/gtk.h: Add gtkinvisible, which was missing.
6337         (It's occasionalyl useful for client apps, if seldom.)
6338
6339         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6340         #define.
6341
6342 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6343
6344         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6345         coordinates when creating window, instead of GDK-space
6346         coordinates. (Avoid BadValue on too large windows.)
6347
6348 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6349
6350         * configure.in (use_mmx_asm): Remove conftest* after use along the
6351         lines of AC_TRY_COMPILE.        
6352         
6353         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6354         of g_dirname, which is deprecated.
6355         (gtk_rc_parse_any): Removed calls to
6356         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6357
6358         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6359         Removed calls to g_hash_table_{freeze,thaw}, as they are
6360         deprecated now.
6361
6362         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6363         instead of g_basename.
6364         
6365 2000-09-04 Elliot Lee <sopwith@redhat.com>
6366         
6367         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6368         ANSI warning.
6369
6370 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6371
6372         * gtk/gtkwidget.h:  Add some documenting comments about 
6373           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6374           just as owen said on irc.
6375
6376         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6377           set HAS_DEFAULT.  Only set it if there isn't another window
6378           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6379           it if the widget is not the focused window with RECEIVES_DEFAULT.
6380           This fixes weird double default bugs in dialogs which has things
6381           call gtk_window_set_default at times.
6382
6383 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6384
6385         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6386         Nils Barth and David Santiago to improve submenu
6387         navigation. The patch does this by creating a triangular
6388         region from the point where the pointer leaves the
6389         menu to the submenu.  While the pointer is in
6390         that region and a timeout has not expired, events 
6391         that would cause the active submenu to change are
6392         ignored.
6393
6394 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6395
6396         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6397         moving a toplevel window immediately after sizing it would
6398         result in it being sized back to the old size since 
6399         impl->width, impl->height aren't updated until we hear
6400         back from the server. There is still a (longstanding) bug
6401         here that gdk_window_get_size() will give the wrong size
6402         until we do hear back.
6403
6404 2000-08-31  Havoc Pennington  <hp@redhat.com>
6405
6406         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6407         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6408         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6409         Rename GtkTextStyleValues to GtkTextAttributes
6410
6411 2000-08-31  Havoc Pennington  <hp@pobox.com>
6412
6413         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6414         for rapid testing whether an iterator is the end iterator
6415         (gtk_text_btree_new): init end line cache
6416         (gtk_text_line_is_last): use fast cached line to 
6417         see if we're the last line.
6418         (get_last_line): use cached line here too, should 
6419         speed up some random unrelated code.
6420         
6421 2000-08-30  Havoc Pennington  <hp@pobox.com>
6422
6423         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6424         signals.
6425
6426         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6427         delete_text signals. This allows the signals to be used for
6428         implementing undo.
6429
6430         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6431         provide "interactive" argument when emitting insert_text or
6432         delete_text signal.
6433         
6434 2000-08-30  Havoc Pennington  <hp@pobox.com>
6435
6436         * gtk/gtktextbuffer.c: Docs
6437
6438 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6439
6440         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6441         from switch statements, since Tor removed the enumeration
6442         value.
6443         
6444         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6445         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6446
6447 2000-08-29 Elliot Lee <sopwith@redhat.com>
6448         * */*.h: Use G_GNUC_CONST.
6449
6450 2000-08-27  Havoc Pennington  <hp@pobox.com>
6451
6452         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6453         minor indentation fixes, inserted some FIXME about stuff I
6454         realized was broken while documenting it.
6455         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6456         GTK convention  
6457
6458 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6459
6460         * gtk/testgtk.c (create_styles): Fix double free of
6461         font desc.
6462
6463 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6464
6465         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6466         
6467         * gtk/testgtk.c (create_styles): Add a test for modifying
6468         the style through gtk_widget_modify_*.
6469
6470         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6471         a function to get the current modifier style.
6472
6473         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6474         of the passed in GtkRcStyle instead of ref'ing it.
6475
6476         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6477
6478 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6479
6480         * gdk/gdkimage.h
6481         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6482         shared memory image+pixmap GdkImage type, or
6483         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6484         I am dropping that.
6485
6486         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6487         actually call gtk_init_abi_check(), passing also
6488         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6489
6490         * gtk/gtk.def
6491         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6492         New functions, used to check that the GTK+-using code has been
6493         compiled using the correct compiler and switches. In particular,
6494         with gcc one has to use the -fnative-struct switch as GTK+ is
6495         compiled with that.
6496
6497 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6498
6499         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6500         ->prev fields when merging lists. (Found simultaneously
6501         by Pawel Salek and Jakub Jelinek)
6502
6503 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6504
6505         * gdk/gdk.def
6506         * gtk/gtk.def: Add missing entries.
6507
6508         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6509         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6510
6511         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6512         function. Dummy implementation at this point.
6513
6514         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6515         rules. Undefine GTK_COMPILATION when compiling the test programs.
6516         
6517         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6518
6519 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6520
6521         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6522         to convert back and forth from UTF-8 and the "system" (or "current
6523         locale") charset when necessary. Indentation/spacing cleanup.
6524
6525 2000-08-10  Havoc Pennington  <hp@redhat.com>
6526
6527         * Makefile.am (snapshot): Change the format of the snapshot
6528         version to match glib
6529
6530         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6531         from EXTRA_DIST since it doesn't seem to exist
6532
6533 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6534
6535         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6536         version of the directory name (not the UTF-8 one) when building
6537         the path name to stat().
6538
6539 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6540
6541         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6542         PANGO_ATTR_SHAPE set.
6543
6544 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6545
6546         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6547         Peter Osterlund to simplify the code while keeping the
6548         functionality the same.
6549
6550 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6551
6552         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6553         is_viewable() test further inside the function, since removing the 
6554         window from the redraw list without clearing ->update_area
6555         was also very broken.
6556
6557 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6558
6559         * configure.in: Check for <unistd.h>.
6560
6561 2000-08-01  Martin Baulig  <baulig@suse.de>
6562
6563         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6564         to display the message that this is a development version of GTK+.
6565
6566 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6567
6568         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6569         was depending on widget->allocation instead of the width of text_area,
6570         which was incorrect for subclasses like GtkSpinButton.
6571
6572         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6573         with width == 1 tests that should be width == -1.
6574
6575 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6576
6577         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6578         (broken, Elliot, every single window blank on X) custom code with call
6579         to gdk_window_is_viewable() which a) prevents code duplicate and
6580         b) works. 
6581
6582 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6583
6584         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6585         to get the GDK_PARENT_ROOT() macro to work.
6586         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6587         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6588         of, windows that aren't shown.
6589         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6590         pointer grab stuff.
6591
6592 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6593
6594         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6595           s/gtk_main_iteration/g_main_iteration/
6596
6597           Did this already in change:
6598                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6599           don't know how it got reverted.
6600
6601 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6602
6603         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6604         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6605
6606         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6607         not gdk_pixbuf.
6608
6609 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6610
6611         * configure.in,po/{sp,sr}.po: Added Serbian files
6612
6613 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6614
6615         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6616
6617         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6618         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6619         GIOChannel implementation.
6620
6621         * gdk/win32/gdkinput.c
6622         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6623
6624         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6625         definition to match prototype.
6626
6627         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6628
6629 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6630
6631         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6632         function, to allow handling image formats that cannot be detected
6633         by looking at content alone.
6634
6635 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6636
6637         * docs/tutorial/*.gif *.jpg *.eps
6638           Update these to the same look-n-feel.
6639           Why does including images in DocBook suck so badly?
6640
6641 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6642
6643         * gtk/gtktable.c: applied patch from Phil Thompson
6644         <phil@river-bank.demon.co.uk> that enables space settings for
6645         the last row/columns as well.
6646
6647 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6648
6649         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6650         updates the license headers to the GNU Lesser General Public License,
6651         as well as updating the copyright year to 2000.
6652
6653 2000-07-26  Robert Brady  <rwb197@zepler.org>
6654
6655         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6656           and po/Makefile, was installing and looking for them under gtk20
6657           and gtk2 respectively.
6658
6659 2000-07-25  Havoc Pennington  <hp@redhat.com>
6660
6661         * gtk/testtext.c: Comment out some stuff that depends on the rest
6662         of my patches.
6663
6664 2000-07-25  Havoc Pennington  <hp@redhat.com>
6665
6666         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6667         buffer
6668
6669 2000-07-25  Havoc Pennington  <hp@redhat.com>
6670
6671         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6672         widget changes.
6673
6674         * gtk/gtktextview.h: To be consistent with usage of "line"
6675         throughout the API to mean "newline-terminated thingy", change
6676         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6677         to MOVEMENT_LINE.
6678
6679         (GtkTextView): Add flags for default editability, and whether to
6680         show the cursor. Add functions to get/set that. Add 
6681
6682         (gtk_text_view_get_iter_location): new function
6683
6684         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6685         gtktextlayout.h
6686         (g_convert): Add g_convert temporarily, will go in glib in a bit
6687         
6688         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6689         GtkTextTagTableForeach instead of brokenly using GHFunc.
6690         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6691
6692         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6693         moved to public header.
6694
6695         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6696         "invisible", since "elide" was a bad name.
6697         (gtk_text_tag_get_priority): Added
6698
6699         (GtkTextStyleValues): put this in public header, along with
6700         functions to use it.
6701
6702         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6703         longer include gtktextbtree.h.
6704
6705         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6706         gtk_text_mark_deleted
6707
6708         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6709         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6710         to make this possible. Now we only need to install
6711         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6712         (However the Makefile.am isn't changed yet because of the
6713         logistics of merging gtk-hp-patches piecemeal)
6714
6715         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6716         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6717         gtk_text_iter_get_line is now used in the public API for a
6718         different purpose.
6719
6720         * gtk/gtktextiter.h: Clean up function names to be more
6721         consistent. Always call char offset "offset" and byte index
6722         "index". A "line" is always a line number. 
6723
6724         (gtk_text_iter_is_last): new function, more efficient than 
6725         the existing way to check
6726         (gtk_text_iter_is_first): new function, also more efficient
6727
6728         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6729
6730         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6731         gtk_text_iter_forward_char, etc.
6732
6733         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6734         forward_find_tag_toggle, since this isn't a linear search
6735
6736         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6737
6738         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6739         New functions, search for a buffer substring.
6740
6741         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6742         interactive and default editable (since we need to store that info
6743         until we receive the selection data).
6744
6745         Remove all the _at_char and at_line etc. versions of functions;
6746         only have iterator versions.
6747
6748         Add _interactive() versions of functions, that consider the
6749         editability of text. (FIXME add interactive flag to the 
6750         insert/delete signals per Darin's suggestion)
6751
6752         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6753         tag table if necessary
6754
6755         Remove declaration of gtk_text_buffer_get_iter_from_string
6756
6757         (_gtk_text_buffer_get_btree): private/internal function, added.
6758         
6759
6760         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6761         (gtk_text_line_is_last): new function
6762
6763 2000-07-25  Havoc Pennington  <hp@redhat.com>
6764
6765         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6766         using GtkProgressBar. See Changes-2.0.txt for details.
6767
6768         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6769         "pulse_step" which are the equivalent of
6770         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6771         Implement new API.
6772         
6773         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6774         (use_text_format) to mark whether text set on the progress bar is
6775         a format string. Deprecate entire GtkProgress interface.
6776
6777         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6778         (gtk_progress_build_string): make this a no-op if use_text_format
6779         is FALSE
6780
6781         * docs/Changes-2.0.txt: Describe progress bar changes.
6782
6783 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6784
6785         * Makefile.am: Include the build directory.
6786
6787         * configure.in: Generate build/Makefile, build/win32/Makefile,
6788         gdk/, gdk/win32/, and gtk/makefile.mingw.
6789
6790         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6791         Add GETTEXT_PACKAGE.
6792         
6793         * gdk/gdk.def
6794         * gtk/gtk.def: Updates.
6795
6796         * gdk/gdkfont.h
6797         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6798         need them any longer.
6799
6800         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6801
6802         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6803         PANGOWIN32_LIBS and gdk_pixbuf.
6804
6805         * gdk/win32: Compiles, but no doubt doesn't work at all.
6806
6807         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6808
6809         * gdk/win32/gdkinput.c: New file, temporarily.
6810         
6811         * gdk/win32/gdkinput-win32.h: New file
6812
6813         * gdk/win32/gdkinputprivate.h: Remove.
6814
6815         * gdk/win32/gdkpango-win32.c: New file.
6816
6817         * gtk/makefile.mingw.in: New file
6818
6819         * gtk/makefile.cygwin: Removed
6820         
6821         * gtk/Makefile.am: Update accordingly.
6822
6823         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6824         made externally visible.
6825
6826         * gtk/gtkmain.c: Use it.
6827         
6828         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6829         is enough.
6830
6831         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6832
6833 2000-07-24 Elliot Lee <sopwith@redhat.com>
6834         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6835         individual backends already.
6836         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6837         again. Yes, there really is a good reason for this, if you are using the gdkregion
6838         internals, and if you're not, why do you care?
6839         * gdk/gdkwindow.c: Fix inverted condition
6840         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6841         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6842         * gtk/gtkrange.c: Redraw trough when moving.
6843         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6844         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6845
6846 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6847
6848         * configure.in: Check for mkstemp and sigsetjmp. Output
6849         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6850
6851         More work on GDK for Win32. Still in an intermediate state.
6852
6853         * gdk/makefile.cygwin
6854         * gdk/win32/makefile.cygwin: Removed.
6855         
6856         * gdk/makefile.mingw.in
6857         * gdk/win32/makefile.mingw.in: New files.
6858
6859         * gdk/Makefile.am
6860         * gdk/win32/Makefile.am: Generate and distribute them.
6861
6862         * gdk/win32/gdkwindow-win32.h
6863         * gdk/win32/gdkdrawable-win32.h
6864         * gdk/win32/gdkpixmap-win32.h: New files.
6865
6866         * gdk/win32/gdkcolor-win32.c
6867         * gdk/win32/gdkcursor-win32.c
6868         * gdk/win32/gdkdrawable-win32.c
6869         * gdk/win32/gdkgc-win32.c
6870         * gdk/win32/gdkimage-win32.c
6871         * gdk/win32/gdkprivate-win32.h
6872         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6873         Rename fields and variables called xcursor, xid, etc (these names
6874         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6875
6876 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6877
6878         * gtk/gtkentry.[ch]: Fix some problems with vertical
6879         alignment.
6880
6881         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6882         char/byte confusion.
6883
6884 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6885
6886         * gtk/gtktextview.c (changed_handler): Fix bug where
6887         redraw wasn't being done properly when height of
6888         dirty region changed.
6889
6890         * demos/Makefile.am: Remove various references to
6891         -lgmodule
6892
6893 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6894
6895         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6896         PangoAttrShape to reserve space for pixmaps, add 
6897         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6898         in the display functions.
6899         
6900         * gtk/testgtk.c (create_layout): Set some more exotic
6901         scrolled window options
6902
6903         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6904         Add function to set the shadow type of a window, to allow
6905         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6906         which don't draw their own frame.
6907
6908 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6909
6910         * docs/tutorial/package-db-tutorial.sh: New file for
6911           packaging DocBook format tutorial
6912
6913 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6914
6915         * docs/tutorial/gtk-tut.sgml: Minor updates
6916
6917         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6918
6919 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6920
6921         * gtk/gtksignal.c: Fix C++ comment.
6922
6923         * gtk/gtkimmulticontext.c
6924         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6925         don't return value from void functions.
6926
6927         * gtk/gtk.def: Add gtk_rc_style_unref.
6928
6929 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6930
6931         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6932         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6933         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6934         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6935         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6936         gtk/gtktypeutils.h: Include files outside of the extern "C"
6937         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6938         <vakatov@peony.nlm.nih.gov>.
6939
6940 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6941
6942         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6943           Completes first pass. Hurrah!
6944
6945 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6946
6947         * docs/tutorial/gtk-tut.sgml: More clean ups.
6948
6949 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6950
6951         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6952         paint the background of the text area which was accidentally
6953         removed at some point.
6954
6955         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6956           
6957          - Move most of the functionality from the theme vtable
6958            into GtkRcStyleClass and GtkStyleClass. The moved
6959            vtable functions were changed a bit in the move to
6960            work better in their new home.
6961
6962          - Get rid of the engine and engine_data fields from
6963            GtkRcStyle and GtkStyle; instead the theme
6964            engine derives theme-specific subclasses of GtkRcStyle
6965            and GtkStyle
6966
6967          - Add extra dlsym() found entry point to themes,
6968            theme_create_rc_style().
6969
6970         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6971         in gtk_style_real_copy.
6972
6973         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6974         to register a type associated with an engine. (The engine
6975         won't be unloaded as there is an instance of the type.)
6976
6977
6978 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6979
6980         * docs/tutorial/gtk-tut.sgml: Clean ups.
6981
6982 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6983
6984         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6985           of cleaning up to do.
6986
6987 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6988
6989         * gdk/testgdk.c: New file, quick hack to test backends for
6990         pixel-by-pixel correctness of the most simple graphic operations.
6991
6992 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6993
6994         * Really release 1.3.1
6995         
6996         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6997         include structure.
6998
6999 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7000
7001         * Released 1.3.1
7002
7003 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7004
7005         * gtk/gtktextlayout.c: use FALSE for size_only most
7006         of the time when calling gtk_text_layout_get_line_display()
7007         to avoid causing double reshapes when a redraw follows
7008         immediately after.
7009
7010 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7011
7012         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7013         appropriate region and gdk_window_process_updates() so trough
7014         updating doesn't lag behind the window being scrolled.
7015
7016         * gdk/gdkgc.c: Make parent_class pointer static.
7017          
7018 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7019
7020         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7021         include <string.h>.
7022          
7023         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7024         cut-and-paste error in computing memory offset for 4 channels.
7025
7026 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7027
7028         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7029         gtk_rc_append_default_pixmap_path(), since it wasn't
7030         adding an interesting path and we don't have a meaningful
7031         default for this value.
7032
7033 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7034
7035         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7036         gtk-config to gtk-config-2.0 move gtk_.m4 to
7037         gtk-2.0.m4
7038
7039         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7040         gdk/Makefile.am demos/Makefile.am: Change 
7041         library names to libgtk-1.3.la, etc, so that we
7042         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7043
7044         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7045         gdk/Makefile.am gdk/x11/Makfile.am
7046         Move include files into /usr/include/gtk-2.0, 
7047         /usr/lib/gtk-2.0/include/
7048          
7049         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7050         gtk/gtkintl.h: Change package for gettext from 
7051         gtk+ to gtk20. Put hack in autogen.sh to modify
7052         po/Makefile.in.in after gettextize to make this
7053         possible.
7054
7055         * gtk+.spec: Some updates, not tested.
7056
7057         * gdk-pixbuf/Makefile.am: Move loaders into
7058         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7059
7060         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7061         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7062         to THEMENAME/gtk-2.0/. Move engine directory  to
7063         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7064         
7065 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7066
7067         Win32 changes, still doesn't build though.
7068
7069         * gdk/makefile.cygwin
7070         * gdk/win32/makefile.cygwin
7071         * gtk/makefile.cygwin: Updates.
7072
7073         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7074         default values for fg and bg pixel as X11 does (0 and 1), not
7075         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7076         Use 0 for pen width by default (treated as 1 anyway later, but for
7077         apps that might check the value in the GdkGC).
7078         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7079         interface to gdk_gc_predraw and _postdraw.
7080
7081         * gdk/win32/gdkwin32.h
7082         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7083
7084         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7085         extraneous semicolon.
7086
7087         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7088
7089         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7090         not the Win32 bitspixel value.
7091
7092         * gdk/win32/gdkcc-win32.c:
7093         * gdk/win32/gdkcolor-win32.c 
7094         * gdk/win32/gdkprivate-win32.h
7095         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7096         GDK object structure.
7097
7098 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7099
7100         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7101         * docs/tutorial/gtk_tut_it.sgml (name): 
7102         * docs/tutorial/gtk_tut_fr.sgml (name): 
7103         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7104         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7105
7106 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7107
7108         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7109           small changes.
7110
7111 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7112
7113         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7114         a bug here, never been here and never fixed anything ;(
7115         (don't segfault if tree->root_tree is NULL, which happens prior
7116         to widget realization, but puke instead).
7117
7118 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7119
7120         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7121         add the necessary tokens.
7122
7123         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7124         (gtk_rc_style_to_style): copy thicknesses.
7125         (gtk_rc_init_style): apply thicknesses.
7126         (gtk_rc_parse_style): parse xthickness and ythickness.
7127
7128         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7129
7130         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7131         (gdk_window_new): 
7132         (_gdk_windowing_window_init): 
7133         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7134         (gdk_pixmap_create_from_data): 
7135         (gdk_bitmap_create_from_data): 
7136         (gdk_pixmap_new): 
7137         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7138         (gdk_image_new): 
7139         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7140         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7141         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7142         (gdk_colormap_get_system): 
7143         (gdk_colormap_new): 
7144         * gdk/gdkwindow.c (gdk_window_init): 
7145         * gtk/gtkstyle.c (gtk_style_new):
7146         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7147         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7148         * gtk/gtkrc.c (gtk_rc_style_new):
7149         use g_object_new() instead of g_type_create_instance() which
7150         is a private function for fundamental type implementations.
7151
7152 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7153
7154         * configure.in: Add check for db2html
7155
7156 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7157
7158         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7159         hack to set glib_debug_objects based on gtk_debug_flags.
7160
7161 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7162
7163         * INSTALL.in: Update the Prerequisites section.
7164
7165         * Makefile.am demos/Makefile.am docs/Makefile.am
7166         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7167         gdk/linux-fb/Makefile.am: Dist fixes
7168
7169 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7170
7171         * NEWS: 10,000 foot view of 1.3.1 changes.
7172
7173 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7174
7175         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7176         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7177         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7178         gdk/x11/gdkmain-x11.c: 
7179
7180         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7181         as a return value of gdk_*_grab(). Previously, we just
7182         returned the X11 values directly.
7183
7184 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7185
7186         * gdk/x11/Makefile.am: Patch from George Lebl to 
7187         install all the headers in the right place.
7188
7189 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7190
7191         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7192           initial conversion to DocBook.
7193
7194 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7195
7196         * README.win32: Improve a bit.
7197
7198         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7199         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7200         Alt+0nnn on the numpad (used to enter characters by numeric code
7201         from current DOS or ANSI codepage) working correctly, as in other
7202         Windows apps.
7203
7204         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7205         same argument validity tests as in X11 version.
7206         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7207
7208         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7209         definitions in case missing from headers.
7210
7211         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7212         destroy the window-specific cursor.
7213         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7214         calling GetModuleHandle(NULL).
7215         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7216         with CopyCursor before setting it as the window-specific
7217         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7218         also its Windows cursor) after calling this function. Destroy any
7219         previous window-specific cursor.
7220
7221 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7222
7223         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7224         font charset is iso8859-1, not iso-8859-1.
7225
7226 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7227
7228         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7229         Use g_get_charset() instead of g_get_codeset().
7230
7231         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7232         Comment out some strdup'ing functions to keep timj
7233         happy until we finish fighting this out.
7234
7235 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7236
7237         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7238         <= width or height.
7239
7240         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7241         from 1.2 for parent/child states.
7242
7243         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7244         of typos.
7245
7246         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7247         event structures, replace with a generic axes field. Replace 
7248         deviceid/sourec with GdkDevice *device.
7249
7250         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7251         to extract particular axis use value from event. (Also
7252         can be used for normal X/Y.)
7253
7254         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7255         allow for arbitrary number of axes, namespace everything
7256         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7257         everywhere.
7258
7259         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7260         Get rid of the gdk_input_vtable setup if favor of simply
7261         defining the functions in gdkinput-none/gxi/xfree.c in
7262         a similar fashion to the way that the port structure is 
7263         done.
7264
7265         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7266         for new event structures. 
7267
7268         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7269         new device interfaces.
7270
7271 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7272
7273         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7274         set the initial text.
7275
7276         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7277         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7278         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7279         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7280
7281         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7282         pango_layout_set_font_description to simplify.
7283
7284 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7285
7286         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7287         pango_layout_set_font_description to simplify.
7288
7289 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7290
7291         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7292         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7293         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7294
7295         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7296         PANGO_PIXELS() macro.
7297
7298 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7299
7300         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7301         that returns a PangoContext owned by the widget and updated to
7302         match future changes in the widget. Also, make 
7303         gtk_widget_create_pango_layout() use this context. If we ever
7304         add a ::changed signal to PangoContext, this will make things
7305         much more convenient. 
7306
7307         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7308         in the appropriate places instead of destroying the layouts and
7309         creating new ones.
7310
7311         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7312         in a few strategic places.
7313
7314 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7315
7316         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7317         gtk_widget_size_request() on reparented child, if one. Otherwise,
7318         queue_resize() on the child never results in it getting size-requested
7319         at all.
7320
7321         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7322         in option menus, so that (with luck) people won't copy it into
7323         their apps in the future.
7324
7325         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7326         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7327         a lot of problems with changing the size of the menu's menu
7328         items after adding it to the option menu.
7329
7330         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7331
7332         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7333         the text direction for a widget changes.
7334
7335         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7336         ::direction_changed to get rid of various hacks.
7337
7338 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7339
7340         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7341         name.
7342
7343 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7344
7345         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7346         flag to the structure. Do not call XFreePixmap on pixmaps created
7347         by gdk_pixmap_foreign_new().
7348
7349 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7350
7351         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7352         value using GdkRGB functionality given GdkColormap and GdkColor.
7353         (name not final, waiting for inspiration.)
7354         
7355         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7356         set the foreground/background of a GC using the GC's colormap
7357         and GdkRGB. (name not final, waiting for inspiration.)
7358
7359         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7360         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7361
7362         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7363         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7364         purely a function of the corresponding colormap. Make
7365         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7366
7367         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7368         gdk_pixbuf_*create_from_xpm_* in terms of
7369         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7370         code.
7371
7372         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7373         advantage of the new draw_rgb_32_image_dithalign.
7374
7375         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7376
7377         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7378         on each created GC.
7379
7380         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7381
7382         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7383         which we initialize from the drawable when the GC is created,
7384         if the drawable has a colormap.
7385
7386         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7387
7388         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7389
7390         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7391
7392 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7393
7394         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7395         actually returning expose events, make sure to set
7396         the count field properly.
7397
7398         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7399         accidentally reintroced bug which always cleared
7400         the graphics_exposures value. 
7401
7402 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7403
7404         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7405
7406 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7407
7408         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7409
7410 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7411
7412         * docs/faq/gtk-faq.sgml: Start of Section 6.
7413
7414 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7415
7416         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7417         
7418         (Fixes problem with drawing childless frames. Pointed out
7419         by and a first patch from Anders)
7420         
7421         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7422         compute a child_allocation, even if we don't have a child.
7423
7424         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7425         Always chain to the parent's impl, even if we don't have a child.
7426
7427 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7428
7429         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7430         use multiple parts of it instead of creating a bunch of separate
7431         segments, since the maximum number of segments per system is not
7432         large. (This might be worth backporting to GTK+-1.2.x if we make a
7433         new release )
7434
7435         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7436         structure in preparation for per-colormap GdkRGB.
7437
7438         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7439         to False when we get EINVAL from shmget so that the caller of
7440         gdk_image_new can retry with a smaller segment size.
7441
7442 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7443
7444         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7445
7446 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7447
7448         * configure.in: make the current version number 1.3.1 (binary age 0,
7449         interface age 0).
7450         
7451         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7452         gtkcompat.h is all we want.
7453
7454         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7455         GLib primitive types. fixed g_type_register_fundamental() argument
7456         ordering.
7457
7458         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7459         compiles.
7460
7461         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7462         object code cleanup, comment trigraph fixes, etc...
7463
7464 2000-06-23  Havoc Pennington  <hp@redhat.com>
7465
7466         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7467         instead of making up a bogus name for first_para_mark
7468
7469         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7470         0 as a context ID
7471
7472 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7473
7474         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7475
7476 2000-06-21  Havoc Pennington  <hp@pobox.com>
7477
7478         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7479         we didn't check window->bg_pixmap != GDK_NO_BG.
7480
7481         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7482         gdk-pixbuf
7483
7484 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7485
7486         * docs/faq/gtk-faq.sgm: Move file to here.
7487           TODO: Update Makfile.am 
7488
7489 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7490
7491         * docs/gtk-faq.sgm: Add Section 2
7492
7493 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7494
7495         * docs/gtk-faq.sgm: New file. Start of DocBook
7496           version of the FAQ.
7497
7498 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7499
7500         * configure.in (GDK_PIXBUF_MAJOR): Define version
7501         numbers for GDK_PIXBUF_*, as they get substituted
7502         into a header file. Need to consider versioning
7503         for gdk-pixbuf more carefully later.
7504
7505 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7506
7507         Work with srcdir != builddir.   
7508         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7509         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7510         * demos/testpixbuf.c: Likewise.
7511         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7512         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7513         <gdk/x11/gdkx.h>.
7514         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7515         "gdk-pixbuf.h".
7516         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7517
7518 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7519
7520         * TODO.xml: Change 1.4 version numbers to 2.0.
7521
7522 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7523
7524         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7525         fixups to GTK+ standard.
7526
7527 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7528
7529         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7530         gdk-pixbuf.
7531
7532         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7533         fixups for GObject.
7534
7535         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7536         gdk-pixbuf with GDK dependencies moved into GDK.
7537         
7538         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7539         move gdk-pixbuf-loader here until GObject has signals.
7540
7541         * demos/: New directory of demos. Move demos from
7542         gdk-pixbuf here.
7543
7544         * demos/pixbuf-init.c: Small bit of code to check for
7545         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7546         set GDK_PIXBUF_MODULEDIR appropriately.
7547
7548         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7549         define which no longer makes sense.
7550
7551 2000-06-21  Havoc Pennington  <hp@redhat.com>
7552
7553         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7554         gtk_get_default_language
7555
7556         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7557         new function to get the default language
7558
7559         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7560         s/gtk_text_view_style_values/gtk_text_style_values/
7561
7562         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7563         Add a "language" field to tags.
7564
7565         (gtk_text_tag_set_arg): Fix bug in setting
7566         "bg_full_height_set" tag.
7567
7568 2000-06-21  Havoc Pennington  <hp@redhat.com>
7569
7570         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7571         in the interfaces
7572
7573         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7574         stuff instead when possible.
7575
7576         * gtk/gtktexttypes.h: Delete some unused constants
7577
7578         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7579         testtextbuffer.c: use glib instead of custom unicode routines
7580
7581 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7582
7583         * docs/es/: Removed mistakenly added generated sgml
7584
7585         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7586         Remove outdated info files.
7587
7588         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7589         Moved tutorial files into subdir
7590
7591         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7592         subdir.
7593
7594         * docs/man/gtk_button.pod: Remove. (contents will be
7595         integrated into gtk-reference button page.)
7596
7597         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7598         docs/faq/Makefile.am: Adjust for new organization
7599
7600 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7601
7602         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7603         not $(MKINSTALLDIRS)
7604
7605 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7606
7607         * gtk/testgtk.c (create_text): Finish the job Elliot started
7608         of removing font setting test for text widget. (Since text widget
7609         and GdkFont are not deprecated, and cause portability problems.)
7610
7611 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7612
7613         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7614         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7615         Remove use of libunicode in favor of new GLib functions.
7616
7617         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7618         nano-x, framebuffer. The X11 include is just a hack until we get
7619         the necessary functions in gdkcolor.h, so there is no reason to
7620         add other includes of platforms.
7621
7622         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7623         window bigger than the screen change.
7624
7625         * gtk/testgtk.c: Revert some random changes from Elliot
7626         that had no particular point and were causing testgtkrc
7627         not to function correctly.
7628         
7629         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7630         because GdkSegment and GdkRegionBox have the same fields,
7631         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7632         results in clearer code.
7633
7634         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7635         gdk_input_translate_coordinates): Fix missed GdkObjectification
7636
7637 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7638
7639         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7640         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7641
7642 2000-06-20  Havoc Pennington  <hp@redhat.com>
7643
7644         * modules/linux-fb/Makefile.am: Make this compile
7645         without framebuffer enabled
7646
7647         * gdk/linux-fb/Makefile.am: Add conditional to not build
7648         framebuffer unless specified in configure
7649
7650         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7651         the size of the target instead of source if -1 was passed for
7652         width/height
7653
7654         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7655         width/height confusion.
7656
7657 2000-06-19  Havoc Pennington  <hp@redhat.com>
7658
7659         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7660         GDK_DRAWABLE_XID. In the future, we probably want to make it
7661         faster with G_DISABLE_CHECKS turned on.
7662
7663 2000-06-14  Havoc Pennington  <hp@redhat.com>
7664
7665         * gdk/Makefile.am: add gdkpixmap.c
7666
7667         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7668         s/gdk_image_init/_gdk_windowing_image_init
7669
7670         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7671         ref/unref
7672
7673         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7674
7675         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7676         GdkWindowType is now non-deprecated; 
7677         change gdk_window_get_type() compat to be
7678         gdk_window_get_window_type().
7679
7680         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7681
7682         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7683         virtual GObject. Make all functions call into the vtable.
7684         Move gdk_image_put() guts in here. Remove GdkDrawableType
7685         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7686         draw_image, get_depth, get_size, set_colormap, get_colormap,
7687         get_visual added to the vtable.
7688         
7689         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7690         GObject. Virtualize everything. 
7691         (gdk_gc_new_with_values): remove check for destroyed window,
7692         because now GdkWindow::create_gc will check this.
7693         (gdk_gc_set_values): New function to set GC values, this 
7694         was already implemented but wasn't in the header
7695
7696         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7697
7698         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7699         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7700         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7701         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7702         _gdk_windowing_window_init, rename gdk_image_init to
7703         _gdk_windowing_image_init.
7704         
7705         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7706         (gdk_draw_layout): Remove check for destroyed window, 
7707         because all the drawable methods already check it.
7708         
7709         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7710         Add gdkpixmap.c which contains implementation of GdkDrawable
7711         virtual table (by chaining to a platform-specific implementation
7712         object).
7713         
7714         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7715         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7716         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7717         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7718         GdkColormapPrivate. 
7719
7720         * gdk/gdktypes.h: #include <glib-object.h>
7721
7722         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7723         Move most functionality to platform-specific implementation
7724         object. GdkWindow itself now handles the backing store, then
7725         chains to the platform-specific implementation.
7726         (gdk_window_get_window_type): return GdkWindowType of the window.
7727         (gdk_window_peek_children): New routine, returns the children of 
7728         a GdkWindow
7729         (gdk_window_get_children): Was in X11-specific code and did 
7730         XQueryTree. Changed to simply return a copy of window->children; 
7731         so it can go in cross-platform code.
7732         
7733         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7734
7735         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7736         GdkColormap; just changed to use the new private data instead
7737         of casting to GdkColormapPrivate.
7738
7739         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7740         gdk_cursor_new().
7741
7742         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7743         (private data member in the GObject). 
7744         (xdnd_manager_source_filter): Function had broken 
7745         error handling, fix it (use gdk_error_trap_push).
7746
7747         * gdk/x11/gdkdrawable-x11.c: This file now implements
7748         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7749         base class is purely for the convenience of the X port,
7750         and not part of the interface to cross-platform GDK.
7751
7752         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7753         
7754         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7755         specific to X, and returned by the create_gc virtual method
7756         of GdkDrawableImplX11. 
7757         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7758         rather than gchar, this was also changed in the GdkGC vtable.
7759         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7760         mask is 0, return immediately, instead of checking every flag.
7761         This is faster, and keeps us from segfaulting if values is NULL
7762         and the mask contains some nonzero flags.
7763
7764         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7765         GdkWindow.
7766
7767         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7768         GdkWindowPrivate is gone.
7769
7770         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7771
7772         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7773         remove the image_put stuff that got transferred to GdkDrawable.
7774         
7775         * gdk/x11/gdkinput.c: renamings
7776
7777         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7778
7779         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7780
7781         * gdk/x11/gdkprivate-x11.h: indentation fixes
7782
7783         * gdk/x11/gdkproperty-x11.c: renamings
7784
7785         * gdk/x11/gdkselection-x11.c: renamings
7786
7787         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7788         implements the platform-specific "impl" object.
7789         Moved gdk_window_get_children to gdk/gdkwindow.c
7790
7791         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7792         that no longer exist. Add declaration of GdkGCX11 object here.
7793         Fix all the macros to still work. 
7794
7795         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7796         GdkDragContext from the boxed types since they are now GObjects.
7797
7798         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7799         moved xthickness/ythickness into the instance. GtkStyleClass
7800         functions are now in the standard vtable for GtkStyle, so you have
7801         to create a GObject subclass to write a theme engine.
7802         (gtk_style_copy): fixed a leaked PangoFontDescription
7803         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7804         can be the standard GObject function.
7805         
7806         * Throughout GTK:
7807         s/style->klass->[xy]thickness/style->[xy]thickness
7808         s/pango_layout_unref/g_object_unref/
7809
7810         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7811         
7812         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7813         accessing GDK internals.
7814
7815         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7816         accessing GDK internals.
7817
7818 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7819
7820         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7821
7822         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7823         problem by calculating event position relative to the trough
7824         rather than the slider.
7825         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7826
7827         * gdk/gdkgc.h: Add GDK_NOR.
7828
7829         * configure.in, Makefile.am: Add modules top level dir
7830         * configure.in: Only use pangox library if building x11 target.
7831         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7832
7833 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7834
7835         * gtk/gtkcolorsel.c: Change private class member to be named
7836         private_data throughout the file.
7837
7838         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7839         private_data to avoid clashing with keyword.
7840
7841 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7842
7843         * gdk/gdkdnd.h: Add comment to remove warning.
7844
7845 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7846
7847         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7848         Byelorussian language; changed the Makefile and file names 
7849         to reflect that.
7850
7851 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7852
7853         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7854         rather than gdk_window_hide; this makes things work
7855         correctly if the window is programmatically hidden while
7856         iconified.
7857
7858 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7859
7860         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7861         cut and paste typo where wrong pixmap was being
7862         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7863
7864 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7865
7866         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7867         Add helper function to compute format / bytes 
7868         relationship. Use in a couple places to fix up
7869         errors which assume 8 * format.
7870
7871         * gtk/gtkselection.c (gtk_selection_request): Use 32
7872         rather than 8 * sizeof (GdkAtom), to work correctly
7873         on Alpha.
7874
7875 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7876
7877         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7878         libgtk.la
7879         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7880         versions
7881
7882         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7883         checking macros return NULL since the function has a return value.
7884
7885 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7886
7887         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7888         GTK+ from building at all.
7889
7890         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7891
7892 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7893
7894         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7895         gtk/Makefile.am: make it possible to configure gtk for different
7896         targets on the same platform. The library name is now 
7897         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7898         flag. Only the x11 target compiles right now.
7899         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7900         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7901         * gdk/nanox/gdk*generic*: delete generic region code.
7902         * gdk/linux-fb/gdk*generic*: delete generic region code.
7903         * README.nanox: update information.
7904         
7905 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7906
7907         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7908         prepend not append. (Pointed out by Brett Hall.)
7909
7910 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7911
7912         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7913
7914 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7915
7916         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7917         need this later, and this makes sure that the atexit for
7918         glib gets called after that for GDK, so atexits are
7919         properly ordered for object leak checking.
7920
7921         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7922
7923         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7924         pango_x_shutdown_display()
7925
7926         * gtk/simple.c (main): Close window on destroy.
7927
7928 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7929
7930         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7931         to treat initial creation different from setting with 
7932         regards to the graphics-exposures parameter, so add a parameter
7933         indicating whether this is initial or not.
7934
7935 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7936
7937         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7938         to sort of work by adding an extra return_exposes arg
7939         to gdk_event_translate() - it might be better to simply
7940         deprecate the function altogether and force people to rewrite
7941         without it. gdk_window_scroll() handles most of it, and where
7942         gdk_window_scroll() doesn't work, simply redrawing more does.
7943
7944         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7945         assertion.
7946
7947         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7948
7949         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7950         bunch of pretty much useless /* Print debugging info */ comments 
7951         which had drifted away from the code they were commenting.
7952
7953 2000-06-02  Havoc Pennington  <hp@pobox.com>
7954
7955         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7956         is in working order.
7957         
7958         * gtk/testtext.c: Change to reflect anonymous mark API
7959
7960         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7961
7962         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7963         field, which was unused.
7964
7965         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7966         saves some typing.
7967
7968         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7969
7970         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7971         flag on the insertion point and selection bound
7972
7973         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7974         make mark-manipulation functions take a GtkTextMark* instead of a
7975         mark name.
7976         
7977         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7978         GtkTextMarkBody; will be used to detect attempts to delete
7979         the permanent marks (insert and selection bound)
7980
7981         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7982
7983 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7984
7985         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7986         flag to on.
7987
7988         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7989         Honor DOUBLE_BUFFRED_FLAG
7990
7991         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7992         function to set the DOUBLE_BUFFERED flag.
7993
7994         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7995         or not exposes done on the widget should be double-buffered.
7996
7997         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7998         to be what would be expected. (Fixes problem with a
7999         g_return_if_fail() validating a TextDirection enumeration)
8000
8001 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8002
8003         * gtk/gtkwidget.c: Remove all references to 
8004         offscreen flag which was no longer used.
8005
8006         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8007
8008         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8009         for non-null label_widget->parent.
8010
8011         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8012         which no longer was used.
8013
8014         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8015
8016         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8017         for null arguments.
8018
8019         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8020         check for destroyed windows.
8021
8022 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8023
8024         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8025         the slave context there.
8026
8027         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8028         identical to GtkWindow.
8029
8030 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8031
8032         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8033         pangox to here, so we can write them independent of rendering
8034         system, using GDK primitives.
8035
8036         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8037         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8038         since we have a rendering-system independent implementation in
8039         terms of draw_glyphs().
8040         
8041         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8042         function to render a single line.
8043
8044         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8045         into ../gdkpango.c, which simplifies things, since we
8046         don't have to deal with raw X gc's.
8047
8048 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8049
8050         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8051         get the logical attributes for a given GtkTextLine.
8052
8053 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8054
8055         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8056         g_locale_get_codeset() to g_get_codeset() change.
8057
8058 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8059
8060         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8061         descriptions.
8062
8063         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8064         the entry.
8065
8066         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8067         redoing (vastly simplifying) for Pango. Still needs quite
8068         a bit of work. (Size selection is currently poor. List of 
8069         predefined sizes is not a good idea, since all of these
8070         sizes won't necessarily be distinct.)
8071
8072 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8073
8074         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8075         CODESET results for LANG=C.
8076
8077 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8078
8079         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8080         which takes a stringized pango font description;
8081         ignore the older 'font' and 'fontset' declarations.
8082
8083         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8084         field with a GdkFont derived via gdk_font_from_description(),
8085         for compatibility. (Should we just remove it entirely?
8086         Probably too much compatibility breakage, but people
8087         should be migrating to the new Pango stuff as quickly
8088         as possible.)
8089
8090 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8091
8092         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8093
8094 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8095
8096         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8097         redoing; there are some bugs in size allocation right
8098         now, the semi-existant distinction between header / day
8099         fonts was removed, but, with Pango, could actually
8100         be made functional in a nice way.
8101         
8102         * gtk/testcalender: Move calender from examples into this
8103         directory as a test program. (We really need to restrcture
8104         testgtk into a whole directory full of tests for every
8105         widget or functionality group, separated into multiple .c
8106         files.)
8107
8108 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8109
8110         * gtk/testgtk.c (file_exists): Fix stupid typo that
8111         was keeping RC file from being loaded.
8112
8113         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8114         RC file font code.
8115
8116 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8117
8118         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8119         Add function to load a GdkFont from a PangoFontDescription.
8120
8121 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8122
8123         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8124         variable should be of type GdkEventPrivate.
8125
8126 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8127
8128         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8129         to have any widget for the label, use a GtkLabel widget
8130         to display the text. (Based partially on a patch from
8131         Anders Carlson.)
8132
8133         (Quite a bit of code reorganization - strip 90% of the
8134         guts out of gtkaspectframe and add a single virtual
8135         func to GtkFrameClass - compute_child_allocation.)
8136
8137 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8138
8139         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8140         (Removed clist->row_center_offset field because caching
8141         it wasn't saving time or code, added private function
8142         _gtk_clist_create_cell_layout()).
8143
8144 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8145
8146         * gtk/gtkaccellabel.c: Pangoized.
8147
8148         * gtk/[hv]ruler.c: Pangoized
8149
8150 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8151
8152         * gtk/gtkfilesel.c (gtk_file_selection_init):
8153         Use gtk_clist_set_column_auto_resize() to remove need
8154         need for manual column width computations.
8155
8156 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8157
8158         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8159         ensuring Pango correctness, and considerably simplifying the
8160         code.
8161         
8162         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8163
8164         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8165         getting of numbers of lines.
8166
8167         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8168         to the actual requested width of the lable, not to the wrap
8169         width we set.
8170
8171         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8172
8173         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8174           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8175
8176         * gtk/gtktextview.c: Fix structure inheritance.
8177
8178         * gtk/gtkprogressbar.c: Pangoize.
8179
8180 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8181
8182         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8183         in a function.
8184
8185         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8186         bug with computing line tops.
8187
8188         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8189
8190 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8191
8192         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8193         and y_offset coordinates to do what we need now. (The offset between
8194         buffer and layout coordinates has been reintroduced, but is a 
8195         bit different than before.)
8196
8197         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8198         handle the adjustments ourselves, and scroll as necessary using
8199         the new gdk_window_scroll().
8200         
8201         The advantage of this is that when we are incrementally revalidating,
8202         we are essentially rearranging things around the visible portion
8203         of the screen. With the old setup, the visible portion of the
8204         screen was moved around in the layout, so scrolling and redrawing
8205         to track that caused jumping of the display. Since we now
8206         control the scrolling ourselves, we can suppress this and
8207         only redraw when things actually change.
8208
8209 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8210
8211         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8212         the region not just redisplay it after-all, since we store the
8213         cursors in the LineDisplay. (Ugly interactions here between
8214         GtkLayout and GtkTextBTree here.)
8215         
8216         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8217
8218 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8219
8220         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8221         Added function to scroll contents of a window while keeping the
8222         window constant. Works by XCopyArea or guffaw-scrolling depending
8223         on the details of how the window is set up. (guffaw-scrolling
8224         still needs to be filled in.)
8225
8226 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8227
8228         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8229         move the debugging that was tied to a global variable
8230         to that.
8231
8232         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8233
8234         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8235         validated flag, in line data instead of setting height/width to
8236         -1. This allows us to perform operations with partially invalid
8237         buffer (using the old size for invalid lines) and thus to do
8238         incremental vaidation. Keep height/width aggregates up to date
8239         when deleting text and rebalancing the tree.
8240
8241         * gtk/gtktextbtree.[ch]: Add functions validate a line
8242         (gtk_text_btree_validate_line), and to validate up
8243         to a number of pixels (gtk_text_btree_validate).
8244
8245         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8246         that indicates that something is changed and a revalidation
8247         pass is needed. Change ::need_repaint to ::changed, and
8248         make it take old and new yranges instead of a rectangle.
8249
8250         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8251         the line_data_destroy() function from 
8252         gtk_text_btree_add_view() to a virtual function in 
8253         GtkTextLayout
8254
8255         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8256         since we are handling partial repaints in a different fashion
8257         now.
8258
8259         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8260         of the selection instead of queueing a repaint on the
8261         entire widget.
8262
8263         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8264         get_selection_bounds() down to btree, make the function
8265         in buffer a wrapper around the btree function.
8266
8267         * gtk/gtktextlayout.[ch]: Add functions to check if the
8268         layout is valid and to recompute either a range of pixels
8269         aroudn a line or a certain total number of pixels.
8270
8271         * gtk/gtktextlayout.[ch]: Cache a single line display;
8272         now that we only redraw the needed portions, the hit rate
8273         for this cache is quite high.
8274         
8275         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8276         on the screen so that when re-laying-out the buffer, we can
8277         keep the same place. This requires connecting to ::value_changed
8278         on the adjustments
8279
8280         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8281         the buffer after we receive an ::invalidated signal.
8282         
8283 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8284
8285         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8286         to max of allocation and layout size, not just to the
8287         layout size.
8288
8289         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8290         Invalidate window so it gets redrawn properly.
8291
8292         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8293         to mean the entire window.
8294
8295         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8296         into public header.
8297
8298 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8299
8300         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8301         to get the name of a mark.
8302
8303         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8304         to find the paragraph from a y position.
8305
8306 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8307
8308         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8309         nodes have width/height >= 0, not > 0.
8310
8311 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8312
8313         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8314         Add a size_only flag, so when we only need the size, we don't create
8315         useless appearance attributes.
8316
8317         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8318         duplicate setting of font description.
8319
8320         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8321
8322 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8323
8324         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8325         EXTRA_DIST. It does not work well when the file that
8326         everything depends on is not in the tarball.
8327
8328 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8329
8330         * gtk/testgtk.c: Some hacks and fixes so that it basically
8331         works when not sitting in the GTK+ build tree.
8332
8333 2000-05-03  Havoc Pennington  <hp@redhat.com>
8334
8335         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8336         Properly determine the ordering of the tag root and the current
8337         line within the tree. Previous algorithm only worked if the tag
8338         root's immediate parent was the common root of both the current
8339         line and the tag root.
8340
8341 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8342
8343         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8344         alignment.
8345
8346         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8347         the widget text directional dynamically.
8348
8349         * gtk/gtktextview.[ch]: Added functions to get and set default
8350         wrap mode.
8351
8352 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8353
8354         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8355         in cursor location computation.
8356
8357 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8358
8359         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8360         vadjusment values properly when layout gets smaller.
8361
8362         * gtk/gtktextview.c (need_repaint_handler): Areas being
8363         passed in are far completely inaccurate, and sometimes
8364         too small, so, for now, just queue a redraw on the
8365         whole visible region.
8366
8367 2000-04-25  Havoc Pennington  <hp@redhat.com>
8368
8369         * gtk/gtktextbtree.c (summary_destroy): new function to 
8370         destroy tag summary nodes
8371         (gtk_text_line_next_could_contain_tag): this function was 
8372         totally broken if the line passed in wasn't below the tag
8373         root. Fix it.
8374         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8375         "wildcard" case, we have to do a linear scan. Blah.
8376         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8377         we have to do the linear scan
8378         (tag_removed_cb): When a tag is removed from the tag table, 
8379         remove the GtkTextTagInfo node from the btree.
8380         (gtk_text_btree_spew): Implement the spew function, for 
8381         our debugging pleasure.
8382
8383 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8384
8385         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8386         a problem with referring to the wrong buffer.
8387
8388         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8389
8390         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8391         font description to gtk_style_new() - otherwise things
8392         don't work without a .gtkrc file.
8393
8394         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8395         tags table if we create it ourself, too.
8396
8397         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8398         it was conflicting with XKB modifiers.
8399
8400         * gtk/gtktextview.[ch]: Add simple support for 
8401         GtkIMContext.
8402
8403 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8404
8405         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8406         with deletion from last commit.
8407
8408 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8409
8410         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8411         in the context from the current locale.
8412         
8413         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8414         context, not hardcoded value.
8415
8416         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8417         not logical.
8418
8419 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8420
8421         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8422         attributes - that doesn't handle partial-glyph selection
8423         properly. Instead use new pango_layout_line_get_x_ranges()
8424         functionality to draw the selection.
8425
8426         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8427         now properly handles out-of-range coordinates.
8428
8429         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8430
8431         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8432         public.
8433
8434         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8435         for paragraphs opposite to the base direction of the widget.
8436
8437         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8438
8439         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8440         causes Arabic words to reshape as you cursor through.
8441
8442         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8443         cursor position when moving vertically with the arrow keys and
8444         scrolling with page-up/page-down. (Arrow keys save only the X,
8445         scrolling saves both X and Y.)
8446
8447         This means you can line-up / line-down or page-up / page-down
8448         without losing your place, and also that moving vertically
8449         with the cursor keys keeps the same X position, not the same
8450         character count:
8451
8452         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8453         arrow keys move by display lines, not paragraphs.
8454
8455 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8456
8457         * gtk/gtklayout.c: Make sure that the bin window is at least
8458         as big as the allocation. (Should we also make sure that the
8459         bin window is big enough to completely cover widget->window?)
8460
8461         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8462         function to get the onscreen rectangle.
8463
8464         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8465         for offsets in window coordinates.
8466
8467 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8468
8469         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8470         confusion.
8471
8472         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8473         from the widget direction.
8474
8475         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8476         Add a "direction" attribute.
8477
8478         * gtk/gtktextview.c: global s/tkxt/text_view/.
8479
8480         * gtk/testtext.c: Added long block of text in Arabic, to test out
8481         the direction attributes. (Some problems with the shaping system
8482         for arabic become obvious - like the fact the cursor splits words
8483         into unjoined pieces.)
8484
8485 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8486
8487         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8488
8489         * gtk/gtktextlayout.c: Fix up alignment.
8490
8491         * gtk/testtext.c: Add some tests for centering, wrapping.
8492
8493 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8494
8495         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8496         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8497         If we wrote GTK+-specific layout-render function this could just replace
8498         the draw_layout() operation in the vtable.
8499
8500         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8501         pango_layout_get_cursor_pos() and use that function.
8502
8503         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8504         is a non-static symbol.
8505
8506         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8507         with gtk_text_btree_find_line_by_y()
8508
8509         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8510         renderer that handles GtkTextAppearance attributes.
8511
8512         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8513
8514           - Move the values in the style that don't affect geometry into a
8515             GtkTextAppearance structure.
8516           - Change underline to take a PangoUnderline and "font" a string
8517             representation of a font description
8518           - Add a "font_desc" attribute which takes a FontDescription structure.
8519
8520         * gtk/gtktextlayout.[ch]:
8521
8522           - Get rid of the display-line list per each line. Instead, we
8523             generate, on demand, a GtkTextLineDisplay structure which]
8524             contains a PangoLayout * and other necesary information
8525             (offsets, cursor locations) for displaying a paragraph.
8526           - Get rid of the code to wrap lines, create display chunks,
8527             etc. Instead, we just go through a paragraph and convert
8528             it into the necessary inputs to a PangoLayout.
8529           - Implement a new attribute type, GtkTextAttrAppearance. This
8530             holds a GtkTextAppearance, and is used to pass colors, 
8531             stipple, etc, through from the layout to the display without
8532             having to use lots and lots of individual attributes.
8533           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8534             in terms of PangoLayout functions.
8535         
8536         * gtk/gtktextview.c: 
8537          
8538           - Handle passing the necessary PangoContext to the layout
8539           - Some fixups in painting to deal with the automatic backing store
8540             and offsetting of GTK+-1.4
8541           - Add a style_set handler so that the default style reacts
8542             properly to theme changes.
8543         
8544         * gtk/gtktext?*.[ch]: Random code-style fixes.
8545
8546         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8547
8548 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8549
8550         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8551         in original form preparatory to Pango-ization and gdkimcontext-ization.
8552
8553 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8554
8555         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8556         so that we can derive from gtkimcontext in language bindings properly.
8557
8558 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8559
8560         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8561         Add a compose table including (almost) all the compose combinations
8562         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8563         data in the XIM implementation.
8564
8565         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8566         Moved functions to convert keyvalues from and to unicode here from
8567         the win32 port and made them public.
8568
8569 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8570
8571         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8572
8573 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8574
8575         * gtk/gtkimcontext.[ch]: Base class for new input context system
8576
8577         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8578         the real input context implementation to be loaded from modules
8579         and switched on the fly.
8580
8581         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8582         context that just does direct keysymbol => unicode translation.
8583
8584         * gtk/gtkentry.[ch]: Start switching editing over to using
8585         GtkInputContext. (No handling of preedit yet.)
8586
8587 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8588
8589         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8590         many substitutions. (klass should not be subsituted.)
8591
8592 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8593
8594         * configure.in: Add checks for Pango
8595
8596         * configure.in docs/Makefile.am: Add test for sgml2html
8597         and allow 'make dist' without building html, but print out
8598         warnings in that case. (For making snapshots)
8599
8600         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8601         Add Pango libraries and C flags
8602
8603         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8604         Add function (gdk_draw_layout) to draw a pango layout.
8605
8606         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8607         for getting Pango contexts for GDK.
8608
8609         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8610
8611         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8612         editing.
8613
8614         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8615         keysym => unicode translations. More languages can be added
8616         here, but real input-method support is needed.
8617
8618         * docs/Changes-1.4.txt: Added note about entry behavior.
8619         
8620         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8621         to set the reading direction for a widget and the global direction.
8622         Add test which allows toggling the global direction. Two private
8623         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8624
8625         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8626           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8627
8628         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8629
8630         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8631         underlining now handled by Pango.
8632
8633         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8634         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8635         is temporary.)
8636
8637         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8638         convenience functions for creating contexts and layouts for widgets.
8639
8640         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8641
8642 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8643
8644         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8645         titles to be active, even if they aren't visible.
8646         (gtk_clist_column_titles_passive):  Ditto.
8647
8648 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8649
8650         * gtkmenu.c:
8651         * gtkmenu.h:
8652         * gtktypeutils.h: Spelling/grammar fixes in comments.
8653
8654 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8655
8656         * gdk/nanox/*.h: add missing header files.
8657
8658 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8659
8660         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8661         send_event to TRUE.
8662         (gtk_drawing_area_size): queue a resize.
8663
8664 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8665
8666         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8667         the handlers, also invalidate them. bug nailed down by Karl Nelson
8668         <kenelson@ece.ucdavis.edu>.
8669
8670 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8671
8672         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8673         "(nil)" foundries, patch from Grigorios Magklis.
8674
8675         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8676         on non-available fonts, based on a patch by Grigorios Magklis
8677         <maglis@cs.rochester.edu>.
8678
8679 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8680
8681         * gdk/x11/gdkregion-generic.c: If a region does not have any
8682         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8683         instead of GDK_OVERLAP_RECTANGLE_IN.
8684
8685 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8686
8687         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8688         OFFSCREEN, as it is no longer necessary.
8689
8690 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8691
8692         * gtk/gtkcolorsel.c: Patch from David Santiago
8693         <mrcooger@cyberverse.com> to change things so that the 
8694         indicator of the active palette entry is done independently,
8695         not via the focus, since it should always be visible.
8696
8697 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8698
8699         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8700         refcount leaks as in the X11 backend.
8701
8702         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8703         cosmetics.
8704
8705         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8706         backend. Add _gdk_windowing_window_destroy().
8707
8708         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8709         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8710         either, but these probably do exist on nanox?)
8711         
8712         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8713         which isn't necessarily defined by <math.h>.
8714
8715         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8716         ancestry past GtkObject.
8717
8718         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8719         from DLL on Win32.
8720
8721         * gtk/gtk.def: Update corresponding to recent changes.
8722
8723         * gtk/makefile.{cygwin,msc}: Updates.
8724
8725 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8726
8727         * docs/Changes-1.4.txt: A bit of editing.
8728
8729         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8730         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8731         to clear the update area for the window, and clear it
8732         when hiding a window.
8733
8734         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8735         if window destroyed.
8736
8737         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8738
8739         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8740         gdk_window_destroy() to the generic code, since there was a lot of 
8741         window-system-independent logic it in. Add a function:
8742         
8743          _gdk_window_destroy() 
8744
8745         to the internal API to destroy a window without unreferencing it.
8746         Add a function:
8747
8748          _gdk_windowing_window_destroy()
8749
8750         That does the windowing-system-dependent part of destroying 
8751         the window.
8752
8753 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8754
8755         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8756
8757 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8758
8759         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8760         Make gtk_widget_shape_combine_mask() keep a reference count on
8761         the pixmap since it keeps it around.
8762
8763 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8764
8765         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8766         leak.
8767
8768         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8769         leak with event filters.
8770
8771 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8772
8773         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8774         signal handlers with the right data arguments. (Fixes
8775         some warnings when a widget was repeatedly set as a drag
8776         destination.)
8777
8778         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8779         window so we can avoid avoid setting the DND properties on the
8780         toplevel window repeatedly.
8781
8782 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8783
8784         * gdk/win32/gdkwin32.h: Define more message types missing from
8785         mingw headers.
8786
8787         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8788         call gdk_window_destroy_notify(). It was never called. This
8789         probably meant that the GdkWindow was never freed. Thanks Owen for
8790         noticing (!).
8791
8792         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8793         window as destroyed before calling DestroyWindow(). DestroyWindow()
8794         causes a call to the window procedure (gdk_WindowProc), which
8795         calls gdk_event_translate(), which calls
8796         gdk_window_destroy_notify(), which gets confused unless the window
8797         is set as destroyed.
8798
8799         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8800         this function to indicate it's win32 only. Put inside #ifdef
8801         G_ENABLE_DEBUG.
8802
8803         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8804         debugging function. (gdk_event_translate:) Add a default branch
8805         that uses the above function to print debug messages with all
8806         Windows messages symbolically.
8807
8808         * gdk/win32/gdkprivate-win32.h: Declare it, and
8809         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8810
8811 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8812
8813         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8814         public header file.
8815
8816 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8817
8818         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8819
8820         * gtk/gtktext.c: made the adjustments no-construct args, simply
8821         provide default adjustments.
8822         (gtk_text_destroy): release adjustments.
8823
8824         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8825         adjustment argument non-construct.
8826
8827         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8828         instead of in finalize.
8829         (gtk_progress_get_text_from_value): 
8830         (gtk_progress_get_current_text): 
8831         (gtk_progress_set_value): 
8832         (gtk_progress_get_percentage_from_value): 
8833         (gtk_progress_get_current_percentage): 
8834         (gtk_progress_set_percentage): 
8835         (gtk_progress_configure): ensure an adjustment is present.
8836
8837 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8838
8839         * gtk/gtkcolorsel.[hc]:
8840         * gtk/gtkcolorseldialog.[hc]:
8841         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8842         their parent implementation, use bit fields for boolean values, don't
8843         create unused widgets, usage of glib types, braces go on their own
8844         lines, function argument alignment, #include directives etc. etc. etc..
8845
8846         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8847
8848 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8849
8850         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8851
8852         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8853         of NULL.
8854
8855         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8856         to freed data.
8857         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8858
8859         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8860         to NULL when the toplevel is getting destroyed.
8861         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8862         (gtk_menu_destroy): 
8863         (gtk_menu_init): store the information of whether we have to
8864         readd the initial child ref_count during destruction in a new
8865         GtkMenu field needs_destruction_ref_count.
8866
8867         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8868         here, those reading: learn from my mistake! ;)
8869         in order for set_?adjustment to support a default adjustemnt if
8870         invoked with an adjustment pointer of NULL, the code read (pseudo):
8871         if (v->adjustment) unref (v->adjustment);
8872         if (!adjustment) adjustment = adjustment_new ();
8873         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8874         now imagine the first unref to actually free the old adjustment and
8875         adjustment_new() creating a new adjustment from the very same memory
8876         portion. here, the latter comparision will unintendedly fail, and
8877         all hell breaks loose.
8878         (gtk_viewport_set_hadjustment):
8879         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8880         after unreferencing it.
8881
8882         * gtk/gtkcontainer.[hc]: removed toplevel registration
8883         functions: gtk_container_register_toplevel(),
8884         gtk_container_unregister_toplevel() and
8885         gtk_container_get_toplevels() which had wrong semantics
8886         anyways: it didn't reference and copy the list.
8887
8888         * gtk/gtkwindow.c: we take over the container toplevel registration
8889         bussiness now. windows are registered across multiple destructions,
8890         untill they are finalized. the initial implicit reference count
8891         users are holding on windows is removed with the first destruction
8892         though.
8893         (gtk_window_init): ref & sink and set has_user_ref_count, got
8894         rid of gtk_container_register_toplevel() call. add window to
8895         toplevel_list.
8896         (gtk_window_destroy): unref the window if has_user_ref_count
8897         is still set, got rid of call to
8898         gtk_container_unregister_toplevel().
8899         (gtk_window_finalize): remove window from toplevel list.
8900         (gtk_window_list_toplevels): new function to return a newly
8901         created list with referenced toplevels.
8902         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8903
8904         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8905         adjustment a non-construct arg.
8906         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8907         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8908         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8909
8910         * gtk/gtkrange.c: added some realized checks.
8911         (gtk_range_destroy): get rid of the h/v adjustments in the
8912         destroy handler instead of finalize. remove timer.
8913         (gtk_range_get_adjustment): demand create adjustment.
8914
8915         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8916         we simply create them on demand now and get rid of them in
8917         the destroy handler.
8918         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8919         destroy handler instead of finalize.
8920         (gtk_viewport_get_hadjustment): 
8921         (gtk_viewport_get_vadjustment): 
8922         (gtk_viewport_size_allocate): demand create h/v adjustment
8923         if required.
8924
8925         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8926         gtk_widget_real_destroy () functionality.
8927         (gtk_widget_real_destroy): reinitialize with a new style, instead
8928         of setting widget->style to NULL.
8929
8930 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8931
8932         * gtk/gtkcalendar.c:
8933         * gtk/gtkbutton.c: ported _get_type() implementation over to
8934         GType, either to preserve memchunks allocation facilities,
8935         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8936
8937         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8938         over. prepare for ::destroy to be emitted multiple times.
8939         removed reference tracer magic. chain into GObjectClass.shutdown()
8940         to emit ::destroy signal.
8941
8942         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8943         fundamental.
8944
8945         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8946         cludge.
8947
8948         * gtk/gtksocket.c:
8949         * gtk/gtkplug.c:
8950         * gtk/gtklayout.c:
8951         * gtk/gtklabel.c:
8952         * gtk/gtkargcollector.c:
8953         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8954         not being a fundamental anymore, and to work with the new
8955         type system (nuked fundamental type varargs clutter).
8956
8957         * gtk/*.c: install finalize handlers in the GObjectClass
8958         part of the class structure.
8959         changed direct GTK_OBJECT()->klass accesses to
8960         GTK_*_GET_CLASS().
8961         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8962
8963         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8964         GType. made most of the GTK_*() type macros and Gtk* typedefs
8965         simple wrappers around macros and types provided by GType.
8966         most notably, a significant portion of the old API vanished:
8967         GTK_TYPE_MAKE(),
8968         GTK_TYPE_SEQNO(),
8969         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8970         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8971         GTK_TYPE_ARGS,
8972         GTK_TYPE_CALLBACK,
8973         GTK_TYPE_C_CALLBACK,
8974         GTK_TYPE_FOREIGN,
8975         GtkTypeQuery,
8976         gtk_type_query(),
8977         gtk_type_set_varargs_type(),
8978         gtk_type_get_varargs_type(),
8979         gtk_type_check_object_cast(),
8980         gtk_type_check_class_cast(),
8981         gtk_type_describe_tree(),
8982         gtk_type_describe_heritage(),
8983         gtk_type_free(),
8984         gtk_type_children_types(),
8985         gtk_type_set_chunk_alloc(),
8986         gtk_type_register_enum(),
8987         gtk_type_register_flags(),
8988         gtk_type_parent_class().
8989         replacements, where available are described in ../docs/Changes-1.4.txt.
8990         implemented compatibility functions for the remaining API.
8991
8992         * configure.in: depend on glib 1.3.1, use gobject module.
8993
8994 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8995
8996         * TODO.xml: Various updates to current status.
8997
8998 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8999
9000         * gtk.m4: Print out version when test succeeds.
9001
9002 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9003
9004         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9005         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9006         
9007         (Original triangle color selector from Simon Budig
9008         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9009         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9010         Santiago <mrcooger@cyberverse.com>)
9011
9012         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9013         out into a separate widget.
9014
9015         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9016         and opacity controls.
9017
9018 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9019
9020         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9021         snuck in prematurely.
9022
9023 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9024
9025         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9026         had deleted a ! operator by mistake, which caused
9027         GDK_SELECTION_CLEAR events never to be generated, which caused
9028         only the first copy to the clipboard from an gtkeditable to
9029         actually cause a copy to the Windows clipboard.
9030
9031 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9032
9033         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9034         compilation, too. Current mingw gcc distributions include the
9035         necessary headers. Also the necessary IIDs are now in mingw
9036         headers/libraries, and own definitions unnecessary.
9037
9038         More hacking on OLE2 DND, still doesn't work though, and thus
9039         ifdeffed out.
9040
9041         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9042         here, too.
9043
9044 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9045
9046         * gdk/nanox/*: nano-X port work in progress.
9047         * gdk/simple.c: simple test for Gdk.
9048         * README.nanox: notes about the port: read this first!
9049         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9050         with nano-X.
9051
9052 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9053
9054         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9055         gdk_window_clear() into common code, implement in terms of
9056         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9057         not redirected to the backing rectangle.
9058
9059 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9060
9061         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9062         EXTRA_DIST. It does not work well when the file that
9063         everything depends on is not in the tarball.
9064
9065 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9066
9067         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9068         with recursion where process_updates() is called from
9069         an expose handler. (GtkTextView is highly broken in
9070         doing this, but it should work, so it is a nice test
9071         case.)
9072
9073 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9074
9075         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9076         handle the case where updates are queued during processing of
9077         updates.
9078
9079 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9080
9081         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9082         window is on gdk_display - use that instead of segfaulting.
9083
9084 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9085
9086         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9087         broken and require an empty arg, give it to them.
9088
9089 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9090
9091         * gtk/gtklabel.h: indentation fixes.
9092
9093 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9094
9095         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9096         draw too narrow or too low arcs, they seem to fail, at least with
9097         some display drivers.
9098
9099         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9100
9101         Large changes to the Win32 backend, partially made necessary by
9102         the changes to the backend-independent internal
9103         structures. Attempts to implement similar backing store stuff as
9104         on X11. The current (CVS) version of the Win32 backend is *not* as
9105         stable as it was before the no-flicker branch was merged. A
9106         zipfile with that version is available from
9107         http://www.gimp.org/win32/. That should be use by "production"
9108         code until this CVS version is usable. (But note, the Win32
9109         backend has never been claimed to be "production quality".)
9110
9111         * README.win32: Add the above comment about versions.
9112
9113         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9114
9115         * gdk/gdk.def: Update.
9116
9117         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9118         presumably be replaced by some more better mechanism as 1.4 gets
9119         closer to release shape.
9120
9121         * gdk/makefile.{cygwin,msc}: Update.
9122
9123         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9124         internal headers. Change code according to changes in these. Use
9125         gdk_drawable_*, not gdk_window_* where necessary.
9126
9127         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9128         our old DND.
9129
9130         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9131         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9132         Use correct function name in warning messages.
9133
9134         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9135         GSourceFuncs gdk_event_prepare and gdk_event_check.
9136         (gdk_event_get_graphics_expose): Do implement, use
9137         PeekMessage. Thanks to Hans Breuer.
9138         (event_mask_string): Debugging function to print an GdkEventMask.
9139         (gdk_pointer_grab): Use it.
9140
9141         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9142         (old) book I used claimed was Hangul actually is CJK Unified
9143         Ideographs Extension A. Also, Hangul Syllables were missing.
9144         Improve logging.
9145
9146         * gdk/win32/gdkgc-win32.c: Largish changes.
9147
9148         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9149         g_win32_getlocale() from GLib, and not setlocale() to get current
9150         locale name.
9151
9152         * gdk/win32/gdkprivate-win32.h
9153         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9154         gdkwin32.h, similarily as in the X11 backend.
9155
9156         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9157         assignment was used instead of equals in if test. Thanks to Hans
9158         Breuer.
9159
9160         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9161         the X11 version.
9162
9163         * gdk/win32/makefile.{cygwin,msc}
9164         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9165         path to the Win32 headers that works also with the mingw compiler.
9166
9167         * gtk/gtkstyle.c: Include <string.h>.
9168
9169 2000-04-26  Havoc Pennington  <hp@redhat.com>
9170
9171         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9172         replacing the broken gtk_label_get ()
9173
9174 2000-04-15  Havoc Pennington  <hp@pobox.com>
9175
9176         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9177         this keeps scanner scripts from getting confused.
9178
9179         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9180         data, rather than void
9181
9182 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9183
9184         * gtk/gtkclist.c (gtk_clist_motion)
9185         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9186         with is_hint FALSE, get x and y from the event. They used to be
9187         used uninitialised. The Win32 backend never sends motion events
9188         marked as hints. This for instance fixes the annoying file and
9189         font selector behaviour in the Win32 version.
9190
9191 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9192
9193         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9194         gtk_private_n_signals variables, they are used by some software,
9195         sigh.
9196
9197         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9198         installation directory from the Registry, where the installer
9199         should have put it.
9200
9201 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9202
9203         * gdk/x11/Makefile.am: Fix problem with installation directory for
9204         gdkx.h
9205
9206         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9207         <mrcooger@cyberverse.com> so that when selecting menus with the
9208         mouse, the first item will not be selected, but when selecting
9209         with an accelerator, or navigating left-right on a menubar with
9210         the menus popped up, the first item will be selected.
9211
9212 2000-04-05  Dan Damian  <dand@dnttm.ro>
9213
9214         * configure.in: Added "ro" to ALL_LINGUAS.
9215
9216 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9217
9218         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9219         indentation.
9220
9221         * Makefile.am (EXTRA_DIST): Fix typo.
9222
9223         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9224         to catch gdkconfig.h
9225
9226         * gtk/gtkitemfactory.c: Added FIXME.
9227
9228 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9229
9230         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9231         s/return_if_fail/return_val_if_fail/g and add a return value.
9232
9233 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9234
9235         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9236         merge slipup.
9237
9238         * gdk/gdkinput.h: Fix missing line from merge.
9239
9240 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9241
9242         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9243         instead of gdkprivate.h.
9244
9245 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9246
9247         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9248         parent class to correctly be GtkDialogClass.
9249
9250 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9251
9252         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9253         toplevel windows and their immediate children by their parents,
9254         since the size of toplevel windows is out of our immediate
9255         control and we don't get any real benefit from trying to track
9256         this size for clipping.
9257
9258         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9259         for input_only windows.
9260
9261         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9262         to fix some hacks and make sure that we don't try to set the
9263         background of input only windows.
9264
9265 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9266
9267         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9268         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9269         stuff that we've traditionally exposed.
9270
9271         * gdk/**.c: Use gdkinternals.h where appropriate.
9272
9273         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9274         not include gdkprivate-x11.h, move all stuff of conceivable public
9275         interest into gdkx.h; keep all really private stuff in
9276         uninstalled header gdkprivate-x11.h.
9277
9278         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9279         image->image_put on windows through a new function _gdk_window_draw_image()
9280         to allow us to do backing store for images. (Sort of ugly)
9281
9282         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9283         contexts locally so that we can offset them properly when drawing 
9284         onto backing pixmaps.
9285
9286         * gdk/gdkinput.h: Reindented
9287
9288         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9289         pixmap or color for the window, so we can properly initialize
9290         our double-buffer pixmaps, and also so that we temporarily set
9291         a background of None while scrolling.
9292
9293         * gdk/gdkregion.h: Revise region boolean operators to have an
9294         interface that is actually convenient - switch from creating new
9295         regions on every op, to "methods" that modify existing regions
9296         (A = A OP B). 3 argument forms which allow dest == src, would also
9297         be possible, but the current interfaces seem to map nicely
9298         onto what needs to be done. (There is quite a lot of region
9299         code in GDK now.)
9300
9301         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9302         operator.
9303
9304         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9305         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9306         to 32 bit coordinates, modify it to be mostly GTK+ style
9307         and to have interfaces that match gdkregion.h.
9308
9309         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9310         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9311         create a backing pixmap and redirect all drawing to
9312         that backing pixmap until a matching gdk_window_end_paint().
9313
9314         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9315         Create a special drawable class for GtkWindow's that 
9316         redirects the drawing to the backing pixmap as necessary
9317         and then calls the real operations in _gdk_windowing_window_class.
9318
9319         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9320         Store invalid region for each window. Generate expose events for invalid
9321         region in an idle. This replaces both the expose compression
9322         and the redrawing queuing in GTK+. It is both more efficient and
9323         simpler than either one individually and far more so then the
9324         combination.
9325
9326         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9327         Emulate 32 bit coordinates for windows with 16 bit coordinates
9328         by offsetting drawing, guffaw scrolling techniques and
9329         mapping/unmapping child windows as necessary.
9330
9331         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9332         where, when invalid regions are processed, the region is stored,
9333         and if expose events come in that are detectably duplicate
9334         the processed exposes (by comparison of event serial numbers),
9335         the stored region is subtracted out of those exposes.
9336
9337         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9338         regions newly exposed when scrolling or resizing windows.
9339         This, combined with forcing processesing of queued invalidated
9340         regions, gives nice flicker-free scrolling.
9341
9342         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9343         invalidated regions after every scroll.
9344
9345         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9346         emulation in GDK. Its, for all practical purposes just a
9347         GtkViewport/GtkFixed hybrid now.
9348
9349         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9350         (16-bit) structures as necessary instead of just casting.
9351
9352         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9353         in terms of the structures from gdkregion-generic.c, using appropriate
9354         offsets from GDK to X11 coordinates. Cache clip mask and
9355         origin and ts origin locally and only flush to the server
9356         when drawing, to avoid constantly setting and resetting these
9357         values when offsetting GC's for scrolling and backing pixmaps.
9358
9359         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9360
9361         * gtk/gtkcontainer.c: Call process_all_updates at end
9362         of resizing to reduce flicker. (Avoids having redraw
9363         lag arbitrarily behind resize under some circumstances)
9364
9365         * gtk/gtkentry.c: Remove old backing store code, and simply take
9366         advantage of the new backing store capabilities of GDK.
9367
9368         * gtk/gtkmain.c: Simple implementation of widget backing
9369         store - simply push a paint while handling each expose.
9370         (Should really be configurable widget for widget.)
9371         
9372         * gtk/gtkwidget.c: Remove all the old complicated redraw
9373         code, and simply invalidate the GDK windows from
9374         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9375         debugged complexity ... gone to the winds.)
9376
9377         Remove all the code for suppressing expose events while
9378         resizes are pending; this isn't needed since the invalid
9379         areas won't be processed until after the resizes are
9380         processed, since they are in a lower priority idle.
9381
9382 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9383
9384         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9385         and height of dest rectangle for non-intersecting rectangles.
9386
9387 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9388
9389         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9390         for GdkRectangle.
9391
9392 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9393
9394         * gdk/gdk{events,image,private,types,window}.h
9395          gdk/x11/gdkinputprivate.h: Change all coordinates
9396          from int16 to int. Also, Change width and height from
9397          unsigned to signed to avoid all the stupid C 
9398          signedness bugs.
9399
9400 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9401
9402         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9403         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9404         Add some more detailed checking.
9405
9406         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9407         New function to retrieve the depth of a drawable.
9408
9409         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9410         field, reorder fields to save memory. 
9411
9412 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9413
9414         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9415         of the background image instead of scaling the background down to
9416         a line.
9417
9418         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9419         which temporarily set slider to wrong size.
9420
9421         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9422         queue_clear().
9423
9424 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9425
9426 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9427
9428         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9429
9430 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9431
9432         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9433         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9434
9435         * gdk/win32/gdkfont-win32.c
9436         * gdk/win32/gdkproperty-win32.c
9437         * gdk/win32/gdkselection-win32.c
9438         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9439         now declared such.
9440
9441 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9442
9443         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9444
9445 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9446
9447         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9448         is called without trapping X errors.
9449
9450 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9451
9452         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9453         way into the fontset lists.
9454
9455 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9456
9457         * gtk/gtkthemes.h: add extern "C" scope.
9458
9459 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9460
9461         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9462         to make appends to the list constant. (gtk-guy-990901-0.patch)
9463
9464 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9465
9466         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9467         for the typename hash table.
9468
9469 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9470
9471         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9472         to make sure we never divide by zero. 
9473         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9474
9475 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9476
9477         * gtk/gtkfontsel.c: Apply patch from
9478         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9479         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9480
9481         Also, some cleanups in atom handling.
9482
9483 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9484
9485         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9486         not GtkWidget.
9487
9488 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9489
9490         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9491         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9492         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9493         more guint wrap-around bugs before going to bed.
9494
9495 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9496
9497         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9498         guint wrap arounds in allocation.width.
9499
9500         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9501         process untill we fit the allocation given.
9502
9503 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9504
9505         * gtk/gtkwidget.c:
9506         (gtk_widget_unrealize): guard widget access with ref/unref
9507         around signal emission.
9508         (gtk_widget_hide): same here, but also check its destroyed
9509         state before queueing a resize.
9510
9511 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9512
9513         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9514         of gtk_default_insensitive_bg as insensitive base color.
9515
9516         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9517         to the widget's state.
9518         (gtk_text_realize): same here.
9519         (gtk_text_state_changed): same here.
9520         (draw_bg_rect): compare background color against base[] from
9521         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9522
9523 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9524
9525         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9526         grabs are active, unless a delete event is send to the toplevel
9527         of the currently grab holding widget.
9528
9529 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9530
9531         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9532         debugging g_print's.
9533
9534 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9535
9536         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9537         ever make the scrolled-window requisition ever depend on the 
9538         visibility state of the scrollbars for the AUTOMATIC policy. 
9539         This breaks the GTK+ requisition model, and causes loops.
9540
9541 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9542
9543         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9544         the default font to avoid problems with XFree86-4.0 where the
9545         default charset is iso10646-1, not iso8859-1.
9546
9547 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9548
9549         * acinclude.m4
9550         * config.guess
9551         * config.sub
9552         * ltconfig
9553         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9554
9555         * gtk/Makefile.am: minor cosmetic consistency tweak
9556
9557 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9558
9559         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9560         the activate_time to 0, so that we handle a quick
9561         press/release press/release properly and don't suppress
9562         the second release. (Red Hat bug #7545)
9563
9564 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9565
9566         * gtk/gtkctree.c (row_delete):
9567         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9568         bugs with destruction notifier, *always* update internal
9569         structures *before* calling user code.
9570
9571 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9572
9573         A few more fixes for bug #5487, #2051, #2677.
9574         * gtk/gtkclist.c : 
9575         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9576         not GDK_BUTTON_PRESS.
9577         (resync_selection): resync only if selection_mode is
9578         GTK_SELECTION_EXTENDED
9579         * gtk/gtkctree.c (resync_selection): same here
9580
9581 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9584         gdk_drag_get_selection() and gtk_menu_detach().
9585
9586         [ From Jeroen Ruigrok/Asmodai ]
9587
9588 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9589
9590         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9591         page->tab_label can be NULL.
9592
9593 2000-01-25  Havoc Pennington  <hp@pobox.com>
9594         
9595         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9596         arg is boolean
9597
9598         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9599
9600         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9601
9602         * gdk/gdkproperty.c (gdk_property_get): return boolean
9603
9604         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9605
9606         * gdk/gdkim.c (gdk_im_ready): return boolean
9607
9608         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9609
9610         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9611         glib clash, should fix glib)
9612
9613         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9614         (gdk_get_show_events): return gboolean, and canonicalize 
9615         to TRUE/FALSE
9616
9617         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9618         colormap is private
9619         (gdk_colors_alloc): gboolean whether to be contiguous
9620         (gdk_color_equal): return gboolean since we are a predicate
9621         and not a qsort() (this looks semi-wrong due to glib breakage,
9622         IMO glib should be fixed)
9623         
9624         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9625         (gdk_get_use_xshm): return gboolean
9626         (gdk_pointer_is_grabbed): return gboolean
9627
9628         * gdk/gdk.h: Change prototypes to match all the above changes,
9629         and re-run egtk-format-protos as required.
9630
9631 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9632
9633         * gtk/gtkctree.c (resync_selection): 
9634         * gtk/gtkclist.c (resync_selection):
9635
9636         Return immediately if clist->drag_pos < 0. This is a workaround
9637         for the corrupt state that the clist gets into when a
9638         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9639
9640         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9641         
9642         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9643         variable from recent commit.
9644
9645 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9646
9647         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9648
9649 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9650
9651         * gtk/Makefile.am: prefix all autogenerated source that get build in
9652         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9653         in builddir. since we subsequently cd into srcdir for autogeneration,
9654         the paths have to be stripped from the target file names, thusly we
9655         use $(@F) as target names now.
9656         put a comment about configure.in's --disable-rebuilds option,
9657         which can be used for non-writable source directories, for development
9658         setups though, srcdir has to be *writable*.
9659
9660 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9661
9662         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9663           Finish the job of allowing event to be NULL.
9664           (Fixes bug #4283, reported by Chris Blizzard)
9665
9666         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9667           things so that the cursor appears on screen, properly
9668           take into account INNER_BORDER.
9669           (Fixes bug #4754, reported by Antonio Campos)
9670
9671 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9672
9673         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9674           show the tab_label unless it itself is visible.
9675
9676           gtk/gtknotebook.c (gtk_notebook_size_request):
9677           Do a better job of making sure that the visibility
9678           of the tab label corresponds to whether it should
9679           be mapped or not.
9680
9681 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9682
9683         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9684           Use the requisition, not the allocation, since the
9685           allocation has not necessarily been computed yet.
9686           (Pointed out by Eugene Osintsev)
9687
9688 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9689
9690         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9691           style/base[GTK_STATE_INSENSITIVE] both to
9692           gtk_default_insensitive_bg!
9693           (Bug #2187, reported by Jonathan Blandford)
9694
9695         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9696           Add Alt_L, Alt_R to list of invalid accelerators.
9697           (Bug #3736, reported by Vlad Harchev)
9698
9699 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9700
9701         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9702         bugs which occured after an attempt to open 
9703         invalid home directory left cmpl_state->reference_dir == NULL.
9704
9705          - completion on files in home directory didn't work
9706          - completion on an empty string caused  segfault
9707
9708          (Bug #3678, reported by Steve Ratcliffe)
9709
9710         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9711         cut and paste error that was causing scales to
9712         be incorrectly positioned.
9713         (Bug #2956,
9714          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9715
9716 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9717
9718         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9719         when checking for dcgettext, if we've found we needed
9720         it for dgettext.
9721 +
9722 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9723
9724         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9725         queue_clear on NO_WINDOW widgets during a reparent,
9726         since at that point the window and widget heirarchies
9727         are out of sync. This stops crashing in some cases
9728         (the scrolled window reparent test, for instance), and
9729         _probably_ won't cause drawing errors.
9730
9731         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9732         test do what it was supposed to do and be robust against
9733         window closings, etc. (Bug #2443)
9734
9735 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9736
9737         * gtk/gtkentry.c: Fix return values on mouse events.
9738         (Bug #2686, Sky <seb_sky@yahoo.com>)
9739
9740         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9741         (pointed out by George Lebl)
9742
9743         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9744         (From Ettore Perazzoli  <ettore@helixcode.com>)
9745  
9746 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9747
9748         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9749         clicks between rows or outside calender area correctly.
9750         (Patch from Damon Chaplin)
9751
9752         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9753         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9754           Call destroy function when overwriting existing data. 
9755           (Pointed out by Damon Chaplin)
9756
9757 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9758
9759         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9760           which was causing problems on various systems with Xmu.
9761           This hasn't been needed for a very long time.
9762           (Fixes #1185 3167)
9763
9764 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9765
9766         * gdk/gdki18n.h: Include <ctype.h> when defining
9767           gdk_isw* in terms of is* as a fallback.
9768           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9769
9770 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9771
9772         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9773           realize the widget when it is size allocated!
9774           (old, old bug)
9775
9776         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9777           Removed unused call to gdk_window_get_size() that
9778           showed up when the above was fixed.
9779
9780 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9781
9782         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9783           fix up widget->window when the widget is a
9784           NO_WINDOW container widget.
9785
9786 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9787
9788         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9789           to account for the fact that feof() does _not_ 
9790           return TRUE on errors, and thus avoid infinite loops
9791           when trying to use gdk_pixmap_create_from_xpm()
9792           on unreadable values.
9793
9794 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9795
9796         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9797
9798 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9799
9800         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9801           gdk_gc_set_dashes to take gint8 instead of gchar to
9802           make it clearer that it is _not_ a NULL terminated string.
9803
9804         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9805           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9806           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9807           arguments.
9808
9809 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9810
9811         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9812         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9813         background size relative to our allocation, guard against small
9814         allocations, we may have not yet been size allocated.
9815
9816 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9817
9818         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9819         not just version == 3. We implement all 3 + most of 4 - 
9820         (we don't support matching text/plain;charset=iso-8859-1
9821         to a dest that expects text/plain). We'll still advertise
9822         3 to be safe, but any client implementing version >= 3
9823         must interoperate with 3.
9824         
9825 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9826
9827         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9828         background and gc members, add a warning in gtk_tooltips_set_color()
9829         indicating that this function is deprecated.
9830
9831 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9832
9833         * docs/gtkfaq.sgml: FAQ Update:
9834           - Minor cleanups (Emmanuel, me)
9835           - New questions:
9836                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9837                 How can I retrieve the text from a GtkMenuItem? (timj)
9838                 How do I validate/limit/filter the input to a GtkEntry? (me)
9839                 Memory does not seem to be released when I free the list
9840                         nodes I've allocated (timj)
9841
9842 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9843
9844         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9845         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9846         for which it is no use to call GetLastError onWin9x.
9847         (gdk_other_api_failed) New function, for general error
9848         reporting without calling GetLastError.
9849         (gdk_win32_api_failed) OTOH, this function always calls
9850         GetLastError. (gdk_win32_last_error_string) Remove this function,
9851         GLib has the equivalent now.
9852
9853         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9854         call them with function name, file name and line number in the
9855         arguments.
9856
9857         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9858         functions.
9859         
9860         * gtk/gtk.def: Add some missing entry points.
9861
9862         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9863         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9864         
9865         Fixes by Hans Breuer:
9866
9867         * gdk/makefile.msc: Update for debugging.
9868
9869         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9870         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9871         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9872         in the dash_list.
9873
9874         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9875         the x11 backend.
9876
9877         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9878
9879         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9880
9881 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9882
9883         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9884         just pixel value of background colour.
9885
9886         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9887         containing code snippet previously duplicated in a couple of
9888         places.
9889         
9890         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9891         gdk_colormap_color.
9892
9893         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9894         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9895         events for autorepeated Shift, Control and Alt keys. Use
9896         gdk_colormap_color.
9897
9898         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9899         pointer is inside the window the cursor of which we are setting,
9900         call SetCursor immediately.
9901
9902         * gdk/win32/makefile.cygwin
9903         * gtk/makefile.cygwin: If we don't have the build number stamp
9904         file, use zero.
9905
9906         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9907         gtk_paned_set_gutter_size as empty.
9908
9909         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9910         
9911 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9912
9913         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9914           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9915           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9916           docs/gtk_tut.sgml docs/gtk.texi TODO:
9917
9918           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9919
9920 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9921
9922         * gtk/gtkcalendar.c: Implement num_marked_dates,
9923           and don't emit mutiple day_selected signals on
9924           month_prev.
9925
9926 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9927
9928         * docs/make-todo (lineno): let title and logo be configurable so
9929         that GNOME can use this script too.
9930
9931         * TODO.xml: added logourl and a title
9932
9933 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9934
9935         * TODO.xml: Added some UI items, and an explanatory
9936         comment at the top of the file.
9937
9938 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9939
9940         * TODO.xml: some updates, added abunch of new entries.
9941         a note for those fiddeling with this file, when done
9942         with it, invoke:
9943         $ ./docs/make-todo TODO.xml >/dev/null
9944         and correct output errors before comitting changes.
9945
9946 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9947
9948         * TODO.xml: Added XML-structured TODO file.
9949         * docs/make-todo: python script to turn TODO.xml into
9950           pretty XML output. 
9951
9952 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9953
9954         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9955         the function to let it draw the seven dots, instead of the old,
9956         much maligned, method.
9957         (draw_dot): New function to draw a dot.
9958
9959         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9960         to draw the handle inside the border width as opposed to outside.
9961         Use paint function instead of gdk_draw_point.
9962
9963         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9964         to draw the handle inside the border width as opposed to outside.
9965         Use paint function instead of gdk_draw_point.
9966
9967         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9968         Change indenting to be more GTK like.
9969
9970 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9971
9972         * docs/gtk_tut.sgml: New section on GtkCalendar
9973         * examples/calendar: Update example code
9974
9975 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9976
9977         * docs/gtkfaq.sgml: FAQ Update
9978
9979 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9980
9981         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9982         to prevent the scroll event to be propagated upwards.
9983
9984 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9985
9986         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9987         OwnerGrabButtonMask from button entries for
9988         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9989
9990         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9991         to the event mask (which will result in button/press release
9992         being added to the event mask on Unix) so scrolling works
9993         for layouts in scroll windows.
9994
9995         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9996
9997         Patch from Anders Carlsson  <andersca@gnu.org> to add
9998         a scroll event.
9999
10000         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10001         scrolling to the "Test Scrolling" part of testgtk.
10002  
10003         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10004  
10005         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10006         it against GDK_SCROLL.
10007  
10008         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10009         way of mouse wheel scrolling.
10010  
10011         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10012  
10013         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10014  
10015         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10016  
10017         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10018         gdk_event_mask_table.
10019  
10020         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10021         GdkEventScroll handler.
10022  
10023         * gdk/gdkevents.h: Added GdkEventScroll structure.
10024  
10025 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10026
10027         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10028         and Anders Carlsson to change the Paned widgets so that they
10029         can be dragged from anywhere along the length. Also change
10030         the way that this is drawn to make this apparent.
10031
10032         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10033         from George Lebl to check that option_menu->menu is present
10034         before getting history.
10035
10036 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10037
10038         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10039         before the assertion for non-NULL segment list.
10040
10041         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10042         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10043         machine, but it might be display driver dependent. Sigh, so make
10044         sure the stipple is that size. Does Windows suck or what?
10045
10046         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10047         places.
10048
10049 2000-02-13  Havoc Pennington  <hp@pobox.com>
10050
10051         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10052         refcount to 1
10053         (gdk_cursor_new): init refcount to 1
10054
10055         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10056
10057 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10058
10059         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10060         so that we don't have to do unnecessary settings to the HDC.
10061
10062         * gdk/win32/gdkdrawable-win32.c
10063         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10064         gdk_gc_predraw.
10065
10066         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10067         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10068         GDI paths, call WidenPath to get the outline of the stroken path,
10069         and then fill the outline (with the brush that was built from the
10070         stipple).
10071
10072         * gdk/win32/gdkgc-win32.c: Factor out common code from
10073         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10074         gdk_win32_gc_values_to_win32values. Use correct colour for
10075         SetBkColor() (Until now the code actually used a random colour in
10076         the call to SetBkColor()... but that didn't show up as not many
10077         GDI APIs use the background colour. Pattern (opaque stippled)
10078         brushes do.)
10079
10080         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10081         gdk_win32_api_failed): New functions for error logging.
10082
10083         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10084         WIN32_API_FAILED to call them, passing function or file name and
10085         line number.
10086
10087         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10088
10089         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10090         GdkColor for foreground and background in GdkGCWin32Data.
10091
10092         * gdk/makefile.cygwin: Link in the resource object separately.
10093
10094         * gdk/win32/rc/gdk.rc
10095         * gtk/gtk.rc (New file)
10096         * gdk/win32/makefile.cygwin
10097         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10098         as in GLib.
10099
10100 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10101
10102         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10103         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10104         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10105         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10106         parameters given and cursor->ref_count. coding style fixups.
10107
10108         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10109         not GtkWidget.
10110         
10111         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10112         fix up widget macros and add _GET_CLASS() variant.
10113         
10114         * gtk/*.c: some GtkType fixups.
10115
10116 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10117
10118         * gdk/win32/gdkproperty-win32.c
10119         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10120         were reversed.
10121
10122 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10123
10124         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10125         g_filename_to_utf8 to convert the font names Windows gives us from
10126         whatever is the default codepage to UTF-8.
10127         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10128         in the other direction.
10129
10130         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10131         error in debugging output.
10132
10133 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10134
10135         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10136         and height parameters to gdk_window_clear_area(). Not minus one.
10137
10138 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10139
10140         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10141         checks if the widget passed to gtk_drag_get_data() was not the
10142         dest widget.
10143
10144 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10145
10146         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10147         g_filename_from_utf8 functions (which were added a moment ago to
10148         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10149         size buffers.
10150
10151         gtk_file_selection_get_filename returns the filename in the C
10152         runtime encoding. It calls g_filename_from_utf8, but copies the
10153         returned string to a static buffer, which is returned. I think
10154         this is better than returning the result from g_filename_from_utf8
10155         directly, which would mean all apps that use it would have to free
10156         the return value. Or should this function care about this issue at
10157         all? Maybe a new function with clearly defined semantics.
10158
10159         * gtk/gtkfilesel.h: Add comment about
10160         gtk_file_selection_get_filename returning the filename in the C
10161         runtime's encoding.
10162
10163         * README.win32
10164         * gdk/gdk.def
10165         * gdk/makefile.{cygwin,msc}
10166         * gtk/gtk.def: Updates.
10167
10168         * gdk/gdkcursor-win32.c: Initialise refcount.
10169
10170 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10171
10172         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10173
10174 2000-01-30  Havoc Pennington  <hp@pobox.com>
10175
10176         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10177         destroy
10178
10179         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10180
10181         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10182         implemented in platform-specific code
10183
10184         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10185
10186         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10187         underscore in front
10188
10189         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10190         put an underscore in front
10191
10192         * gdk/gdkcursor.c: new file, implements
10193         gdk_cursor_ref/gdk_cursor_unref
10194
10195         * gdk/gdkcursor.h: Refcount GdkCursor
10196
10197         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10198
10199 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10200
10201         * gdk/gdkwindow.h
10202         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10203
10204 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10205
10206         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10207         structures to properly inherit from GtkWidget not GtkBin.
10208
10209 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10210
10211         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10212         (bug #5178 - Peter Wainright)
10213         
10214         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10215         so that it will be installed.
10216         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10217
10218 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10219
10220         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10221         for the GtkStyleClass vtable const.
10222
10223         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10224         take a const string argument like GtkTranslateFunc. This will
10225         require changes in use code.
10226
10227 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10228
10229         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10230         semantics (to mimic the X11 backend, which just calls XClearArea)
10231         is to check for zero width (and height), and in that case use the
10232         window's width minus x (height minus y). This fixes for instance
10233         some redraw problems with gtkclist, which were easily noticeable
10234         in the gtk file selection widget.
10235
10236         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10237         windows.
10238
10239 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10240
10241         * configure.in
10242         * gdk/Makefile.am
10243         * gdk/x11/Makefile.am
10244         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10245         (bug #5177).
10246         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10247         out later.
10248
10249 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10250
10251         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10252         WM_MOVE for iconified or invisible windows. This fixes various
10253         problems when minimising windows. Thanks to Bernd Herd.
10254
10255 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10256
10257         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10258         backend's draw_lines method, not draw_points.
10259
10260 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10261
10262         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10263         before Owen's reorganisation: Don't have queued_events and
10264         queued_tail statics in this file, but use gdk_queued_events and
10265         gdk_queued_tail. This makes exposure event compression work again.
10266
10267         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10268         seem to be needed?
10269
10270 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10271
10272         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10273         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10274         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10275         doesn't do anything.
10276
10277         * gdk/gdk.def: Add gdk_xid_table_insert.
10278
10279         * gdk/win32/gdkprivate-win32.h
10280         * gdk/win32/gdkevents-win32.c
10281         * gdk/win32/gdkinput-win32.c
10282         
10283         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10284         extension_events field in the GdkWindowWin32Data struct. Use only
10285         the extension_events field in GdkWindowPrivate. Previously one was
10286         set, and the other one tested, which broke tablet
10287         functionality. Thanks to Keishi Suenaga for pointing this out.
10288
10289 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10290
10291         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10292         When handling a single character (text length == 1), don't handle
10293         it as if it was UTF-8.
10294
10295 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10296
10297         * Makefile.am: Distribute README.win32.
10298         
10299         * gdk/Makefile.am
10300         * gdk/win32/Makefile.am: Distribute Win32 files.
10301
10302         * gdk/makefile.msc: New file.
10303
10304         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10305         after label).
10306
10307         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10308         gdk_error_code as GDKVAR, as they are referred outside GDK.
10309
10310         * gdk/win32/makefile.msc: Update.
10311
10312         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10313         tweaks. Check only if at least one of those Unicode subrange bits
10314         we care for is set. If no code page bits are set, guess (wildly)
10315         based on the charset.
10316
10317         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10318
10319         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10320         non-NULL.
10321
10322         * gtk/gtkdnd.c
10323         * gtk/gtklayout.c
10324         * gtk/gtkplug.c
10325         * gtk/gtkselection.c
10326         * gtk/gtksocket.c
10327         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10328         appropriate. There must be a cleaner way to handle this?
10329
10330         * gtk/gtkrc.c: Must include windows.h on Win32.
10331
10332         * gtk/testgtk.c: No need to include gdkx.h.
10333
10334         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10335
10336 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10337
10338         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10339         the rbearing is set to the same as the width, but this should be
10340         fixed.
10341
10342 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10343
10344         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10345         function. If Windows doesn't tell us what Unicode subranges a font
10346         covers, guesstimate based on the codepages it covers. This will
10347         hopefully help those Windows versions or fonts that don't give us
10348         any useful Unicode subrange information with GetTextCharsetInfo.
10349         Call this function in gdk_font_load_internal.
10350
10351         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10352         minor changes.
10353
10354 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10355
10356         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10357         New function, long needed.
10358
10359 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10360
10361         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10362         only_if_exists argument of gdk_atom_intern to
10363         bool.
10364
10365 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10366
10367         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10368         Fix two copy&paste errors.
10369
10370         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10371         win32 has changed.
10372
10373         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10374         GdkWin32SingleFont struct.
10375
10376         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10377         subranges of loaded fonts. Clear font signature first, in case
10378         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10379         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10380
10381         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10382         Unoffset clip region.
10383
10384 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10385
10386         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10387         event->any.window before calling filter functions.
10388
10389 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10390
10391         * gtk/gtkgamma.h: Adapt cast macros to standard.
10392
10393 [ Merges from 1.2 ]
10394
10395 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10396
10397         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10398         If translation does not include a '/', use entire
10399         translation instead of crashing.
10400
10401 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10402
10403         * docs/gtk_tut.sgml:
10404         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10405
10406 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10407
10408         * gtk/gtkselection.c (gtk_target_list_remove): Use
10409         g_list_remove_link, not g_list_remove.
10410
10411         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10412         
10413 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10414
10415         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10416         statement upon unselection (how the heck did that slip in?).
10417
10418 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10419
10420         * gtk/gtktext.c (gtk_text_freeze): 
10421         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10422         in frozen state (and aparently crashes). patch provided by Anders
10423         Melchiorsen <and@kampsax.dtu.dk>.
10424
10425 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10426
10427         * fix insensitive default/focus widget activation,
10428         reported by Matt Goodall <mgg@isotek.co.uk>.
10429
10430         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10431         (gtk_window_activate_default):
10432         (gtk_window_activate_focus):
10433         return handled=FALSE for actiavtion of insensitive default
10434         widgets. return handled=TRUE for activation of insensitive
10435         focus widgets. don't activate in either case.
10436
10437 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10438
10439         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10440         and $glib_cflags to match library order and in the
10441         theory that an old version of GLib is more likely to
10442         be in the include directory for X then vice-versa.
10443         (Bug #2776)
10444
10445 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10446
10447         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10448         to determine the locale for fontsets, not LC_MESSAGES;
10449         the user may want English messages with a handling
10450         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10451         will still be broken) (Bug #2891)
10452
10453 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10454
10455         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10456
10457 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10458
10459         * gtk/gtkrc.ko: Changed the Korean default fontset.
10460
10461 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10462
10463         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10464         where when scrolling to the left or top double exposes
10465         were done, causing major slowdowns.
10466
10467 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10468
10469         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10470         names to lowercase and alphanumeric, before looking
10471         them up.
10472
10473         * gtk/Makefile.am: Install codeset variant gtkrc files
10474         with normalized names.
10475
10476 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10477
10478         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10479         popup menus when the menu is already visible, but its parent
10480         is still hidden, (happens after tornoff window got hidden).
10481
10482 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10483
10484         * gtk/Makefile.am (install-data-local): Fix
10485         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10486         deleted, causing error messages on install.
10487
10488 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10489
10490         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10491         the handle as well, since we now sometimes ignore
10492         exposes on the handle while resizing.
10493
10494 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10495
10496         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10497         extra g_free introduced in one of the last one or two 
10498         commits.
10499
10500 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10501
10502         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10503         consistent, put each style that a gtkrc.* file creates
10504         in a unique namespace, remove old files before installing.
10505
10506 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10507
10508         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10509         gtk_rc_init is called multiple times. (Yes, people who
10510         do that have bugs in their code.)
10511
10512 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10513
10514         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10515         Remove it since it's generated by the Makefile anyway
10516
10517 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10518
10519         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10520         device->info.axes for core pointer.
10521
10522 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10523
10524         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10525         idle_id, to deal with obsolete, broken C libraries.
10526
10527 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10528
10529         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10530         allocation->x/y twice!
10531
10532         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10533         consistent with gtk_vscale_pos_trough().
10534
10535 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10536
10537         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10538         be queueing a resize on a toplevel container between
10539         the time we show it and when we map it. So, we need
10540         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10541         use GTK_WIDGET_DRAWABLE() for child windows.
10542
10543 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10544
10545         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10546         (fixes bug #2144)
10547
10548 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10549
10550         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10551         container DRAWABLE (instead of VISIBLE), so we don't queue
10552         resizes on non-toplevel containers.
10553
10554 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10555
10556         * gtk/gtkselection.[ch]: Make the data argument
10557         const guchar *.
10558
10559 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10560
10561         * gtk/gtkwindow.c: Try to behave sensibly if 
10562         the focus widget is the window itself. (Should
10563         we allow this at all?)
10564
10565 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10566
10567         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10568         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10569         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10570         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10571         in prototypes and implementations consistent (Tomas Ogren).
10572
10573         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10574         before the widget is unparented (reported by damon).
10575
10576         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10577         since we provide unsigned data anyways.
10578
10579 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10580
10581         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10582         the call to gtk_tooltips_layout_text() until later.
10583
10584         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10585         Call gtk_widget_ensure_style() before using the style.
10586
10587 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10588
10589         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10590         for old widgets that don't propagate draws to all
10591         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10592
10593 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10594
10595         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10596         for a redraw but just the widget that requested the resize.
10597
10598 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10599
10600         * gtk/gtkcontainer.c: added new widget level method
10601         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10602         reallocate_redraws : 1 to reflect the setting, exported this through
10603         the argument system as a boolean ::reallocate_redraws.
10604
10605         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10606         on the widget because the allocation changes, do so as well for
10607         widget->parent if the parent has reallocate_redraws set to TRUE.
10608         with that containers requesting reallocation redraws get automatically
10609         redrawn if their children changed allocation (this unfortunately
10610         affects also other children that didn't change allocation, but we
10611         cannot work around that before 1.3).
10612
10613 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10614
10615         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10616         _and_ height are >0 (not _or_).
10617
10618         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10619         instead of gtk_container_queue_resize(), which is a core gtk internal
10620         function (must have been on crack when i queued that).
10621
10622         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10623         we can check more reliably if we want to discard expose events.
10624         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10625         flag.
10626         
10627         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10628         we simply trust these events. for deciding whether to discard exposes,
10629         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10630         
10631 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10632
10633         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10634         queues of areas that are completely off screen.
10635
10636         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10637         logic for handleboxes.
10638
10639         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10640         check on width/height.
10641
10642 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10643
10644         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10645         we are fine with using $@ the way we do (if we actually encounter
10646         brokeness with $@ in VPATH builds because of additional path prefixes,
10647         we need to use $(@F) actually).
10648
10649 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10650
10651         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10652         short lived bugs, that would allow language bindings to do surgeries
10653         to our guts.
10654
10655 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10656
10657         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10658         where comparison was being done against an uninitialized
10659         value causing intermittant results depending on
10660         compiler flags. Also make it clearer that we aren't
10661         ever initializing the child as 0x0 (though this will
10662         be caught in gtk_widget_size_allocate())
10663
10664 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10665
10666         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10667         gtk_window_unset_transient_for() call after we do checks
10668         involving the old transient parent.
10669         [ From Lance Capser <lmc@cyberhighway.net> ]
10670
10671 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10672
10673         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10674         an empty file.
10675
10676 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10677
10678         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10679         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10680
10681 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10682
10683         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10684         `$@' is valid only in the build dir, not after we've done 
10685         `cd $srcdir'.  Also use `test -f' instead of less portable
10686         `test -e'.
10687
10688 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10689
10690         * gtk/gtktext.c (correct_cache_insert): Rewrite
10691          for simplicity, and hopefully correctness.
10692          (Fixes bug #1322, which was a segfault when
10693           on some insertions with the properties around
10694           the insertion set up just wrong.)
10695
10696         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10697          a "changed" signal, clamp the new value to the adjustment
10698          bounds to avoid segfaulting if someone tries to change
10699          the adjustment to a bogus value. (Bug #1795)
10700
10701 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10702
10703         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10704         for children, for toplevel windows handle them
10705         like delete_event.
10706
10707         * gtk/gtkplug.c: Add an unrealize handler so that
10708         we unref plug->socket_window when we are done
10709         with it.
10710
10711 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10712
10713         * gtk/gtktext.c (clear_area): Fix stupid signedness
10714          problem that was causing background to sometimes
10715          be misaligned.
10716
10717 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10718
10719         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10720         
10721         * gtk/gtkmenu.c (gtk_menu_position): Make
10722          sure we never position menus with negative x, y,
10723          since gtk_widget_set_uposition() can't handle that.
10724
10725         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10726          Modify the positioning code a bit so that we always
10727          put the top-left corner onscreen. (This is for
10728          UI reasons, gtk_menu_position() now takes care of
10729          gtk_widet_set_uposition() brokeness.)
10730
10731 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10732
10733         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10734
10735 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10736
10737         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10738           RC style that is passed in. The lack of the ref
10739           before was a bug. If people worked around this
10740           bug, this will introduce a slight memory leak
10741           in their code. The code should typically look like:
10742
10743             rc_style = gtk_rc_style_new ();
10744             [...]
10745             gtk_widget_modify_style (widget, rc_style);
10746             gtk_rc_style_unref (rc_style);
10747
10748         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10749           the style if it was already set.
10750
10751         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10752           style if it was set before.
10753
10754 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10755
10756         * gtk/testgtk.c (main): Add a check to see if we
10757           are being run from the correct directory and
10758           to quit nicely if we are not.
10759
10760         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10761           static.
10762
10763 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10764
10765         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10766
10767         * gtk/gtkwindow.c:
10768         queue resizes unconditionally (gtk_widget_queue_resize will figure
10769         what to do if the window is not realized).
10770         (gtk_window_move_resize): only recenter the window
10771         for GTK_WIN_POS_CENTER_ALWAYS.
10772         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10773         the same way as GTK_WIN_POS_CENTER.
10774
10775 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10776
10777         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10778         with (!(info->last_flags & GDK_HINT_POS)) instead of
10779         (!info->last_flags & GDK_HINT_POS).
10780
10781         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10782         new_height unconditionally, because we use these values even if
10783         !default_size_changed && !hints_changed.
10784         comented the (default_size_changed || hints_changed) case with
10785         respect to resize rejects from the window manager.
10786
10787         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10788         in the zvt condition hack, since this includes the window hints, set
10789         the hints after the handling_resize case.
10790
10791         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10792         window is initially shown with to the geometry.
10793
10794 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10795
10796         * gtk/gtkwindow.c (gtk_window_move_resize):
10797         s/size_changed/default_size_changed/g so i know what's
10798         really going on (frying brain on smaller flame now).
10799
10800 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10801
10802         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10803         we have size_changed upon handling_resize. this is a gross
10804         workaround for the broken zvt widget and should be removed in
10805         1.3 again (search for FIXME).
10806         Owen provided an accurate comment for this:
10807
10808         /* We could be here for two reasons
10809          *  1) We coincidentally got a resize while handling
10810          *     another resize.
10811          *  2) Our computation of size_changed was completely
10812          *     screwed up, probably because one of our children
10813          *     is broken. It's probably a zvt widget.
10814          *
10815          * For 1), we could just go ahead and ask for the
10816          * new size right now, but doing that for 2)
10817          * might well be fighting the user (and can even
10818          * trigger a loop). Since we really don't want to
10819          * do that, we requeue a resize in hopes that
10820          * by the time it gets handled, the child has seen
10821          * the light and is willing to go along with the
10822          * new size. (this happens for the zvt widget, since
10823          * the size_allocate() above will have stored the
10824          * requisition corresponding to the new size in the
10825          * zvt widget)
10826          *
10827          * This doesn't buy us anything for 1), but it shouldn't
10828          * hurt us too badly, since it is what would have
10829          * happened if we had gotten the configure event before
10830          * the new size had been set.
10831          */
10832
10833 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10834
10835         * gtk/gtkrc.c: deal properly with the fact that RC
10836           style lists may include rc styles more than once.
10837
10838         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10839           unused static function.
10840
10841         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10842           stack of directories of RC files currently being
10843           parsed and implicitely add them to pixmap path.
10844           
10845           This fixes a bug where the directory would get
10846           appended then overwritten by pixmap_path declarations.
10847
10848           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10849
10850         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10851           theme's exit function. (Patch from Peter Wainwright,
10852           bug #1454)
10853
10854         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10855           Add a destroy() handler to take care of removing
10856           group for menu item. (Fixes bug #1197)
10857
10858         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10859           in warning message.
10860
10861 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10862
10863         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10864         roundtrip to figure window's width and height, since we know that
10865         anyways from widget->allocation.
10866
10867 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10868
10869         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10870           the hints after we request the new size.
10871
10872 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10873
10874         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10875           GTK_WIDGET_REALIZED() assertion - we can compute the
10876           hints before we are realized.
10877
10878         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10879           hint changing so that we have a value of hints_changed
10880           when we decide whether to constrain the window size.
10881
10882         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10883
10884         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10885         change back to G_MAXINT.
10886
10887 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10888
10889         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10890         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10891         contain uncluttered values.
10892         (gtk_window_compute_hints): simply assert that window is realized
10893         and that geometry_info is valid, since we rely on this anyways.
10894         (gtk_window_constrain_size): major cleanups to the code.
10895         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10896         for the base size, instead of the minimums. use 32767 as max width
10897         and height (like in gtkwindow.c) instead of G_MAXINT.
10898
10899 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10900
10901         * cleaned up the GtkContainer.need_resize flag handling mess, we
10902         only need to force resize requests when we were prematurely
10903         realized, or our widget tree was modified when we were temporarily
10904         hidden. handling these cases directly upon showing the window (i.e.
10905         while the GdkWindow is still unmapped) avoids the need to wait for
10906         a configure event response and therefore makes the GUI more snappier
10907         and avoids blank windows during the roundtrip.
10908
10909         * gtk/gtkwidget.c:
10910         (gtk_widget_hide): 
10911         (gtk_widget_show): don't queue resizes on toplevels, they know how
10912         to deal with matters.
10913
10914         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10915         flag directly for not visible resize containers and spare us unecessary
10916         signal emissions.
10917
10918         * gtk/gtkwindow.c:
10919         (gtk_window_realize): if we need to enforce premature size allocation,
10920         queue a container resize so we are correctly resized later on.
10921         (gtk_window_init):
10922         (gtk_window_size_request):
10923         don't freak around with the ->need_resize flag,
10924         gtk_container_queue_resize() will care about that.
10925         (gtk_window_show):
10926         handle initial resizing issues here, we can handle matters better in
10927         this place, especially since we know that our GdkWindow is still
10928         unmapped.
10929         (gtk_window_move_resize):
10930         don't care about ->need_resize at all.
10931         handle size changes properly that occoured while we waited for a
10932         configure event.
10933
10934 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10935
10936         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10937         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10938         Move the hint setting code from gtk_widget_set_uposition
10939         to here; set the hints so that we respect any previously
10940         set geometry hints.
10941
10942         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10943         change the window hints here or move the window here,
10944         let that happen in gtk_window_move_resize().
10945
10946 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10947
10948         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10949         to already queued resizes (and therefore redraws) on a widget, check
10950         its anchestry as well.
10951
10952         * gtk/gtkcontainer.c:
10953         (gtk_container_queue_resize): clear resize widgets for resize
10954         containers before aborting prematurely. this is especially important
10955         for toplevels which may need imemdiate processing or their resize
10956         handler to be queued.
10957         (gtk_container_dequeue_resize_handler): added new internal function for
10958         gtkwindow.c.
10959
10960         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10961         configure event, take possible changes in window position into account
10962         as well.
10963         if we request a new window size, queue up a resize handler that will
10964         last until the configure event response arrives.
10965         combined the ->need_resize case (initial show) with the general size
10966         (hints) changed case and added even more comments.
10967         if !auto_shrink, only revert to the old allocation if the new size
10968         is smaller than the current allocation.
10969
10970 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10971
10972         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10973                            gtk_window_set_geometry_hints
10974                            gtk_window_set_default_size):
10975         When hints are set, queue a resize so that the hints will
10976         be eventually reset on the toplevel.
10977
10978         * gtk/gtkwindow.c (gtk_window_show): Use
10979         gtk_window_compute_default_size(). Clear the need_resize flag
10980         on the initail map so that we don't unnecessarily trigger the
10981         resize code.
10982
10983         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10984         into separate functions. Compare the hints we are setting
10985         with what we set last time so that we can accurately
10986         tell when we need to reset the hints.
10987
10988         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10989         function to figure out the size from requisition
10990         and default_size.
10991
10992         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10993         from fvwm to constrain a size to the geometry hints.
10994
10995         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10996         to compare two sets of geometry hints.
10997
10998         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10999         from gtk_window_set_hints(), just compute the hints,
11000         don't set them.
11001
11002         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11003         code from gtk_window_move_resize() to separate function,
11004         rationalize a bit.
11005
11006 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11007
11008         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11009         structure into a new private structure.
11010
11011         * gtkrc.c: Split GtkRcStyle into public/private.
11012         In the private part, add a list of pointers to the
11013         RcStyle lists this RcStyle participates in.
11014
11015         * gtkrc.c: When a RcStyle is free, remove all
11016         lists referencing it from the 
11017         realized_style_ht hash, and free those lists.
11018         
11019         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11020         gtk_rc_init(), since that adds the default styles
11021         to the list of parsed RC files again.
11022
11023         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11024         
11025 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11026
11027         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11028         checks that ensure that a widget's allocation is at least 1 in width
11029         and height. (GNOME note: this doesn't affect old panel code anymore,
11030         because GtkSocket will request width and height of at least 1 since
11031         Fri Jul 23).
11032
11033         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11034         allocated yet (happens if the user realizes the window prematurely),
11035         size request and allocate it.
11036         (gtk_window_size_allocate): guard against guint underflows.
11037
11038 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11039
11040         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11041         in gtk_built_sources, so gtk.defs gets built prior to all other
11042         sources.
11043
11044 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11045
11046         * gtk/Makefile.am:
11047         invoke indent on gtkmarshal.*. 
11048         rewrote source generation rules, use COPYING as oldest source tag for
11049         a piggyback rule to generate all sources from (don't touch it ;).
11050         major cleanups, strip spaces on build rules for GNU Make.
11051
11052         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11053         source and target files from commandline arguments. don't invoke indent.
11054
11055 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11056
11057         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11058         notebook after switch to avoid drawing problems.
11059         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11060         
11061         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11062         show them instead. 
11063         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11064
11065 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11066
11067         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11068         notebook after switch to avoid drawing problems.
11069         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11070         
11071         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11072         show them instead. 
11073         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11074
11075 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11076
11077         * gtk/gtkwindow.c:
11078         we use window->need_resize from configure_event now, to indicate that
11079         the gtkwindow should keep its allocation (e.g. because the user resized
11080         the window through window manager handles). resize_count is now reliably
11081         used to figure whether we got the allocation we requested from the
11082         window manager.
11083         configure events get queued as resizes now, the real stuff (size
11084         computation and allocation) now only goes on in gtk_window_move_resize().
11085         GtkWindow's requisition now contains its *real* requisition (like all
11086         other widgets), *not* taking usize into account.
11087         geometry_info->last_{width|height} is now updated from set_hints() only
11088         so it always contains the last hints we set for the window manager.
11089         made some event handlers return TRUE instead of FALSE.
11090         the overall code should be much more straight forward now, and the
11091         significant code portions are accompanied by comments now.
11092         (gtk_window_set_hints):
11093         removed requisition argument and made it
11094         fetch the requisition through gtk_widget_get_child_requisition.
11095         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11096         does that now.
11097         (gtk_window_show):
11098         ensure that the widget is realized before calling 
11099         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11100         ensure that we got properly size requested and allocated before
11101         realization.
11102         (gtk_window_configure_event):
11103         ignore plain window moves, or reallocate the widget tree through the
11104         resize queue otherwise.
11105         (gtk_window_move_resize):
11106         mostly rewrote this function to figure window manager hints more
11107         reliably, coalesce window moves and resizes to reduce configure events
11108         and do actuall size allocations.
11109
11110 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11111
11112         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11113         that have a resize pending, because a redraw is already queued for them.
11114
11115         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11116         hack to clear resize_widgets.
11117
11118         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11119         for resize containers prior to size allocation. (this is also a bit
11120         ugly, but avoids side effects for stopped emissions and is thus more
11121         reliable).
11122         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11123
11124         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11125         function from gtk_tooltips_expose, as we connect to ::expose_event
11126         *and* ::draw now.
11127
11128 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11129
11130         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11131         checks.
11132         (gtk_target_list_unref): Likewise.
11133
11134         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11135
11136 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11137
11138         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11139         guard against division by zero. (Fixes bug #1339)
11140
11141 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11142
11143         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11144         Prevent the trivial leak of information of allowing
11145         word motion when the entry is not visible.
11146
11147 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11148
11149         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11150         modality to error dialog as well as confirmation dialogs.
11151         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11152
11153 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11154
11155         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11156         tree->view_lines.
11157         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11158
11159         * gtk/Makefile.am (install-data-local): Solaris apparently
11160         has various troubles with ln -f; use rm first instead.
11161         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11162
11163 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11164
11165         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11166         use `cp' followed by `rm' (the `rm' was already there).
11167
11168 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11169         
11170         * configure.in: Fix autoconf warnings about cross compilation by
11171         trying to provide sane defaults for AC_TRY_RUN.
11172         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11173         put them into $(srcdir) when generated. Also add a dependency of
11174         gtksignal.h on gtkmarshal.h for -j builds. 
11175         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11176
11177 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11178
11179         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11180         GDK_THREADS_{LEAVE,ENTER} pair.
11181         (From Paul Fisher <pnfisher@redhat.com>)
11182
11183 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11184
11185         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11186         width and height are always >0 (owen).
11187
11188 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11189
11190         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11191         change that assured that a widget's allocated with and height are
11192         always >1, since this breaks *buggy* panel code. unfortunately this
11193         back-breaks the gimp's color selector.
11194
11195         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11196         allocation is always >0 in width and height, before sending the
11197         configure event; this is a *gross* hack to get the gimp back to work.
11198         
11199         * marked both cases with TODO-1.3
11200
11201 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11202
11203         * gtk/gtktext.c: Don't display wrap indicators when
11204         text is not editable and word wrap is on.
11205
11206 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11207
11208         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11209         option menus here as they are not derived from menu shell, assure that
11210         the option menu has a menu we can add items to.
11211
11212 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11213
11214         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11215         width/height to (gint) before calculations and check against < 0 to
11216         avoid guint wraparounds.
11217
11218 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11219
11220         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11221         width and height is never zero. sanity check both dimensions against
11222         32767 and issue a warning if the allocation is greater than that.
11223
11224 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11225
11226         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11227         to g_main_pending() as well.
11228
11229 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11230
11231         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11232         call to g_main_iteration() - since that will regrab
11233         GTK+ lock to process events.
11234
11235 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11236
11237         * gtk/gtkwindow.c
11238         - Regularize with the rest of GTK+ by making widget->requisition
11239           not reflect the set_usize()
11240         - Always recompute geometry hints, then check if they
11241           changed before sending them to the X server. The
11242           previous checks for changes would fail in a number
11243           of circumstances. 
11244
11245 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11246
11247         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11248
11249 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11250
11251         * gtk/gtkdnd.c:
11252         - Code cleanups
11253         - Instantaneously update on modifier key presses
11254         - Allow cancellation of the drag with Escape.
11255
11256 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11257
11258         * gtk/testgtk.c (create_handle_box): Set the policy
11259         to auto_shrink - otherwise the appearance is rather
11260         strange when flipping between horizontal and vertical.
11261
11262 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11263
11264         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11265         (gtk_window_set_default_size): don't change a value if it's < 0.
11266         queue a resize.
11267
11268 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11269
11270         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11271
11272 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11273
11274         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11275         add an extra "/" when concating "/" + filename.
11276         (From Matt Grossman <mattg@oz.net>)
11277
11278 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11279
11280         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11281         for fg_gc if we set it for drawing pixmap.
11282
11283 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11284
11285         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11286         
11287         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11288         already set, call old engine's destroy function and
11289         unref the old engine.
11290
11291 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11292
11293         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11294
11295 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11296
11297         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11298
11299 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11300
11301         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11302         expand behaviour changed.
11303
11304         * gtk/gtklabel.c (gtk_label_set_pattern):
11305         (gtk_label_set_justify):
11306         (gtk_label_set_line_wrap):
11307         don't bother invoking queue_clear, the reallocation does
11308         that for us, always free_words so the upcoming resize will
11309         relayout the label's contents.
11310
11311 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11312
11313         * applied argument implementation patches from Elena Devdariani
11314         <elena@cogent.ca>.
11315
11316         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11317         ::space_style, ::relief
11318         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11319         * gtk/gtkpreview.c: ::expand
11320         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11321         * gtk/gtknotebook.c: ::homogeneous
11322         * gtk/gtklabel.c: ::wrap
11323         * gtk/gtklist.c: ::selection_mode
11324         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11325         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11326         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11327         * gtk/gtkclist.c: ::sort_type
11328         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11329         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11330
11331 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11332
11333         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11334         comment.
11335
11336 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11337
11338         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11339         counting right when we have to attach a new style
11340         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11341
11342         * gtk/gtkstyle.c: Documented the refcounting
11343         peculularities of gtk_style_attach.
11344
11345 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11346
11347         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11348         window types.
11349
11350         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11351         of GTK_TOPLEVEL for creating the window.
11352
11353 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11354
11355         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11356         the last argument (reported by Per Winkvist).
11357         
11358 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11359
11360         Fixes for invisible XOR lines (Frank Loemker
11361         <floemker@TechFak.Uni-Bielefeld.DE>)
11362         
11363         * gtk/gtkclist.c (gtk_clist_realize): Always use
11364         a non-zero pixel for GDK_XOR.
11365
11366         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11367         Use GDK_INVERT instead of GDK_XOR.
11368
11369 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11370
11371         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11372         signals if h/voffsets differ from adjustment values.
11373         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11374
11375 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11376
11377         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11378         ::selection-done emissions up to the topmost menu shell.
11379
11380 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11381
11382         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11383         the user data on the window before destroying it.
11384
11385         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11386         unrealize handler to take care of destroying 
11387         notebook->panel properly. 
11388         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11389
11390         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11391         of g_new and g_realloc to stop memory leak. (Actually,
11392         we could just use g_realloc(), but I'm not 100% sure
11393         that is portable).
11394         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11395
11396 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11397
11398         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11399
11400         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11401         for fontsets.
11402
11403         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11404         with bin/button confusion.
11405
11406 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11407
11408         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11409         and show how preselection of radio items is done.
11410
11411 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11412
11413         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11414         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11415         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11416         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11417         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11418         * gtk/gtktable.c (gtk_table_attach): 
11419         * gtk/gtklist.c (gtk_list_insert_items): 
11420         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11421         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11422         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11423         * gtk/gtkbin.c (gtk_bin_add): 
11424         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11425         * gtk/gtkfixed.c (gtk_fixed_put): 
11426         * gtk/gtklayout.c (gtk_layout_put):
11427         general fixups to container_add logic. always realize child if
11428         child->parent is realized, only map the child and queue a resize
11429         if child and child->parent are both visible.
11430
11431 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11432
11433         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11434         instead of gtk_container_foreach to walk and unrealize children, so
11435         composite children get also unrealized.
11436         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11437         (gtk_widget_map): assert that the widget is visible (basic constrain).
11438         (gtk_widget_real_map): assert that the widget is realized (basic
11439         constrain).
11440
11441 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11442
11443         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11444
11445 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11446
11447         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11448         file for iso-8859-2 locales.
11449
11450         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11451
11452 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11453
11454         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11455          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11456          Remove some suspicious and useless lines. 
11457
11458 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11459
11460         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11461         width,height = 0, 0 to mean - here to edge of window,
11462         instead of -1, -1, since the former is all we support.
11463
11464 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11465
11466         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11467         when removing from quit_functions list.
11468
11469 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11470
11471         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11472
11473 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11474
11475         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11476          When redrawing characters on non-visible entry, use appropriate
11477          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11478
11479 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11480
11481         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11482         from drag coordinates.
11483         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11484         use drag_dest_cell.
11485
11486         * gtk/gtktree (drag_dest_cell)
11487         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11488         (Bug #1129)
11489
11490 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11491
11492         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11493         translate_* fields.
11494         (gtk_item_factory_finalize): invoke translate_notify independant from
11495         translate_data.
11496         (gtk_item_factory_set_translate_func): likewise.
11497         (gtk_item_factory_destroy): only remove ifactory pointer from those
11498         widgets that belong to us (stupid me).
11499
11500 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11501
11502         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11503         rc_style list when lookup succeeeds.
11504
11505 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11506
11507         * gtk/gtkctree.c (resync_selection): 
11508         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11509         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11510         bug.
11511
11512 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11513
11514         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11515         Add some missing GDK_THREADS_ENTER()/LEAVE around
11516         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11517
11518 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11519
11520         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11521         rather than emit_by_name.
11522
11523         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11524         on the widget across multiple signal emissions.
11525         (gtk_editable_delete_text): same here.
11526         (gtk_editable_class_init): set widget_class->activate_signal after
11527         editable_signals[ACTIVATE] has been created.
11528
11529 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11530
11531         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11532         position here prematurely -- we might not have the
11533         right ->min_position and ->max_position yet.
11534
11535 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11536
11537         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11538         Add error traps so if the other end of the connection
11539         dies, we survive.
11540
11541         * gtk/gtkselection.c (gtk_selection_notify): Clean
11542         up properly when selection property retrieval fails.
11543         
11544         * gtk/gtkselection.c (gtk_selection_request): Correctly
11545         reject SelectionRequest notifies where the handler
11546         returns no data.
11547
11548 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11549
11550         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11551         when we've previously highlighted.
11552
11553         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11554         emit two "drag_leave" signals for Motif drops.
11555
11556         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11557         back the correct status messages when dropping from
11558         Motif onto a proxy window that is rejecting the
11559         drop.
11560
11561 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11562
11563         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11564         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11565         to compare two argument values. added gtk_arg_to_valueloc() to set a
11566         variable from an arg through its location (pointer).
11567
11568         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11569         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11570         as gfloat*, uchars are collected as guchar*, ints are collected as
11571         gint*, etc...
11572
11573 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11574
11575         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11576         Include <string.h> instead of <strings.h>.
11577
11578         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11579         (actually, a lot more duplicate includes occur if
11580          you trace through the sequence of #include's)
11581         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11582         
11583 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11584
11585         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11586         gtk-a-higuti-990322-[0-3]
11587
11588         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11589         that was causing -DX_LOCALE not to work.
11590
11591         * gtk/gtkrc.c (gtk_rc_init):
11592         X_LOCALE will never have LC_MESSAGES defined
11593
11594 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11595
11596         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11597         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11598
11599         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11600         left/right as well (gtk-michael-980726-0.patch.gz).
11601
11602         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11603         for pointer values, use gchar instead of char. fixed uline allocation
11604         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11605         chunks instead of G_ALLOC_ONLY.
11606         (gtk_label_size_request): always alter requisition as passed and leave
11607         widget->requisition alone.
11608         (gtk_label_set_text): allow NULL strings.
11609         (gtk_label_new): likewise.
11610
11611 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11612
11613         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11614
11615 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11616
11617         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11618         *and* mapped (i.e. drawable).
11619         (gtk_bin_expose): only send exposes to drawable children.
11620
11621         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11622         (gtk_box_expose): only send exposes to drawable children.
11623
11624         * gtk/gtkhscale.c (gtk_hscale_draw): 
11625         * gtk/gtkvscale.c (gtk_vscale_draw):
11626         hm, this is an ugly one. we first compute the size of our trough area
11627         here (window relative) and then check intersection with the draw_area
11628         which is parent relative because we're a NO_WINDOW widget, so we need
11629         to offset the trough area by allocation.x and allocation.y before the
11630         check. (this must not be done for the background area though, since
11631         that's already computed parent relative).
11632
11633 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11634
11635         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11636         unrealize title buttons.
11637
11638 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11639
11640         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11641         (gtk_clist_column_title_active): 
11642         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11643
11644         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11645         zero initialize event, removed superfluous gdk_window_get_pointer call
11646
11647         * gtk/gtklist.c (gtk_list_vertical_timeout)
11648         (gtk_list_horizontal_timeout): removed superfluous
11649         gdk_window_get_pointer call
11650
11651 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11652
11653         * plugging problems reported by "Bruce Mitchener, Jr."
11654         <bruce@puremagic.com> due to a purify session.
11655
11656         * gtk/gtkstyle.c:
11657         (gtk_style_ref): 
11658         (gtk_style_unref): assert ref_count to be > 0.
11659
11660         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11661         the requisition.
11662         (gtk_clist_set_shift): likewise.
11663
11664         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11665         adjustments.
11666
11667         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11668         event before sending it and set send_event to TRUE (which needs to
11669         be done for *all* synthesized events).
11670         (gtk_list_vertical_timeout): likewise.
11671
11672         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11673         leaks.
11674
11675         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11676         to TRUE when synthesizing events.
11677
11678 [ *** end of merges from 1.2 *** ]      
11679         
11680 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11681
11682         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11683         (or copied from gdkconfig.h.win32 on Win32, sigh).
11684
11685         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11686
11687         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11688
11689         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11690
11691         * gdk/gdkconfig.h.win32: New file.
11692
11693         * gdk/win32/makefile.cygwin: Build just a static archive here.
11694
11695         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11696         for the DLL from the static archive built above.
11697
11698         * gdk/gdk.def: Moved here from the win32 subdirectory.
11699
11700         * gdk/win32/*: Adapt for the changed private struct organisation.
11701
11702         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11703
11704 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11705
11706         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11707         for wheel mice (buttons 4 and 5).
11708
11709 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11710
11711         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11712         drawables use just the pixel field in the foreground and
11713         background GdkColor of the GdkGC.
11714
11715         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11716         GdkColors containing uninitialized (red,green,blue) fields, and
11717         just the pixel field filled in, and furthermore in the
11718         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11719         It thus turns out that we really don't need to have the full
11720         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11721         it later to have just the pixel values.
11722
11723 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11724
11725         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11726
11727 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11728
11729         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11730         New question on GtkLabel background colors.
11731
11732         * docs/gtk_tut.sgml:
11733           - Correct the example code callback
11734             function definitions.
11735           - Update the gtkdial example code, from Frans van Schaik.
11736           - Update setselection.c to current API.
11737
11738         * examples/Makefile examples/*/*.c: Update to code
11739         listed in tutorial.
11740
11741 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11742
11743         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11744         subrange table (from the "Developing International Software for
11745         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11746         block... Get the loaded font's charset correctly.
11747
11748         (Note that this, and the other *-win32.c files, still really are
11749         the old ones, the win32 subdirectory is not ready for compilation
11750         yet after the reorg.)
11751
11752 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11753
11754         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11755         check.
11756
11757 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11758
11759         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11760         on results of XQueryDeviceState().
11761
11762 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11763
11764         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11765         we need to accesss only ->children. We need an accessor
11766         for the children.
11767
11768         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11769         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11770         to get rid of gdkx.h include.
11771         
11772         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11773         and random references to 'None'.
11774
11775         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11776         Get rid of unused #include <gdk/gdkx.h>
11777
11778         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11779         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11780         gdkconfig.h.
11781
11782 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11783
11784         * gdk/win32/gdkdraw.c
11785         * gdk/win32/gdkfont.c
11786         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11787         following yesterday's changes. (Unrelated to Owen's reorg.)
11788
11789 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11790
11791         * gdk/x11/gdkinput-gxi.c: Add missing include,
11792           fix GdkWindowPrivate => GdkDrawablePrivate.
11793
11794         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11795
11796         * gdk/x11/Makefile.am (xinput_sources): Add missing
11797         backslash to fix building with --with-xinput=none
11798
11799 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11800
11801         Move all X specific code into the x11/ directory.
11802         Aside from shuffling things around, did the following:
11803
11804        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11805          gdk_arg_context_* - a simple argument parsing system
11806          in the style of popt.
11807
11808        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11809          gdk/x11/gdkprivate-x11.h:
11810          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11811          add ->klass and ->klass_data fields. The klass_data
11812          field points to an auxilliary structure that is
11813          windowing system dependent.
11814
11815        * gdk/gdkfont.c: Make most of the measurement functions
11816          simply wrappers around gdk_text_extents().
11817
11818        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11819          _gdk_font_strlen() function that hides the weird
11820          behavior in gtk+-1.[02] where a string is interpreted
11821          differently for 8-bit and 16-bit fonts.
11822
11823        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11824          to store common code for synthesizing double/triple
11825          press events.
11826         
11827        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11828          Make all the function that modify an existing GC
11829          simply wrappers around gdk_gc_set_values().
11830          
11831        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11832          for throwing out later.
11833
11834        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11835          GdkImagePrivate and GdkColormapPrivate to have a
11836          windowing system dependent part (GdkFontPrivateX etc.)
11837          that "derives" from the system-independent part.
11838
11839        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11840          Got rid of the included-source-files for XInput in
11841          favor of automake conditionals. (Which didn't exist
11842          when XInput support was originally added.)
11843
11844        * gdk/gdkrgb.c: Remove the visual id from the debugging
11845          statements since that is X11 specific; print out
11846          type/depth info instead.
11847          
11848
11849 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11850
11851         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11852         loading duplicates of hashed fonts.
11853
11854         * gdk/gdk.c (gdk_keysym_convert_case): rename
11855         gdk_XConvertCase to gdk_keysym_convert_case, allow
11856         results to be NULL in the GTK+ style.
11857
11858         * gdk/gdkcompat.h: Started compatibility header
11859         for renames.
11860
11861 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11862
11863         * gdk/win32/gdkprivate.h: New font private structures, related to
11864         fontsets.
11865
11866         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11867         gdk_font_list_free(). On X11, will just be wrappers to
11868         XListFonts() and XFreeFontNames(). On Win32, the code previously
11869         in gtkfontsel.c is now here.
11870
11871         New function gdk_font_xlfd_create(). On X11 will get the FONT
11872         property of the font (for GDK_FONT_FONTs), or call
11873         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11874         builds a XLFD style name from the font information in the LOGFONT
11875         struct(s).
11876
11877         New function gdk_font_xlfd_free(), which correspondingly frees the
11878         string returned by gdk_font_xlfd_create().
11879
11880         Implement fontsets on Win32. Add a function that iterates over a
11881         wide char string and calls a callback function for each substring
11882         of wide chars from the same Unicode subrange (and thus probably
11883         available in the same real font).
11884
11885         Improve the XLFD emulation a bit.
11886
11887         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11888
11889         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11890         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11891         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11892         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11893         ImmGetCompositionStringW() to get the composed Unicode chars.
11894
11895         * gdk/win32/gdkgc.c
11896         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11897         struct changes.
11898
11899         * gdk/win32/gdk.def: Add the new functions.
11900
11901 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11902
11903         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11904         get the Platform SDK to get <dimm.h>.
11905
11906         * gdk/win32/gdkevents.c: More event handling fixes and
11907         simplification. Never generate motion events with is_hint true. We
11908         used to do that on bogus grounds earlier. Windows sends
11909         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11910         moved, ignore these.
11911
11912         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11913
11914         * gdk/win32/gdkglobals.c
11915         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11916         the TrackMouseEvent function, and use it.
11917
11918         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11919         char before calling WideCharToMultiByte in order to get a string
11920         for the window title.
11921
11922         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11923
11924         * gdk/win32/gdk.def: Remove obsolete functions.
11925
11926         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11927         /nodefaultlib and /defaultlib switches.
11928
11929         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11930
11931 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11932
11933         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11934         EuroSign).
11935
11936         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11937         same type as GdkWChar, especially on Win32.
11938
11939         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11940
11941         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11942         before passing to Windows GDI for drawing etc. Convert to the
11943         system default codepage before passing to Windows as window
11944         titles.
11945
11946         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11947         support changing input locale on the fly.
11948
11949         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11950         on-the-fly changes. Convert incoming characters from the current
11951         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11952         on the current input language. Use keysym<->Unicode mapping tables
11953         and functions borrowed from xterm sources.
11954
11955         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11956         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11957         Manager) if available. IMEs and the Active IMM are available under
11958         the disguise of Chinese, Korean and Japanese support for IE and
11959         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11960         support is present in all editions (as long as you install it).
11961
11962         Call DispatchMessage from gdk_events_queue() (and thus
11963         gdk_WindowProc()), instead of duplicating the code in
11964         gdk_WindowProc().
11965
11966         Reworked the grab handling and propagation code, factored out
11967         duplicated code snippets into separate functions. Other cleanups,
11968         too.
11969
11970         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11971         the <dimm.h> header describing the Active IMM.
11972
11973         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11974         just do the same as for "single" fonts.
11975
11976         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11977         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11978         the new keysyms from gdkkeysyms.h.
11979
11980         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11981         fontset, so that gtkentry uses wide characters.
11982
11983         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11984         GTk+'s system directory "gtk+", not "gtk".
11985
11986 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11987
11988         * docs/gtkfaq.sgml: FAQ update
11989
11990 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11991
11992         * gdk/win32/gdkprivate.h: Add more font private data.
11993
11994         * gdk/win32/gdkfont.c
11995         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11996         fonts and strings. Now works much better. You still have to
11997         have a correct font selected, though. No fontset emulation yet.
11998
11999 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12000
12001         * gtk/maketypes.awk: Use G_OS_WIN32.
12002
12003         * gtk/gtk.def: Add some missing entry points. Also some non-public
12004         ones, but PyGTK porter claims to need them.
12005
12006         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12007         built-in type generation.
12008
12009 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12010
12011         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12012         GDK_FONT_FONT fonts (which is all we have for now, we don't
12013         emulate fontsets). The X11 version uses plain XDrawString in that
12014         case, too. The string passed to gdk_draw_text_wc seems to be in
12015         fact (at least, when used by gtkentry and gtktext) either in a
12016         single-byte charset, or a DBCS. Not Unicode.
12017
12018         This fixes the problem in gtkfontsel, where even if you had
12019         selected a font with a non-Latin1 charset (windows-greek, for
12020         instance), the preview still used Latin-1 glyphs.
12021
12022         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12023         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12024         (gdk_font_load): Recognize the demibold etc weights, even if we
12025         don't have the corresponding constants in the headers.
12026         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12027         version. Should save font resources a bit, when we don't have
12028         multiple HFONTs for the same font.
12029
12030         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12031         version.
12032
12033 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12034
12035         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12036         X values
12037
12038 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12039
12040         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12041         layout support (as mentioned on
12042         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12043
12044 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12045
12046         * gtk/fnmatch.c
12047         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12048
12049 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12050
12051         * configure.in (ALL_LINGUAS): Added Galician (gl)
12052
12053 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12054
12055         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12056
12057         * gdk/win32/gdkcompat.c: New file, actually provide an
12058         implementation for the deprecated functions. (Just temporarily.)
12059
12060         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12061
12062         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12063
12064         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12065
12066 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12067
12068         * configure.in: Added "uk" to ALL_LINGUAS.
12069         
12070 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12071
12072         * configure.in: correct checking for BeOS check
12073
12074         * gdk/gdktypes.h
12075         * gtk/fnmatch.c
12076         * gtk/gtkfilesel.c
12077         * gtk/gtkitemfactory.c
12078         * gtk/gtkmain.[ch]
12079         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12080
12081 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12082
12083         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12084         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12085         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12086         by Bulgarian). 
12087
12088 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12089
12090         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12091         Fix a reference to window_private->destroyed.   
12092
12093         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12094         (ugly) setting of an internal GdkWindow member to use
12095         a _slightly_ cleaner macro.
12096
12097         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12098         GdkDrawablePrivate and GdkWindowPrivate.
12099         Add extra macros for accessing GDK_DRAWABLE_ components.
12100
12101         * *.[ch]: Massive adjustments for the above, use the
12102         new macros in a lot of places.
12103
12104 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12105
12106         * gdk/gdktypes.h: Make GdkDrawable the base type,
12107         not GdkWindow.
12108
12109 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12110
12111         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12112
12113 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12114
12115         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12116
12117 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12118
12119         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12120         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12121
12122         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12123
12124         * docs/gtk-config.1: Now autogenerated.
12125         * docs/Changes-1.4.txt: started
12126         
12127 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12128
12129         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12130         to #ifdef also here.
12131
12132         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12133         Owen did to the X11 backend.
12134
12135         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12136         ScrollWindowEx when blitting inside a window, it can't be correct
12137         in the general case.
12138
12139         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12140         WM_GETMINMAXINFO is easier.
12141
12142         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12143         depth equal to the bitspixel value, not the visual's depth.
12144
12145         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12146         to 24 even if the bitspixel value is 32.
12147
12148         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12149         need to check for depth==32 when bpp==32, depth will always be 24.
12150
12151 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12152
12153         * docs/Changes-1.4.txt: Started
12154         
12155         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12156
12157         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12158         
12159         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12160         into C file.
12161         
12162         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12163         header to gdkinputprivate.h.
12164
12165         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12166         unused since before 1.2.
12167
12168 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12169
12170         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12171         expand possible hex escapes in the font family (put there by
12172         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12173         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12174         On Win32, add hex escapes here, too.
12175
12176 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12177
12178         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12179         to #ifdef GDK_WINDOWING_X11.
12180
12181 [ Merges from gtk-1-2 ]
12182
12183 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12184
12185         * configure.in: fixed "GNU Make" check to pass with new make version
12186         3.77.95.
12187
12188 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12189
12190         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12191         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12192         AM_PATH_GTK() macros don't get confused by the -pre1.
12193
12194 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12195
12196         * configure.in (REBUILD): Change check for perl5
12197           to check explicitely for v >= 5.002. (5.001
12198           does not work with our scripts.)
12199
12200 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12201
12202         * configure.in: evaluate $PERL for the perl version check. added
12203         --disable-rebuilds to give the user an option to completely disable
12204         any source autogeneration rules.
12205
12206 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12207
12208         * configure.in: evaluate $ac_make when checking for GNU Make.
12209
12210 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12211
12212         * docs/Makefile.am: added generation.txt.
12213
12214         * Makefile.am: require automake 1.4, build README from README.in and
12215         INSTALL from INSTALL.in in dist-hook.
12216         
12217         * README.in:
12218         * INSTALL.in: new files to autogenerate README and INSTALL from.
12219
12220         * configure.in: figure whether we have GNU Make
12221
12222         * docs/generation.txt: minor additions/corrections.
12223
12224 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12225
12226         * docs/gtkfaq.sgml: FAQ Update
12227
12228 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12229         
12230         * configure.in: Fix autoconf warnings about cross compilation by
12231         trying to provide sane defaults for AC_TRY_RUN.
12232
12233 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12234
12235         * ltconfig
12236         * ltmain.sh: upgrade to libtool 1.3.3
12237
12238 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12239
12240         * INSTALL: Indicate that the --with-glib= configure
12241         time flag is unsupported.
12242
12243 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12244
12245         * docs/generation.txt: Added a file that gives
12246         documenation about the autogeneration process for
12247         various autogenerated files.
12248         
12249 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12250
12251         * configure.in (LIBS): Look for libgmodule in the
12252         right location.
12253
12254 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12255
12256         * docs/gtk_tut.sgml: Removed references to
12257         code examples in my directory on gtk.org as
12258         they should all be in the tutorial now.
12259
12260         * docs/gtk_tut.sgml: Added sources for dial-test
12261         and scribble-xinput programs that were previously
12262         missing.
12263
12264 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12265
12266         * TODO: Added entry about menu keyboard navigation, removed
12267         some finished items.
12268
12269 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12270
12271         * acinclude.m4: Standardize on func_dgettext
12272         not func_gettext, so that the checks for dgettext
12273         actually are paid attention to.
12274
12275 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12276
12277         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12278         directly, rather than repeating the checks for
12279         gettext.
12280
12281         * INSTALL: Added information about gettext and
12282         NLS support.
12283
12284         * acinclude.m4 (LIBM): Check for dgettext, not
12285         just gettext. This should hopefully fix things wrt
12286         systems with old versions of GNU gettext installed.
12287
12288 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12289
12290         * configure.in (LIBS): Look for libgmodule in the
12291         right location.
12292
12293 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12294
12295         * autogen.sh: add --enable-maintainer-mode
12296
12297         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12298
12299 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12300
12301         * docs/gtk-config.1.in:
12302           docs/Makefile.am:
12303           configure.in: gtk-config is now generated.
12304
12305         * docs/gtk-config.1: Removed, now generated.
12306
12307 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12308
12309         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12310         handle CreateNotify itself, still put out a debuging message for
12311         --gdk-debug=events. made the ReparentNotify debugging message more
12312         verbose.
12313         wrap xcoords translation for ConfigureEvents into an error trap,
12314         a destroy event may already be pending, and in that case, the
12315         actuall coordinate values are not at all critical.
12316
12317 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12318
12319         * gdk/gdkcc.c: Stop leaking the color_hash all over
12320         the place. Simplify and improve the logic.
12321
12322 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12323
12324         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12325         for prototypes and function implementations consistent (reported
12326         by Tomas Ogren).
12327
12328 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12329
12330         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12331         send_event set in debugging output.
12332         (gdk_compress_exposures): default initialize the event so we don't
12333         operate on bogus values (namely send_event).
12334
12335 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12336
12337         * gdk/gdkwindow.c: When we receive an unexpected
12338         destroy notify on one of our windows, don't just
12339         warn about it, also mark our windows as destroyed.
12340
12341 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12342
12343         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12344           name => font and name => fontset hashes. The 
12345           name => fontset hash is a _big_ win since we
12346           weren't previously caching fontsets at all and loading
12347           fontsets is expensive. The name => font hash
12348           is less of a win, but it does save us from doing
12349           repeated XQueryFont calls on the same font.
12350
12351         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12352           list so we can remove font/fontset from hash.
12353
12354 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12355
12356         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12357           and slightly confusing test. [ XInternAtom (,,TRUE)
12358           will never return None ].
12359
12360 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12361
12362         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12363           gdk/gdkwindow.c (gdk_window_set_hints):
12364
12365         Don't omit setting the properties if flags == 0 -
12366         there may be an existing set of properties there
12367         already. (Very old bug. Would it be better to
12368         delete the property instead?)
12369
12370         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12371           spelling error in comment.
12372
12373 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12374
12375         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12376           to avoid stomping over gdk_error_warnings.
12377
12378         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12379           as (bits_per_pixel + 7) / 8. This gives the same
12380           result as before for multiples of 8, but actually
12381           a "reasonable" value for 1bit or 4bit displays.
12382
12383 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12384
12385         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12386         GNU Make.
12387
12388 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12389
12390         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12391         discarding configure events.
12392
12393 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12394
12395         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12396         refcount is greater than zero.
12397
12398         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12399
12400         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12401
12402         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12403
12404         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12405
12406 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12407
12408         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12409         that format 32 => sizeof(item) == 4. It really is
12410         sizeof(long).
12411
12412 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12413
12414         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12415         core dump at all on X IO errors, only core dump
12416         if --enable-debug for X errors.
12417
12418 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12419
12420         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12421         unknown window:" message. disabled ConfigureNotify discarding code,
12422         because it led to events being processed out of order.
12423
12424 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12425
12426         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12427
12428         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12429         we export this function, supress error warnings and don't reset the
12430         error code in the first half of this function.
12431
12432         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12433         code (instead of just -1) so gdk_error_trap_pop() reveals something
12434         actually informative about the error that happened.
12435
12436         * gdk/*.c:
12437         don't rely on gdk_error_code being -1 if an error occoured, but just
12438         gdk_error_code != 0.
12439
12440 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12441
12442         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12443         pointer *before* invoking the filter function, so we at least don't
12444         crash if a filter is removed that is currently executed. window filters
12445         *really* need to be made truely reentrant at some point.
12446
12447 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12448
12449         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12450         PropertyNotify debug messages.
12451
12452 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12453         
12454         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12455         
12456         * gdk/gdkim.c: Fix cut-and-paste errors for 
12457         x/y and PreeditAttributes/StatusAttributes.
12458
12459 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12460
12461         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12462         G_MAXINT to 2^16 to alleviate overflow problems in
12463         various window managers.
12464
12465 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12466
12467         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12468         for fontsets.
12469
12470 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12471
12472         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12473         Initialize size_hints.x and size_hints.y because kwm
12474         brokenly pays attention to them.
12475         (Bug #1181 -  Lars Heete <hel@admin.de>)
12476
12477 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12478
12479         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12480         return value of gdk_list_visuals(). 
12481         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12482
12483 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12484
12485         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12486         XSetIMValues to (void *) when comparing to NULL, to workaround
12487         the problem of some compilers barfing since older X headers don't
12488         have the prototype for it.
12489
12490 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12491
12492         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12493         for pseudocolor where colormap->colors was double
12494         allocated.
12495
12496         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12497         color value in the hash table with the pixel filled
12498         in so when we do later hash table lookups, the color
12499         value is correct.
12500         
12501 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12502
12503         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12504         making the call
12505
12506 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12507
12508         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12509         pointed out by Morten Welinder <terra@diku.dk>.
12510
12511 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12512
12513         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12514           default filter from the list
12515
12516 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12517
12518         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12519           default filter from the list
12520
12521 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12522
12523         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12524
12525         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12526         g_strdup_printf instead of calcing the length separately
12527
12528 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12529
12530         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12531         that we don't do in many other places. (Fixing duplicate 
12532         #include of config.h)
12533
12534         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12535         Otherwise, #ifndef XINPUT_NONE check in the latter
12536         doesn't work. (Bug #546)
12537
12538 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12539
12540         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12541         "None" case insensitive.
12542
12543 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12544
12545         * gdk/gdkselection.c: 
12546         Add error traps so if the other end of the connection
12547         dies, we survive.
12548
12549 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12550
12551         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12552         dest_xid field into two fields - one for the window
12553         to send in messages, one to indicate the last looked
12554         up window for caching purposes. This is needed, so
12555         that Leave messages get the correct window.
12556
12557 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12558
12559         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12560         Fix warning created by people mucking around
12561         with the gsource API.
12562
12563         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12564         Change mapping between GIOCondition and GdkInputCondition
12565         to match the way the Linux kernel does it. This should
12566         fix problems where closed pipes were no longer signalling
12567         GDK_INPUT_READ on systems with a native poll().
12568
12569 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12570
12571         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12572         explicitly for the string "None" - it is in the XPM
12573         spec and some servers treat unknown colors in odd ways
12574         (like asking the user!)
12575
12576 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12577
12578         * gdk/gdkevents.c: made "->" into a "." of previous change so
12579         it compiles
12580
12581 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12582
12583         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12584         window field of the event structure before calling
12585         user filters.
12586
12587 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12588
12589         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12590         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12591
12592 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12593
12594         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12595         intermediate text property - prevents major memory
12596         leak when gdk_use_mb.
12597         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12598
12599 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12600
12601         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12602         gtk-a-higuti-990322-[0-3]
12603
12604         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12605         sizeof(wchar_t) != sizeof (GdkWChar)
12606
12607         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12608         that was causing -DX_LOCALE not to work.
12609
12610         * gtk/gtkrc.c (gtk_rc_init):
12611         X_LOCALE will never have LC_MESSAGES defined
12612
12613         * gdk/gdk.c (gdk_init_check):
12614         Remove --xim-preedit and --xim-status from argv properly.
12615
12616         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12617         that the client window is present on the X server
12618         before we pass it to the input method.
12619
12620 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12621
12622         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12623         if --display is specified on the command line, than
12624         the drag window will not be created on that display.
12625         
12626 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12627
12628         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12629         lookups with only_if_exists == TRUE were inserting
12630         bogus values into the atom cache.
12631
12632 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12633
12634         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12635         then reset it to NULL.
12636
12637         * gdk/gdkcolor.c:
12638         (gdk_colors_free): 
12639         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12640         key for g_hash_table_remove() in both functions, this prevents us
12641         from accessing possibly uninitialized portions of a GdkColor structure
12642         where we are only interested in its pixel value.
12643
12644 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12645
12646         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12647         font hash table, if we have a GdkFontPrivate entry for this font
12648         already, simply increment its reference count, provided by Olaf Dietsche
12649         <olaf.dietsche+list.gtk@netcologne.de>.
12650
12651 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12652
12653         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12654         just to be sure.
12655
12656         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12657         unused variables, leftovers from the X11 version.
12658
12659         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12660
12661         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12662         downcase fields on X11.
12663
12664 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12665         
12666         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12667         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12668
12669 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12670
12671         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12672
12673         * gtk/makefile.msc: Correct path to libintl.
12674
12675         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12676         use of gint vs. int, and gint vs. gboolean in headers and
12677         definitions. Use GtkType for the *_get_type functions. Note that
12678         these changes preserve binary compatibility.
12679
12680         * gdk/gdk.c
12681         * gdk/win32/gdk.c
12682         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12683
12684         * gtk/gtkmain.c
12685         * gtk/gtkclist.c
12686         * gtk/gtkmenufactory.c
12687         * gtk/gtknotebook.c
12688         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12689         vs. gboolean.
12690
12691         * gtk/gtkcolorsel.[ch]
12692         * gtk/gtkcombo.[ch]
12693         * gtk/gtkdrawingarea.[ch]
12694         * gtk/gtkgamma.[ch]
12695         * gtk/gtkhandlebox.[ch]
12696         * gtk/gtkhpaned.[ch]
12697         * gtk/gtkhruler.[ch]
12698         * gtk/gtkplug.[ch]
12699         * gtk/gtkpreview.[ch]
12700         * gtk/gtkruler.[ch]
12701         * gtk/gtksocket.[ch]
12702         * gtk/gtkstatusbar.[ch]
12703         * gtk/gtktoolbar.[ch]
12704         * gtk/gtkvbbox.[ch]
12705         * gtk/gtkvpaned.[ch]
12706         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12707         functions.
12708
12709         * gtk/gtkgamma.h: Fix bug, missing () in call of
12710         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12711
12712 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12713
12714         * gdk/gdkcolor.c (gdk_colormap_new)
12715         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12716         colormap->colors was allocated twice.
12717
12718         * gdk/win32/gdk.c: Remove some unused stuff.
12719
12720         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12721         colormap.
12722
12723         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12724         * gtk/gtklabel.h (gtk_label_get_type)
12725         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12726         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12727         in a couple of places, not guint.
12728
12729 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12730
12731         * configure.in,po/et.po: added Estonian language file
12732
12733 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12734
12735         * configure.in,po/da.po: added Danish file
12736
12737 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12738
12739         * docs/gtkfaq.sgml: Minor FAQ Update
12740
12741 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12742
12743         * docs/gtkfaq.sgml: FAQ update
12744
12745 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12746
12747         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12748         way to get window contents continually refreshed while resizing. I
12749         didn't like the effects myself, so it's not on by default.
12750
12751         * gdk/win32/gdkprivate.h: New flag variable
12752         gdk_event_func_from_window_proc, FALSE by default.
12753
12754         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12755         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12756         are passed --gdk-event-func-from-window-proc.
12757
12758         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12759         and we have am event_func, call it instead of enqueing the event.
12760
12761 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12762
12763         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12764         Kelley: Set expose_count in GdkEventExposes correctly.
12765
12766         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12767         MULTIPLE_WINDOW_CLASSES).
12768
12769         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12770         for bug in NT, apparently NT *does* draw the end pixel, too, in
12771         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12772
12773 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12774
12775         Improvements by Hans Breuer: 
12776
12777         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12778
12779         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12780         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12781         window contents while dragging" is turned on. Allocate at least
12782         one unique class for every GdkWindowType. If support for single
12783         window-specific icons is ever needed (eg. Dialog specific), every
12784         such window should get its own class.
12785
12786 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12787
12788         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12789         error that caused crashes.
12790
12791 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12792
12793         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12794         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12795         bugs when for instance part of the window was outside the
12796         display. Thanks to Philippe Colantoni for finding and fixing this.
12797
12798 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12799
12800         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12801         endpoint calculations which were totally wrong. (A little RTFMing
12802         helps a lot ;-)
12803
12804         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12805         from a separate directory, not from gettext, because of licensing
12806         issues (we want to use the LGPL version).
12807
12808         * README.win32: Mention the intl from glibc vs from gettext issue.
12809
12810 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12811
12812         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12813         in the key event handling: Now AltGr chars work again. Also,
12814         now Alt-digits are passed up as well as Control-digits.
12815         Pass keypad plus and minus as normal plus and minus.
12816
12817 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12818
12819         * docs/gtkfaq.sgml: FAQ Update
12820
12821 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12822
12823         * README.win32
12824         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12825         the Wintab SDK.
12826
12827         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12828         OK, but getting closer. Guard against bogus tilt data from Wacom
12829         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12830         enable easier building without Wintab.
12831
12832         * gdk/win32/gdkinput.h
12833         * gdk/win32/gdkevents.c 
12834         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12835         
12836         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12837         code. As we have just one visual on Win32, no sense to have it in a
12838         table, and no need for the hash table.
12839
12840         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12841         better on white background.
12842
12843 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12844
12845         * README.win32: Update gcc build instructions. Mention gettext is
12846         GPL.
12847
12848         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12849         supported cursor size with GetSystemMetrics.
12850
12851         * gdk/win32/gdkfont.c
12852         * gtk/gtkfontsel.c: Guard against some font weight and charset
12853         symbols being undefined (in mingw32 headers).
12854
12855         * gdk/win32/makefile.cygwin
12856         * gtk/makefile.cygwin
12857         * gtk/gtkthemes.c: No longer need to have differently named
12858         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12859
12860 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12861
12862         * docs/gtkfaq.sgml: Long awaited FAQ update.
12863
12864 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12865
12866         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12867         it. Obscure bit manipulation needed.
12868
12869         * gdk/win32/gdkevents.c: Logging.
12870         
12871         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12872         style (file name include compiler name) for theme engines.
12873
12874 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12875
12876         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12877
12878         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12879         events. The key.string wasn't zero-terminated, still we strdup'ed
12880         it in gdk_event_copy(). Synthesize crossing events for button
12881         events before possible propagation.
12882
12883         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12884
12885         * gdk/win32/makefile.cygwin
12886         * gtk/makefile.cygwin: Use new DLL naming style for the
12887         GCC-compiled ones.
12888
12889         * gdk/win32/makefile.msc
12890         * gtk/makefile.msc: Cosmetics mostly.
12891
12892         * gtk/gtk.def: Add missing entry points.
12893
12894         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12895
12896 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12897
12898         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12899         or height is zero. Don't print a warning if Pie or Arc fails, they
12900         always fail (?) for very narrow ellipses.
12901
12902         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12903         the part or the destination window corresponding to source area
12904         outside of the source drawable's boundary.
12905
12906         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12907         anything if less than two points.
12908
12909         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12910         return NULL. Gtk cut-and-paste inside a single program works
12911         better this way. (It always gets the clipboard contents from
12912         Windows, not from its own copy, which is cleared anyway. I can't
12913         say I fully understand what happens... Emulating the X selection
12914         and property stuff is a bit of a mess.)
12915
12916         * gdk/win32/gdkevents.c
12917         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12918
12919         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12920         that never got deleted). Revamp gdk_region_shrink.
12921
12922         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12923         after use.
12924
12925         * gtk/gtk.def: Add some missing entry points.
12926
12927         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12928         component.
12929
12930 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12931
12932         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12933         Control-digits specially.
12934
12935 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12936
12937         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12938
12939 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12940
12941         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12942         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12943         finding this.)
12944
12945 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12946
12947         * gtk+.spec.in: Corrected some typos in files section.
12948         
12949 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12950
12951         * README.win32: Mention using GNU gettext.
12952         * config.h.win32: Enable NLS stuff.
12953         * gtk/makefile.msc: Use GNU gettext.
12954         * gdk/win32/gdkdnd.c: Minor header reorg.
12955         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12956         cosmetics.
12957         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12958         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12959
12960 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12961
12962         * acinclude.m4
12963         * config.guess
12964         * config.status
12965         * ltconfig
12966         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12967
12968 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12969
12970         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12971         SafeAdjustWindowRectEx. Don't override all calls to
12972         AdjustWindowRectEx by it, but use it only in two places: When
12973         creating a new top-level window and when moving a top-level
12974         window.
12975
12976         Use screen coordinate rectangle, not client rectangle, in
12977         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12978         when we try to place a window so that the decoration (mainly,
12979         title bar) isn't visible.
12980
12981         These changes fix the bug that showed up for instance as the
12982         GIMP's saved top-level windows moving right and down (by an amount
12983         equal to the window decoration) for each session. This bug showed
12984         up also in testgtk's "Saved Position".
12985
12986         gdk_window_resize also redone a bit.
12987
12988 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12989
12990         * gtk/testgtkrc: Add (commented out) Windows-style theme
12991         include line.
12992
12993         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12994
12995 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12996
12997         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12998         gdkx.h to a gdk subdirectory, so that applications can include
12999         these with <gdk/*.h> without trouble.
13000
13001         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13002         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13003         have their bitmap destroyed.
13004
13005         * gdk/win32/gdk.def: Add gdk_root_parent.
13006
13007 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13008
13009         * configure.in
13010           gtk-config.in
13011           ltconfig
13012           ltmain.sh     
13013           gtk/Makefile.am: changes to compile nicely (with xlib) 
13014           on BeOS
13015
13016 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13017
13018         * acinclude.m4
13019         * config.guess
13020         * config.sub
13021         * ltconfig
13022         * ltmain.sh: upgrade to libtool 1.3
13023
13024 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13025
13026         * gtk/gtkclist.c:
13027         * gtk/gtkctree.c: merges from gtk-1-2
13028
13029 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13030
13031         Support added for building using a GNU toolchain on Win32,
13032         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13033
13034         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13035         * config.h.win32: Changes for gcc.
13036         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13037         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13038         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13039         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13040         Protect shl stuff unavaiilable with mingw32 headers.
13041         * gdk/win32/gdkevents.c: Fix typo.
13042         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13043         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13044         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13045         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13046         the mingw32 headers.
13047         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13048         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13049         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13050         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13051         Test for NATIVE_WIN32, not _MSC_VER.
13052         * gtk/gtkmain.c: No use warning about developer version on Win32,
13053         there aren't any non-developer versions anyhow.
13054         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13055         * gtk/makefile.msc: Use pthread from another directory. Minor other
13056         changes. 
13057
13058 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13059
13060         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13061           default filter from the list
13062
13063 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13064
13065         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13066          when gtk_widget_grab_default() is called for a widget that
13067          is not within a GtkWindow.
13068
13069 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13070
13071         * docs/gtk_tut.sgml, examples/clist.c: use a
13072           scrolled window in the clist example. Minor
13073           tutorial fixes.
13074
13075 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13076
13077         * docs/gtk_tut.sgml: Style check from David King
13078           <dking@youvegotmail.net>
13079
13080 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13081
13082         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13083         compile with unknown value of GDK_WINDOWING
13084
13085 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13086
13087         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13088         after the rule is fired.
13089         (install-exec-local): Install gdkconfig.h only if the contents are
13090         different from the currently installed gdkconfig.h.
13091
13092 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13093
13094         * gdk/Makefile.am (configexecincludedir): Rename from 
13095         configincludedir so that gdkconfig.h will be installed 
13096         as part of `make install-exec'. 
13097
13098 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13099
13100         * acinclude.m4
13101         * config.guess
13102         * config.sub
13103         * ltconfig
13104         * ltmain.sh: upgrade to libtool 1.2f
13105
13106         * autogen.sh: libtool is not required to autogen gtk+
13107
13108         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13109         needed)
13110
13111 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13112
13113         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13114         declaring gdk variables exported/imported from the DLL. New image
13115         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13116         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13117         GDK_DRAG_PROTO_OLE2.
13118
13119         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13120         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13121         declared only for the Win32 version, but could be in the X11
13122         version as well. (Needed for a Xlib-less gdk_imlib.)
13123         gdk_color_hash should have only one parameter. Declare
13124         gdk_threads_mutex with GDKVAR.
13125         
13126         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13127         just one parameter.
13128
13129         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13130         per pixel, not bits.
13131
13132         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13133         Fetch bpp (which means bits-per-pixel here) from another place on
13134         Win32. Accept also depth==32 (which we might get on Win32) with
13135         bpp==32.
13136
13137         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13138         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13139         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13140         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13141         in the backend-dependent directory, not in the common gdk
13142         directory.
13143
13144         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13145         headers.
13146
13147 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13148
13149         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13150         want to use the Gtk+ devel version (which is true, and yes - even i am
13151         currently working with the 1.2.x branch). so everyone reading this, you
13152         probably want to issue
13153         cvs checkout -r glib-1-2 glib
13154         and
13155         cvs checkout -r gtk-1-2 gtk+
13156         as your next two comands.
13157
13158 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13159
13160         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13161         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13162
13163         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13164         file. strongly deprecated the GTK_HAVE_* macros, we provide
13165         GTK_CHECK_VERSION() for people that need to check for certain
13166         Gtk+ versions.
13167
13168         * gtk/gtkcompat.h: removed this from CVS.
13169         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13170         idea right from the start, it just didn't seem like that back then.
13171
13172 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13173
13174         * merges from gtk-1-2:
13175
13176 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13177
13178         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13179         item factory class has been created.
13180         (gtk_item_factory_parse_rc): likewise.
13181
13182         * gtk/gtkmenu.c:
13183         keep proper references for old_active_menu_item.
13184         (gtk_menu_reparent): unset the usize of the new parent,
13185         so the menu can sanely be size requested and we don't get nasty screen
13186         artefacts upon next reparentation.
13187         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13188         enter notify. only synthesize enter notifies if the pointer really is
13189         inside the event window.
13190         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13191         (gtk_menu_popup): move the background setting stuff into
13192         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13193
13194         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13195         gtk_menu_shell_select_item() to select the new item.
13196         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13197         do the right thing for deselection as well.
13198
13199 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13200
13201         * gtk/gtkwidget.[hc]:
13202         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13203         are locked.
13204
13205         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13206         existing accelerators if the widget's accelerators are locked.
13207
13208 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13209
13210         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13211
13212         * gtk/gtkmenu.c: truely forward key press and key release events to
13213         the menu widget from the toplevel or tearoff window. we can't simply
13214         connect to that, we need to stop further processing of the events as
13215         well.
13216
13217 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13218
13219         * gtk/gtkmenu.c:
13220         (gtk_menu_key_press): pass event->keyval, event->state to
13221         gtk_accelerator_valid, instead of event->keyval twice.
13222         refuse to install single letter accelerators for menus that use
13223         single letter shortcuts.
13224
13225         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13226         gtk_menu_ensure_uline_accel_group().
13227
13228         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13229         which will always return an uline accel group, made
13230         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13231         yet created.
13232
13233 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13234
13235         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13236
13237         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13238         Leave button sensitive, trap  button_press, button_release,
13239         motion_notify, enter_notify and leave_notify events instead.
13240         (gtk_clist_column_title_active): disconnect event handler.
13241         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13242         Guillaume Laurent <glaurent@worldnet.fr>
13243
13244 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13245
13246         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13247         width/height mixups.
13248
13249         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13250         if needed.
13251
13252 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13253
13254         * gtk/testgtk.c (create_item_factory): unref the item factory after
13255         window's destruction.
13256
13257         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13258         count on the menu shell around the menu item's activation, since the
13259         signal emission may cause menu shell destruction.
13260
13261         * gtk/gtkitemfactory.c:
13262         the previous code leaked one accel group per menu. we use
13263         gtk_menu_get_uline_accel_group() now to fix that, and with that
13264         also create the underline accelerator group of the menus only if
13265         required (i.e. an underline accelerator has been specified).
13266         (gtk_item_factory_construct):
13267         (gtk_item_factory_create_item): removed code that would create an
13268         extra accel group for the menu (and leak references).
13269         (gtk_item_factory_create_item): adapted the underline accelerator
13270         installation code to properly feature gtk_menu_get_uline_accel_group().
13271
13272         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13273         menu->accel_group, this may return NULL if the accelerator group
13274         hasn't been set yet.
13275         added gtk_menu_get_uline_accel_group() to retrive the underline
13276         accelerator group of the menu, this will be created on demand
13277         and proper care is taken about its reference count.
13278
13279         * gtk/gtkitemfactory.h:
13280         * gtk/gtkitemfactory.c:
13281         dumped the approach of keeping a widgets by action list on the
13282         factory since the factory<->widget destroy negotiation didn't work
13283         and would be hard to get going at all. instead we keep a list of
13284         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13285         persistant throughout a program's life time).
13286         also, i removed the static const gchar *key_* variables, and made
13287         them inline strings (they weren't actually used anyways).
13288         (gtk_item_factory_add_item): update ifactory->items.
13289         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13290         the item factory pointer from the remaining ifactory widgets).
13291         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13292         list to find the widget.
13293         (gtk_item_factory_get_item): new function that works around
13294         gtk_item_factory_get_widget() limitations, this function will only
13295         return menu items, even for <Branch> entries.
13296
13297 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13298
13299         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13300         font hash table, if we have a GdkFontPrivate entry for this font
13301         already, simply increment its reference count, provided by Olaf Dietsche
13302         <olaf.dietsche+list.gtk@netcologne.de>.
13303
13304         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13305         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13306
13307 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13308
13309         * gtk/gtkcontainer.c:
13310         (gtk_container_add_with_args):
13311         (gtk_container_addv):
13312         (gtk_container_add): before adding a child to a conatiner, make sure
13313         it is (default) constructed, this is neccessary because under certain
13314         circumstances the child will get relized and mapped immediatedly, in
13315         which case it has to be constructed already.
13316
13317 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13318
13319         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13320         values > 1 as TRUE also.
13321
13322 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13323
13324         * README.win32: New file.
13325                 
13326         * configure.in: Check for lstat.
13327
13328         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13329         completeness.
13330
13331         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13332
13333         * gtk/gtk.def: Removed CRs.
13334
13335         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13336         ..\gdk\win32).
13337
13338         * gdk/win32/makefile.msc: Correct upwards relative paths.
13339         
13340 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13341
13342         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13343           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13344           it was connecting a void function to expose_event and the int
13345           returning function to the draw signal
13346
13347 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13348
13349         * configure.in:
13350         Use correct path to libgmodule.la when ref'ing uninstalled copy
13351         of glib.  (Already in stable branch, Bug #417)
13352
13353 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13354
13355         Win32 merge and general portability stuff:
13356                 
13357         * acconfig.h,configure.in: Check for <sys/time.h>.
13358
13359         * gdk/win32: New directory (actually, been there for a while).
13360         
13361         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13362         NATIVE_WIN32, and use these. Always case fold on Win32. No
13363         backslashed escapes on native Win32.
13364
13365         * gtk/{gtk.def,makefile.msc}: New files.
13366
13367         * gtk/Makefile.am: Add above new files.
13368         
13369         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13370         instead of <strings.h>.
13371
13372         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13373         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13374         <unistd.h> appropriately.
13375
13376         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13377         Use ABS() (from <glib.h>) instead of abs().
13378         
13379         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13380         of gtk (and thus glib) headers, so that WIN32 will be
13381         defined. With MS C, include <direct.h> for mkdir prototype.
13382
13383         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13384         some casts, needed by MS C.
13385
13386         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13387         implemented).
13388
13389         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13390         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13391         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13392
13393         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13394                 
13395         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13396         the event is not a hint, or its window is not the slider. Needed
13397         on Win32, at least.
13398
13399         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13400         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13401         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13402         a subdirectory of the Windows directory as gtk system
13403         configuration directory.
13404
13405         * gtk/gtkselection.c: No chunks on Win32.
13406
13407         * gtk/gtksocket.c: Not implemented on Win32.
13408
13409         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13410
13411         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13412
13413         * gtk/maketypes.awk: Declare variables with a macro that expands to
13414         necessary export/import magic in the case of Win32.
13415                 
13416         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13417
13418 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13419
13420         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13421         since those were meant only for gdki18n.h.  
13422         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13423         for widechar tests.
13424         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13425
13426 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13427
13428         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13429         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13430
13431         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13432         installed) to CFLAGS.
13433
13434         * gdk/Makefile.am: Add rules for gdkconfig.h.
13435
13436         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13437         APIs.
13438
13439         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13440         gdkx.h anyway when compiling for X11.
13441         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13442         general): Merge in Win32 version.
13443         
13444         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13445         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13446         expansion (if we don't have HAVE_PWD_H), allow for drive
13447         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13448         included code from Craig Setera's port to Win32 (the one that uses
13449         X11, and the cygwin dll), even if it probably will be abandoned.
13450
13451         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13452         the user entered one herself.  This way one can complete *.h and
13453         don't get matches on any .help files, for instance.
13454         
13455 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13456
13457         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13458         font hash table, if we have a GdkFontPrivate entry for this font
13459         already, simply increment its reference count, provided by Olaf Dietsche
13460         <olaf.dietsche+list.gtk@netcologne.de>.
13461
13462         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13463         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13464
13465 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13466
13467         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13468         the number of calls to gdk_draw_point() (and thus to X) by
13469         clipping the points by hand.
13470
13471         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13472         the clip parameter.
13473         (gtk_handle_box_paint): Only paint the handle if the expose area
13474         intersects it.
13475
13476 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13477
13478         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13479
13480 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13481
13482         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13483         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13484
13485 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13486
13487         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13488          textmode (O_TEXT) for OS/2 version.
13489
13490 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13491
13492         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13493         GtkSpinButton, "input" and "output", to make the output more flexible.
13494         The user has to provide a mapping between adjustment->value and the
13495         output string (and vice versa, if the spin button is editable). 
13496         See testgtk for examples.
13497
13498 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13499
13500         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13501         new one.
13502         
13503         * configure.in: set gtk+ version to 1.3.0.