]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
for (i = 0; i < 100; i ++) g_print ("I will confirm it compile before
[~andy/gtk] / ChangeLog.pre-2-10
1 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
4         for (i = 0; i < 100; i ++)
5           g_print ("I will confirm it compile before committing\n");
6
7 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
8
9         * gtk/gtktreestore.c: Initial work on implementing the
10         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
11
12 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
13
14         * gtk/gtkwidget.c: fixed a bunch of notifications, added
15         reference counts around emissions where the widget is used afterwards.
16         added freeze/thaws around multiple properties being notified.
17         (_gtk_widget_get_aux_info): cleanups.
18         
19         * gtk/gtksettings.c (gtk_settings_install_property): provide
20         default parsing functions for gdkcolor, enums and flags.
21
22         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
23         applied by owen.
24         backed out gtk_window_get_location(), gtk_window_set_location(),
25         gtk_window_get_size() and gtk_window_set_size(), these
26         have to be sorted out wrg x/y/width/height/default_with/default_height
27         properties.
28         kept a flag in GtkWindowGeometryInfo to handle user
29         resetting default sizes.
30         cleaned up ZVT comments.
31         bunch of assorted bug fixes, notification fixes.
32         (_gtk_window_reposition): make this a really internal function.
33         
34         * gtk/testgtk.c: fixups.
35         
36 2001-03-31  Hans Breuer  <hans@breuer.org>
37
38         * config.h.win32.in : disable USE_MMX for msvc build cause
39         the assembler doesn't fit and is out of my scope. Disable
40         USE_GMODULE for msvc build as wel. The right way to share
41         binaries on win32 would be to use libtiff.dll etc. To reduce
42         installation hassles IMO it's better to include all fileformats
43         builtin to gdk-pixbuf
44
45         * gdk-pixbuf/makefile.msc : new file
46
47         * gdk/gdk.def : updated
48
49         * gdk/win32/gdkevents-win32.c : don't erase the background if
50         .no_bg is set. It improves the scrolling (e.g. of testgtk main
51         buttons
52         * gdk/win32/gdkgeometry-win32.c : added comment about the above
53
54         * gdk/win32/gdkwindow-win32.c : added three new functions like
55         the X version. Only one is implemented, because the other two
56         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
57         be default behaviour on win32 anyway ...
58
59         * gtk/gtk.def : updated
60
61         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
62         from where it was built and add an additional rule to automagically
63         build gtkmarshal.[hc]
64
65         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
66         before array access for the current entry isn't finished
67
68         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
69         use g_return_val_if_fail
70
71         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
72         for the static array, but let the compiler calculate it. It
73         makes me wonder if gcc isn't capable to catch bugs like this ...
74
75 2001-03-31  James Henstridge  <james@daa.com.au>
76
77         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
78         constant "-1" in the aux info structure.
79
80 2001-03-30  Alexander Larsson  <alexl@redhat.com>
81
82         * gtk/gtkbutton.c (gtk_button_get_property):
83         * gtk/gtklabel.c:
84         Remove leaks.
85         
86         * gtk/gtkcontainer.c:
87         * gtk/gtkhscale.c:
88         * gtk/gtkhscrollbar.c:
89         * gtk/gtklayout.c:
90         * gtk/gtkmisc.c:
91         * gtk/gtkprogress.c:
92         * gtk/gtkprogressbar.c:
93         * gtk/gtkrange.c:
94         * gtk/gtktable.c:
95         * gtk/gtkviewport.c:
96         * gtk/gtkvscale.c:
97         * gtk/gtkvscrollbar.c:
98         * gtk/gtkwidget.c:
99         Property patches, based on patches from John Margaglione and Lee Mallabone.
100
101 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
102
103         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
104         adjustment. Cleaned redundant preconditions (spin != NULL). Added
105         inline API function docs.
106         (gtk_spin_button_new_with_range): New convenience constructor.
107         (gtk_spin_button_set_increments): New adjustment helper.
108         (gtk_spin_button_set_range): New adjustment helper.
109
110         * gtk/testgtk.c : added test of the new convenince constructor and
111         value_changed signals.
112
113 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
114
115         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
116         listen to the reorder signal.
117
118 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
119
120         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
121         to get the aux info structure fo the widget.
122
123         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
124         above function.
125
126         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
127
128         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
129         to get the size of the window manager frame, basically the same
130         code that gdk_window_get_root_origin() had
131         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
132
133         * gtk/gtkwindow.c (gtk_window_set_default_size): use
134         gdk_window_resize() if the window is realized and resizeable
135
136         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
137         typo so that setting gravity works
138
139         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
140         allocation if auto_shrink is on, even if the default size
141         has not changed.
142
143         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
144         g_return_if_fail
145
146 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
147
148         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
149         reordering/sorting work.  Now pretty much works.
150
151         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
152         reorder mostly work.  Still need to get the parity correct.
153
154         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
155         signal, so I can listen for the sort_column_changed signal so I
156         can change my "sort_indicator" property.  Cool.
157
158 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
159
160         [ Patch from Havoc Pennington, hp@redhat.com ]
161
162         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
163         Add functions gdk_window_begin_resize_drag/begin_move_drag
164         to start resizing or moving a toplevel window. This
165         is done either using the _NET_WM_MOVERESIZE protocol,
166         or, if that isn't present, by emulation.
167
168         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
169         to export the above to GTK+-land.
170
171         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
172         
173         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
174         Move this function into gdkwindow, since we need it
175         when implementing fallback resizing.
176
177         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
178         Fix typo when setting gravity.
179
180         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
181         Add an optional (but on by default) resize grip for resizing 
182         the parent window.
183
184 01-03-29  Alexander Larsson  <alexl@redhat.com>
185
186         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
187         Don't return TRUE from the event handler, that blocks all
188         event signals on the tooltip widget. Now you can press buttons
189         in toolbars again.
190
191 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
192
193         * gtk/testtext.c (create_buffer): Add missing NULL on
194         valist.
195
196         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
197         c-n-p problem with INCONSISTENT property.
198
199         [ Patch from Havoc Pennington  <hp@redhat.com> ]
200
201         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
202         hook.
203
204         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
205         signal as a hook for extending the default popup menu
206
207         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
208         use radio menu items for the input method menuitems
209
210         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
211         inserted unicode from Ctrl-Shift-hex input method
212
213         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
214         validatation here, already done at GtkTextBuffer level.
215
216         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
217         popup_menu run action signal and Shift+F10 and Menu keybindings.
218
219         * gtk/gtkentry.c: implement a default handler for popup_menu
220
221         * gtk/gtktextview.c: implement a default handler for popup_menu
222
223         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
224         from a key event
225         
226         * gtk/gtklabel.c: remove "trailer" cruft
227
228 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
229
230         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
231         handle reordering of trees.  Seems to mostly work w/ the exception
232         of the parity flag.
233
234         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
235         signal.
236
237 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
238
239         * gtk/gtkwidget.h: c++ fixes.
240
241 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
242
243         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
244         memory.
245
246 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
247
248         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
249         Nils Barth fixing event return values. (#51041)
250
251         * gtk/gtkwidget.c: Fix some return values for default
252         functions.
253
254         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
255         return values for trough_keys functions.
256
257         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
258         value for add_accelerator (shoudl have been a void
259         return.)
260
261         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
262         Fix return type of EVENT.
263
264         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
265         signal return a boolean.
266
267 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
268
269         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
270         reordered signal.
271
272         * tests/testtreesort.c (main): fix spelling.
273
274 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
275
276         * gtk/gtkliststore.c: More work on implementing sortable
277         interface.
278
279 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
280
281         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
282         reference the widgets in the resulting list. (#11821)
283         This makes this consistent with gtk_container_children.
284
285         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
286         uses of gtk_window_list_toplevels.
287
288 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
289
290         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
291         a virtual function to set whether the IM context should use 
292         the preedit string. (#51922)
293         
294 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
295
296         * gdk/gdkpango.h: Remove stale FIXME comment.
297
298 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
299
300         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
301         Fixed bug that returned NULL if a filename was selected.
302
303 2001-03-24  Havoc Pennington  <hp@pobox.com>
304
305         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
306         to contain the word "theme"
307
308 2001-03-24  Havoc Pennington  <hp@pobox.com>
309
310         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
311         slower but finer-grained
312         (gtk_hsv_focus): get initial focus on the ring or triangle 
313         according to tab direction
314
315         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
316
317 2001-03-23  Havoc Pennington  <hp@pobox.com>
318
319         * gtk/gtkhsv.c: make this somewhat key-navigable
320
321         * gtk/gtkfontsel.c: mnemonics
322
323         * gtk/gtkgamma.c: mnemonics
324
325         * gtk/gtkcolorsel.c: add mnemonics to labels
326
327 2001-03-22  Havoc Pennington  <hp@pobox.com>
328
329         Applied big patch from Seth Lytle to fix event handler return
330         values, slightly modified.
331
332         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
333         handled.
334         (gtk_calendar_key_press): return TRUE for GDK_space triggers
335         select_day
336
337         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
338         (gtk_clist_button_release): return TRUE if handled
339
340         * gtk/gtkcolorsel.c (mouse_release):
341         (palette_activate): 
342         (palette_press): 
343         (palette_new): 
344         (mouse_press): 
345         (get_screen_color): 
346         fixed return type (void to gboolean), return TRUE,
347         added GTK_SIGNAL_FUNC cast
348
349         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
350         (void to gboolean), and return TRUE
351         (gtk_combo_button_release): changed return value to TRUE after
352         gtk_grab_add on combo->popwin
353
354         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
355         collapse or expand
356
357         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
358         button/motion
359
360         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
361         press/release and motion that trigger act
362
363         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
364
365         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
366         for GDK_Return
367         
368         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
369         (gtk_list_button_release): return TRUE if selection
370
371         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
372         press
373
374         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
375         (gtk_menu_shell_button_release): chain parent_menu_shell retval
376
377         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
378         nothing triggered
379         (gtk_notebook_button_release): return TRUE if we do anything
380
381         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
382         (gtk_spin_button_button_release): return TRUE or chained retval
383
384         * gtk/gtktext.c (gtk_text_button_press): 
385         (gtk_text_button_release): return TRUE
386         (gtk_text_key_press): remove redundant retval code
387         
388         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
389         and sensitive
390         (gtk_tree_item_subtree_button_click): changed type to gint, and return
391         TRUE if sensitive
392
393         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
394         return TRUE
395
396 2001-03-23  Havoc Pennington  <hp@redhat.com>
397
398         * gtk/testgtk.c: fix warnings
399
400         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
401
402         * gtk/gtktextview.c: fix warnings
403
404         * gtk/gtktext.c (find_cursor_at_line): fix warning
405
406         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
407
408         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
409         of this function
410
411         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
412         fix warning
413
414         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
415
416         * gtk/gtkfontsel.c: fix warning
417
418         * gtk/gtkcolorsel.c: fix warnings
419
420 2001-03-23  Havoc Pennington  <hp@redhat.com>
421
422         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
423
424         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
425
426         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
427         and deprecated gtk_check_menu_item_set_show_toggle().
428         
429         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
430
431         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
432
433         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
434
435 2001-03-23  Havoc Pennington  <hp@redhat.com>
436
437         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
438         some docs
439
440 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
441
442         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
443         this.
444
445         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
446         set_cell to set_value
447
448         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
449         set_cell to set_value
450
451 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
452
453         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
454         fix braino.
455         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
456         support.
457
458         * gtk/gtktreeview.c: Addition of initial sortable support.
459
460         * gtk/gtktreestore.c: Addition of initial sortable support.
461
462         * gtk/gtkliststore.c: Addition of initial sortable support.
463
464         * gtk/gtkmarshal.list: yet another marshaller.
465
466         * gtk/gtktreedatallist.[ch]: shared code between the store models
467         for handling sorting headers.
468
469 2001-03-22  Havoc Pennington  <hp@redhat.com>
470
471         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
472         (gtk_container_unset_focus_chain): Add ability to override the 
473         focus chain for a container explicitly
474
475 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
476
477         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
478         added PROP_MNEMONIC_WIDGET.
479
480         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
481         (gtk_window_remove_mnemonic): 
482         (gtk_window_add_mnemonic): fixed assertions.
483         (gtk_window_activate_mnemonic): constrain modifier checks to those
484         permitted by gtk_accelerator_get_default_mod_mask().
485         got rid of gtk_window_get_default_accel_group().
486
487         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
488         activatable widgets either by focussing or a warning.
489         added a signal accumulator to ::activate_mnemonic which stops the
490         emission once a handler returned TRUE.
491
492 2001-03-22  Havoc Pennington  <hp@pobox.com>
493
494         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
495         the stock item label
496
497         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
498
499         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
500
501         * demos/gtk-demo/*.c: Add mnemonics all over the place
502
503         * gtk/gtklabel.h: mark parse_uline deprecated
504
505 2001-03-21  Alexander Larsson  <alexl@redhat.com>
506
507         * gtk/gtkitemfactory.[ch]:
508         Add support for stock and normal imagemenuitems.
509         
510         * gtk/testgtk.c:
511         Add some tests for mnemonics, stock toolbars, stock
512         and image menuitems in itemfactory and gdk_window_scroll.
513
514 2001-03-21  Alexander Larsson  <alexl@redhat.com>
515
516         * gtk/gtkbutton.[ch]:
517         * gtk/gtkdialog.c:
518         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
519         removed accel_group argument. Renamed gtk_button_new_accel() to
520         gtk_button_new_with_mnemonic() and removed accel_group argument.
521
522         * gtk/gtkcheckbutton.[ch]:
523         New function gtk_check_button_new_with_mnemonic().
524
525         * gtk/gtkentry.c:
526         Override activate_mnemonic and just grab focus.
527
528         * gtk/gtkitemfactory.c:
529         Don't add menu uline accel group, instead use mnemonics support.
530
531         * gtk/gtklabel.[ch]:
532         New support for mnemonics.
533
534         * gtk/gtkmarshal.list:
535         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
536
537         * gtk/gtkmenu.[c]:
538         * gtkmenushell.c:
539         Use mnemonics instead of accel groups for uline
540         support in menu items.
541         Removed gtk_menu_get_uline_accel_group() and
542         gtk_menu_ensure_uline_accel_group().
543
544         * gtk/gtkmenuitem.c:
545         Override activate_mnemonic to handle switching between
546         menu items if there are collisions.
547         
548         * gtk/gtknotebook.c:
549         Connect to activate_mnemonic on the tab_label, so that
550         activating it switches to that notebook page.
551
552         * gtk/gtkwidget.[ch]:
553         Add activate_mnemonic signal. New function
554         gtk_widget_activate_mnemonic() to emit it.
555         Default implementation does activate/grab_focus.
556
557         * gtk/gtkwindow.[ch]:
558         Add support for mnemonics in windows.
559         New functions:
560         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
561         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
562
563         * gtk/testgtk.c:
564         Update to function name changes.
565         
566 2001-03-21  Alexander Larsson  <alexl@redhat.com>
567
568         * gtk/gtkimagemenuitem.[c]:
569         Add gtk_image_menu_item_new_from_stock()
570
571 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
572
573         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
574         Fix buglet in meeting.
575
576 2001-03-19  Havoc Pennington  <hp@redhat.com>
577
578         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
579         add a bunch of accessor functions. This is because we have
580         reasonable expectations of extending what fields it contains in
581         the future.
582
583         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
584         changes
585
586         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
587         GtkIconSource   
588
589 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
590
591         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
592         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
593
594         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
595           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
596           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
597           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
598         Change float to double everywhere with the exception of 0<->1.0 alignment
599         and GtkCurve.
600
601 2001-03-19  Tor Lillqvist  <tml@iki.fi>
602
603         * gdk/win32/gdkdrawable-win32.c
604         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
605         output.
606
607         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
608         gdkwin32.h.
609
610 2001-03-18  Tor Lillqvist  <tml@iki.fi>
611
612         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
613         print_event_state, print_event): Use preprocessor macro to make
614         code more compact. Print also GDK_WINDOW_STATE events.
615         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
616         
617         * gtk/gtk.def
618         * gtk/makefile.mingw.in: Update.
619
620         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
621         to catch also Cygwin.
622
623 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
624
625         * gtk/gtkspinbutton.[hc]: added rc-style argument
626         GtkSpinButton::shadow_type.
627         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
628         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
629         rc-style settings.
630
631         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
632
633         * gtk/gtkwidget.c: quark cleanups.
634
635         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
636         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
637         to create_rc_style() (we don't do cloning in standard OO sense).
638         added per rc style properties.
639         
640         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
641         property values and for caching those. some cleanups.
642         
643         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
644         
645         * gtk/gtksettings.[hc]: new file for global rc-file properties
646         (at least currently, should get extended to support X properties
647         and other communication mechanisms).
648         
649         * gtk/gtkwidget.[hc]: added style property support:
650         (gtk_widget_class_install_style_property_parser): install style
651         property pspec with parser function for rc-file values other
652         than LONG, DOUBLE or STRING.
653         (gtk_widget_class_install_style_property): same as above without
654         parser (parsers are going to be needed quite infrequently).
655         (gtk_widget_style_get_property): retrive style property value.
656         (gtk_widget_style_get_valist): same as above with varargs support,
657         has NOCOPY semantics.
658         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
659
660 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
661
662         * demos/gtk-demo/main.c (row_activated_cb): modified to use
663         "row_activated" signal.
664
665         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
666         stupidity.  Lets actually pass in the row with this signal...
667
668 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
669
670         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
671
672         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
673
674         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
675         everything into the ::destroy function, and freed a lot more.
676
677 2001-03-16  Havoc Pennington  <hp@redhat.com>
678
679         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
680         instead of gint16, to avoid overflow issues, since sizes > 16-bit
681         are now allowed.
682
683 2001-03-16  Havoc Pennington  <hp@redhat.com>
684
685         * Applied patch from Nils Barth (bug # 51041) to 
686         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
687         in various places.
688
689 2001-03-15  Havoc Pennington  <hp@redhat.com>
690         
691         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
692         for properties to set on the tag.
693
694         * gtk/testtext.c: fixups to reflect create_tag change
695         
696         * gtk/gtktexttag.c (gtk_text_tag_set_property):
697         background/foreground stipple are objects, not boxed.
698
699         * demos/gtk-demo/textview.c: intellihancing
700
701 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
702
703         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
704         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
705
706 2001-03-16  Alexander Larsson  <alexl@redhat.com>
707
708         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
709         Fix sign error with queued region translations.
710
711 2001-03-15  HideToshi Tajima  <tajima@happy>
712
713         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
714         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
715         * gtk/gtkentry.c (update_im_cursor_location): 
716         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
717         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
718         set_cursor_pos to set_cursor_location in GtkInputContext class
719
720 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
721
722         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
723         the location of the cell relative to its area.
724         * gtk/gtkcell*: modified for above change
725         * gtk/gtktreeview.c: modified for above change.
726
727 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
728
729         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
730          (gtk_tree_view_finalize): actually unref the model.  Thanks to
731         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
732
733 2001-03-14  Havoc Pennington  <hp@redhat.com>
734
735         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
736         
737         * gtk/gtk.h: remove gtkdata.h
738
739         * gtk/Makefile.am: remove gtkdata
740         
741         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
742         not "disconnect" on the adjustments.
743         
744         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
745         GtkData
746
747         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
748         not GtkData
749
750         * configure.in: handle case where X render exists, but Pango lacks
751         Xft support.
752
753 2001-03-15 Alexander Larsson  <alexl@redhat.com>
754
755         * gtk/gtktoolbar.[ch]:
756         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
757         to add stock items to toolbars.
758
759         * gtk/Makefile.am:
760         Remove ../gdk/gdkim.h from gdk_headers.
761
762 2001-03-15  Sven Neumann  <sven@gimp.org>
763
764         * gdk/gdkim.h: removed
765         
766         * gdk/gdkprivate.h
767         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
768
769 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
770
771         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
772         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
773         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
774         set_cursor_pos() virtual method
775
776         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
777         (gtk_im_context_xim_set_cursor_pos): add implementation for
778         set_cursor_pos() method
779
780         * gtk/gtkentry.c (recompute_idle_func): set current cursor
781         position to input methods
782
783 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
784
785         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
786         code a lot.
787
788         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
789         g_mem_chunk.
790         (_gtk_tree_data_list_alloc): use g_mem_chunk.
791         (_gtk_tree_data_list_node_to_value): Fix to switch on
792         G_TYPE_FUNDAMENTAL.
793         (_gtk_tree_data_list_value_to_node): Fix to switch on
794         G_TYPE_FUNDAMENTAL.
795         (_gtk_tree_data_list_node_copy): Fix to switch on
796         G_TYPE_FUNDAMENTAL.
797
798 2001-03-12  Havoc Pennington  <hp@redhat.com>
799
800         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
801         to convert to new property API. Also, change default_width and
802         default_height get_property to return 0 as the flag value for
803         "unset"; -1 is not a valid value for these fields.
804
805 2001-03-12  Havoc Pennington  <hp@redhat.com>
806
807         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
808         enum with registration for icon sizes, instead of strings.
809
810         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
811         gtkwidget.c: Fix to reflect GtkIconSize
812         
813 2001-03-12  Alexander Larsson  <alexl@redhat.com>
814
815         Make GtkFB compile and link.
816         
817         * gdk/linux-fb/gdkdrawable-fb2.c:
818         window->mapped to GDK_WINDOW_IS_MAPPED(). 
819         
820         * gdk/linux-fb/gdkwindow-fb.c:
821         window->mapped to GDK_WINDOW_IS_MAPPED(). 
822         Added gdk_window_shape_combine_region.
823         Added assorted placeholders for unimplemented new GdkWindow API calls.
824
825 2001-03-12  Alexander Larsson  <alexl@redhat.com>
826
827         * gtk/gtkfilesel.c:
828         Add more test when converting filenames from/to utf-8.
829         Don't allow entering text in the filename entry which isn't allowed in
830         a filename. Just beep instead.
831
832 2001-03-12  Alexander Larsson  <alexl@redhat.com>
833
834         * gtk/gtkclist.c:
835         Scroll using gdk_window_scroll(). Don't wait for exposes.
836         Move the column headers in an order that makes them flash less.
837
838 2001-03-10  Hans Breuer  <hans@breuer.org>
839
840         * gdk/gdk.def : updated
841
842         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
843         to offseting the clip_mask at the right place
844
845         * gdk/win32/gdkwindow-win32.c : don't create background brushes
846         for all the gdkClasses, especially not for the input_only case.
847         Otherwise flickering wont be avoidable, because we don't get
848         WM_ERASEBKGND message for these windows.
849
850         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
851         and fixed massive redraw problems apparently triggered by Alexanders 
852         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
853         but it seems to work quite well :-)
854
855         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
856         prototype
857
858 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
859
860         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
861         (gtk_list_store_set_cell): Fix a stupid typo.
862
863 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
864
865         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
866         select_all not work if you're in SINGLE mode (it doesn't make that
867         much sense, anyway.)
868
869         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
870         handle types more sanely.
871         (_gtk_tree_data_list_value_to_node): handle types more sanely.
872         (_gtk_tree_data_list_node_copy): handle types more sanely.
873
874         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
875         GValue better. Converts the type as well.
876
877         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
878         GValue better. Converts the type as well.
879
880 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
881
882         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
883         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
884         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
885         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
886
887         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
888         gdk_im/gdk_ic.
889
890 2001-03-09  Hans Breuer  <hans@breuer.org>
891
892         * gdk/gdk.def : updated
893
894         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
895         for their palette
896
897         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
898         removing
899
900         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
901         removing and implemented Havoc's GdkWindow state functions; 
902         stick/unstick only as no-op, cause I don't know how to emulate 
903         on win32 ...
904
905         * gtk/gtk.def : updated
906
907         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
908
909         * gtk/gtktypeutils.c : #include <string.h>
910
911         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
912
913 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
914
915         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
916         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
917         not a boxed.
918
919 2001-03-09  Alexander Larsson  <alexl@redhat.com>
920
921         * docs/Changes-2.0.txt:
922         Document expose event->region change and that gtk_widget_event
923         doesn't allow passing expose events.
924
925         * gdk/gdkevents.h:
926         Add region to expose event.
927         
928         * gdk/gdkevents.c:
929         Handle event->region in gdk_event_copy() and gdk_event_free().
930
931         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
932         Generate expose_event->region when creating expose events.
933
934         * gdk/x11/gdkevents-x11.c:
935         Generate expose events with regions when translating X events.
936
937         * gtk/gtkcontainer.[ch]:
938         Default expose handler that propagates expose events to NO_WINDOW
939         children. New function gtk_container_propagate_expose()
940
941         * gtk/gtkwidget.[ch]:
942         Moved gtk_widget_event implementation to gtk_widget_event_internal.
943         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
944         expose events. New function gtk_widget_send_expose() to send expose
945         events. New function gtk_widget_region_intersect() to calculate
946         window/region intersections.
947         
948         * gtk/gtkmain.c (gtk_main_do_event):
949         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
950         Use gtk_widget_send_expose() to send expose events.
951         
952         * gtk/gtkbin.c:
953         * gtk/gtkbox.c:
954         * gtk/gtkfixed.c:
955         * gtk/gtkimagemenuitem.c:
956         * gtk/gtklist.c:
957         * gtk/gtkpacker.c:
958         * gtk/gtktable.c:
959         * gtk/gtktree.c:
960         Remove expose handler, using the default container implementation
961         instead.
962         
963         * gtk/gtkbutton.c:
964         * gtk/gtkcheckbutton.c:
965         * gtk/gtkeventbox.c:
966         * gtk/gtkfixed.c:
967         * gtk/gtkhandlebox.c:
968         * gtk/gtklayout.c:
969         * gtk/gtklistitem.c:
970         * gtk/gtkmenu.c:
971         * gtk/gtkmenubar.c:
972         * gtk/gtkmenuitem.c:
973         * gtk/gtknotebook.c:
974         * gtk/gtkoptionmenu.c:
975         * gtk/gtkpaned.c:
976         * gtk/gtkscrolledwindow.c:
977         * gtk/gtktogglebutton.c:
978         * gtk/gtktoolbar.c:
979         * gtk/gtktreeitem.c:
980         * gtk/gtkviewport.c:
981         Chain expose handler to parent class handler. Use
982         gtk_container_propagate_expose() to propagate exposes.
983
984         * gtk/gtkclist.c (check_exposures):
985         * gtk/gtktext.c (process_exposes):
986         Use gtk_widget_send_expose instead of gtk_widget_event.
987
988 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
989
990         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
991
992 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
993
994         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
995         unref the nodes.   Fixes bug #50058.
996
997         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
998         "::ref_iter" to "::ref_node".
999         (gtk_tree_model_unref_node): change "::unref_iter" to
1000         "::unref_node". Fixes bug #50064.
1001
1002 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1003
1004         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1005         support for invisible cells.
1006          (gtk_tree_view_bin_expose): ditto
1007
1008 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1009
1010         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1011         on gobjects.
1012
1013         * tests/testtreefocus.c (main): New test file.
1014
1015         * tests/testtreeview.c: update to latest glib changes.
1016
1017         * tests/testtreecolumns.c: update to latest glib changes.
1018
1019 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1020
1021         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1022
1023 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1024
1025         * *.c: added accumulator data argument to g_signal_newc()
1026         functions.
1027
1028         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1029         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1030         * gtk/treestoretest.c (make_window):
1031         s/g_signal_connect/g_signal_connectc/.
1032
1033         * gtk/gtktextbuffer.c: completed signal arg fixups,
1034         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1035
1036 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1037
1038         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1039         G_CONST_RETURN.
1040
1041         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1042         ::hierarchy-changed signal when a widget changes
1043         from anchored to unanchored or vice versa.
1044         (anchored means 
1045          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1046         Use a private flag to keep track of this efficiently.
1047
1048 2001-03-07  Havoc Pennington  <hp@redhat.com>
1049
1050         * gtk/testgtk.c (create_spins): uglify so that size request gets
1051         tested.
1052
1053         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1054         request on values for upper/lower, completes #6152
1055
1056 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1057
1058         * Makefile.am: Remove gtk-config-2.0 again.
1059         (Grrrr, pkg-config. And stops make loops.)
1060
1061 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1062
1063         * gtk/gtksignal.[hc]: removed old emission hook API.
1064         
1065         * docs/Changes-2.0.txt: fixed sections.
1066         
1067         * gtk/gtktextbuffer.c: signal arg fixups.
1068
1069 2001-03-07  Havoc Pennington  <hp@redhat.com>
1070
1071         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1072
1073         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1074         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1075         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1076         validation and the redraw which is higher priority than the
1077         validation.
1078
1079 2001-03-07  Havoc Pennington  <hp@redhat.com>
1080
1081         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1082         (gtk_entry_set_property): remove trailer
1083
1084         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1085         (gtk_entry_get_width_chars): new functions, to set size request to 
1086         a given number of characters
1087
1088         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1089
1090         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1091         (gtk_dialog_get_has_separator): new function
1092         (run_delete_handler): fix to not emit "response" signal
1093         because we already did in the delete event handler installed
1094         at dialog creation time.
1095         
1096         * gtk/gtkdialog.h: add a has_separator property,
1097         add GTK_DIALOG_NO_SEPARATOR flag
1098
1099 2001-03-07  Havoc Pennington  <hp@redhat.com>
1100
1101         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1102         off decorations for a window.
1103
1104         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1105         changes
1106
1107         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1108         to get location of PangoLayout inside the label, closes #51198
1109
1110         * gtk/testgtk.c (create_bbox): fix up button box usage
1111
1112         * gtk/testcalendar.c (create_calendar): fix up button box usage
1113
1114         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1115
1116         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1117
1118         * gtk/gtkhbbox.h: deprecations
1119
1120         * gtk/gtkvbbox.h: deprecations
1121
1122         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1123         emulate deprecated gtk_button_box_get_spacing
1124
1125         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1126         the "set global default" functions
1127         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1128         GtkBox base class
1129
1130         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1131
1132         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1133         render the icon, return the missing image icon.
1134
1135         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1136         image icon if the load fails.   
1137
1138         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1139         when no image is found; should be the Netscape "missing image"
1140         icon eventually but for now is a random image
1141
1142         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1143         role for the session manager
1144
1145         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1146
1147         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1148         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1149
1150         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1151
1152 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1153
1154         * gtk/*.c: marshaller fixes.
1155         
1156         * gtk/gtkmarshal.list: extreme cleanup.
1157
1158         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1159         param spec for now.
1160
1161         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1162         where appliable.
1163
1164         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1165         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1166         which are not reference counted:
1167         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1168         PangoFontDescription, GtkTreeIter and GtkTreePath.
1169
1170 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1171
1172         * gtk/gtktreeselection.h: 
1173         * gtk/gtktreemodel.c:
1174         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1175         file should be included directly, and gobject/gmarshal.h
1176         as well as gtk/gtkmarshal.h even can't be included directly.
1177
1178         * Makefile.am: grr, install gtk-config-2.0.
1179
1180         * gtk/testgtk.c:
1181         * gtk/simple.c:
1182         * gtk/gtkmenu.c:
1183         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1184         passing "*signal*::*" args to gtk_widget_set().
1185         
1186         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1187         
1188         * gtk/*.c: removed trailer arg from property setters and getters.
1189         macro fixups.
1190
1191 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1192
1193         * gtk/gtklabel.c (set_markup): Removed warning
1194
1195 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1196
1197         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1198         field to allow you to hide cell renderers.
1199
1200         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1201
1202         * gtk/gtktreeview.c: Add support for invisible cells.
1203
1204 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1205
1206         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1207         Add "clicked" signal back to columns.
1208
1209         * ChangeLog: remove conflict markers.
1210
1211 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1212
1213         * gtk/gtkbutton.c: Add animation of activation by, on 
1214         activate, pressing the button, and adding a timeout that 
1215         releases the button after 250ms or on key release and
1216         emits ::clicked. (#51501)
1217
1218         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1219         action area, we connect to ::clicked instead of ::activate
1220         so the dialog stays up through the animation.
1221
1222 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1223
1224         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1225         check the ignore_enter flag for the menu shell that
1226         the item is actually a child of, not for attached
1227         submenus. (#51536)
1228
1229 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1230
1231         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1232         special key-press grab handling for widgets within
1233         GtkWindows. Otherwise, fall through to normal case.
1234
1235         This prevents key events being sent twice to GtkInvisible
1236         widgets, which can cause all sorts of mischief.
1237
1238 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1239
1240         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1241         widget is in effect, give the grab widget a first
1242         crack at KEY_PRESS/RELEASE events. (#424)
1243
1244 2001-03-06  James Henstridge  <james@daa.com.au>
1245
1246         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1247         offset for the window_state_event to point at window_state_event
1248         rather than no_expose_event.
1249
1250 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1251
1252         * gtk/gtkimmodule.h: fix busted /* comment */
1253
1254 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1255
1256         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1257         object properties.
1258
1259 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1260
1261         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1262         add object properties.
1263
1264         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1265         to add object properties.
1266
1267         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1268         object properties.
1269
1270         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1271         add object properties.
1272
1273         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1274         object properties.
1275
1276 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1277
1278         * gtk/gtktreemodel.c: renamed "child_toggled" to
1279         "has_child_toggled".
1280
1281         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1282         handle new signal name.
1283
1284         * gtk/gtktreestore.c: Updated to handle new signal name.
1285         * gtk/gtklisttore.c: Updated to handle new signal name.
1286         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1287
1288 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1289
1290         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1291         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1292
1293 2001-03-05  Michael Natterer  <mitch@gimp.org>
1294
1295         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1296         pixbuf-engine coincidentially also failed to make one of it's
1297         parent_class pointers static, causing overwriting of GtkLabel's
1298         parent_class pointer in pixbuf_style_class_init().
1299         (Will commit the fix to the pixbuf-engine too).
1300
1301 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1302
1303         * gdk/gdkwindow.h:
1304         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1305         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1306         gdk_window_set_icon_list for net wmspec functionality.
1307
1308         * gdk/x11/gdkwindow-x11.c:
1309         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1310         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1311         gdk_window_set_icon_list.
1312         Added gdk_wmspec_change_state helper function and used it in the code.
1313         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1314
1315         * gtk/gtkdialog.c (gtk_dialog_init):
1316         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1317
1318         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1319         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1320
1321         * gtk/gtkwindow.c:
1322         new function gtk_window_set_type_hint.
1323         On realize, set type hint and modal hint.
1324
1325         * gtk/gtkwindow.h:
1326         Added type_hint field and gtk_window_set_type_hint.
1327
1328 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1329
1330         * gtk/gtklabel.[ch]:
1331         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1332         New function gtk_label_get_accel_keyval () to get the underline accelerator
1333         of the label. Setting the label pattern overrides other attributes.
1334
1335 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1336
1337         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1338         Added missing initializers to gtk_rc_style_init().
1339
1340 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1341
1342         * gtk/gtktextview.c: fixed bug #51097 about setting 
1343         gtk_text_view_set_border_window_size() if the widget is 
1344         already realized.
1345
1346 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1347
1348         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1349
1350         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1351         comment. Won't do to have duplicated doc comments between
1352         the platform subdirs.
1353
1354 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1355
1356         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1357           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1358
1359         Detectable auto-repeat - make a repeating key generate
1360         press/press/press/release instead of press/release pairs.
1361
1362         If we have Xkb and XkbSetDectableAutoRepeat supports
1363         that, we do it that way. Otherwise, when we get
1364         a release event, we check ahead with XPending to see
1365         if the next key is a KeyPress with the same keycode
1366         and timestamp. (Not 100% reliable, but pretty close.)
1367           
1368 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1369         
1370         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1371         special key-press grab handling for widgets within
1372         GtkWindows. Otherwise, fall through to normal case.
1373  
1374         This prevents key events being sent twice to GtkInvisible
1375         widgets, which can cause all sorts of mischief.
1376  
1377 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1378  
1379         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1380         widget is in effect, give the grab widget a first
1381         crack at KEY_PRESS/RELEASE events. (#424)
1382  
1383 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1384
1385         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1386         to extend the selection. (Roughly based on patch
1387         from Jay Cox, #50939)
1388
1389         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1390         to properly handle previous GDK_BUTTON_PRESS. 
1391         (Patch from Jay Cox, #50938)
1392
1393         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1394         '\0' back along with the deleted text. (#51148)
1395
1396 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1397
1398         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1399         the group when extracting it from the X keyboard event.
1400
1401         * modules/input/Makefile.am modules/input/imipa.c: 
1402         Simple module for entering IPA. (Do we need a 
1403         gtk-stupid-input-tricks CVS module?)
1404
1405 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1406
1407         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1408         const.
1409
1410         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1411
1412         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1413         is no focus widget for the dialog currently, grab the focus as well
1414         as the default.
1415
1416         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1417         the action area's children to iterate through, not the
1418         dialog's children.
1419
1420 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1421
1422         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1423         Add plug-socket tests. (Won't work worth a darn until I commit
1424         the rest of the plug-socket changes, but no reason these
1425         can't go into CVS now.)
1426
1427 2001-03-02  Havoc Pennington  <hp@redhat.com>
1428
1429         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1430         _gdk_region_get_xrectangles()
1431
1432         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1433
1434         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1435
1436         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1437         function, contributed by Ron Steinke    
1438
1439         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1440         gdk_net_wm_supports
1441
1442         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1443         New function, contributed by Ron Steinke
1444
1445         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1446         used to line up the text in the entry when using the entry for
1447         editable sheet cell hacks
1448
1449         * gtk/testgtk.c (create_entry): test the activate_default setting
1450         on GtkEntry
1451
1452         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1453         cause the entry to activate the default button for a dialog when 
1454         activated
1455         (gtk_entry_get_activates_default): new function
1456
1457 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1458
1459         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1460         Hwang to move call to sync_selection() up a few lines
1461         to before the row list is modified, to fix crash when
1462         removing rows in the undo_selection list.
1463
1464         (Test case provided by Daniel Elstner:
1465
1466         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1467
1468 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1469
1470         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1471         of tree->root_tree in parent_set rather than _map(), 
1472         fixing #50892 in a bit better manner.
1473
1474 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1475
1476         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1477
1478 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1479
1480         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1481         gtk_default_draw_shadow.
1482
1483 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1484
1485         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1486         warning, make warnings more verbose, treat a error
1487         in shmat as permanent, and don't try again.
1488         (#51163, Ed Randall.)
1489
1490 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1491
1492         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1493         delay for the first click before starting to scroll.
1494         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1495
1496         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1497         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1498
1499 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1500
1501         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1502         cleanup to remove some references to unused
1503         ->xoffset, ->yoffset.
1504
1505 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1506
1507         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1508         mask. (#51039, fix from Martin Maierhofer)
1509
1510 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1511
1512         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1513         for unshifted + and shifted = for non-us keyboards.
1514         Make <Control>+ and <Control>- work as well as 
1515         <Control>KP_Plus, <Control>KP_Minus for recursive
1516         open/close.  (#2682, René Seindal)
1517
1518 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1519
1520         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1521         the active menu item before deactivating the menu,
1522         so gtk_menu_popdown doesn't change the history. (#50964)
1523         
1524 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1525
1526         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1527         draw lines with text_gc rather than black_gc.
1528         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1529
1530 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1531
1532         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1533         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1534         less interrelated then it was, but it still requires the
1535         GtkTreeView to map it.
1536
1537         * test/testtreecolumn.c: Now I can add a column to one view,
1538         remove it, add it to the another view, remove it, then re-add it
1539         to the first.  Nifty.
1540
1541 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1542
1543         * docs/tutorial/gtk-tut.sgml: Minor corrections
1544
1545 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1546
1547         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1548         GtkRowReference.
1549
1550 2001-02-28  Havoc Pennington  <hp@redhat.com>
1551
1552         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1553         draw_default
1554         (gtk_widget_draw_focus): remove this function; we could instead
1555         make it just gtk_widget_draw(), but in most cases I think the
1556         result would be broken user code, so think it's better to have
1557         that code not compile and get fixed
1558         (gtk_widget_draw_default): ditto
1559
1560         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1561         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1562         
1563         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1564         widgets lose/get the default, instead of calling draw_default
1565         
1566         * docs/Changes-2.0.txt: note about all this
1567
1568         Then fixed every widget in GTK, I won't list all the filenames.
1569
1570 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1571
1572         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1573         _gtk_tree_row_reference_deleted.
1574         (inserted_callback): Proxy out to
1575         _gtk_tree_row_reference_inserted.
1576         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1577         get around signal emission ordering problem.
1578
1579         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1580         fix to work with SINGLE 
1581         (_gtk_tree_selection_internal_select_node): Major sanitization on
1582         selections.  SINGLE now seems to work.
1583
1584         * tests/Makefile.am: add testtreecolumn.c:
1585
1586         * tests/testtreecolumn.c: New test.  Mostly points out selection
1587         bugs currently, but will test columns later.
1588
1589         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1590         selection bug.  I hate touching this code -- it's scary.
1591
1592 2001-02-26  Havoc Pennington  <hp@redhat.com>
1593
1594         * gtk/testgtk.c: test the window state stuff
1595
1596         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1597         window come to the user's attention as if it were just created
1598         (gtk_window_iconify): new function
1599         (gtk_window_deiconify): new function
1600         (gtk_window_stick): new function
1601         (gtk_window_unstick): new function
1602         (gtk_window_maximize): new function
1603         (gtk_window_unmaximize): new function
1604
1605         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1606
1607         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1608
1609         * gdk/x11/gdkevents-x11.c: create window state events when
1610         appropriate
1611         (gdk_wmspec_supported): new function
1612
1613         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1614         iconification before showing the window
1615         (gdk_window_deiconify): new function
1616         (gdk_window_stick): new function
1617         (gdk_window_unstick): new function
1618         (gdk_window_maximize): new function
1619         (gdk_window_unmaximize): new function
1620
1621         * gdk/gdkwindow.c: store the window state in the window; 
1622         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1623         window->mapped.
1624         (gdk_window_get_state): return the current window state
1625
1626         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1627         (gdk_event_get_state): handle GDK_WINDOW_STATE
1628         (gdk_synthesize_window_state): function to create the window state
1629         events
1630
1631         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1632         event, for changes to "window state" such as maximized, sticky, 
1633         etc.
1634         
1635         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1636         focuses a window
1637
1638         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1639         finds out if we support a given WM spec hint
1640
1641 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1642
1643         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1644
1645 2001-02-25  Hans Breuer  <hans@breuer.org>
1646
1647         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1648         cause we want to loose those prototypes only in the latter case
1649
1650         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1651         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1652         impl member variable instead
1653
1654         * gtk/gtk.def : updated
1655
1656         * gtk/gtklist.c : 
1657         * gtk/gtkmenus.c : include <string.h> for memset ()
1658
1659         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1660         for everthing built here, but for gtk-x.x.dll only. This solves
1661         problem of indifferent gtk type definitions
1662
1663 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
1664
1665         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1666
1667 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1668
1669         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1670         column that is exposed.
1671
1672         (_gtk_tree_view_update_size): Changed name from set_size, and
1673         changed function to do more work, and not force people calling it
1674         to figure out the size.  Simplifies a lot of code elsewhere.
1675
1676 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1677
1678         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1679         return solid masks for xpms that have no transparent color.
1680         This makes the ..._create_from_xpm... API backwards
1681         compatible.
1682
1683 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1684
1685         * README.win32: Update. Mention the gtk-1-3-win32-production
1686         branch.
1687
1688         * gdk/win32/bdfcursor.c: New file. A program that generates
1689         xcursors.h. Thanks to Stefan Ondrejicka.
1690
1691         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1692         compact format.
1693
1694         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1695
1696         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1697         function, uses xcursors.h.
1698         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1699         cursor from inline data instead of using LoadCursor() to generate
1700         it from a resource.
1701
1702         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1703         event, must check the Windows message for mouse button state, as
1704         the GDK event state might not have been built if it is
1705         undelivered. Remove one goto.
1706
1707         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1708         SetCursor() if the current cursor as returned by GetCursor() is
1709         the window's previous cursor. The ChildWindowFromPoint() test
1710         apparently didn't work correctly.
1711
1712         * gdk/win32/rc/*.cur: Remove.
1713
1714         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1715
1716         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1717
1718         * gtk/makefile.{mingw,msc}.in: Updates.
1719
1720 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1721
1722         * gtk/gtktreemodel.h: add functions for signal emission.
1723
1724         * gtk/gtktreestore.c: move to use above functions instead of
1725         g_signal_emit.
1726
1727         * gtk/gtkliststore.c: ditto
1728
1729 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1730
1731         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1732         GObject instead of GtkObject.
1733
1734         * gtk/gtkliststore.c: ditto.
1735
1736         * gtk/gtktreemodelsort.c: ditto.
1737
1738         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1739         GtkTreeModelIface, instead of in each model.
1740
1741 2001-02-21  Havoc Pennington  <hp@redhat.com>
1742
1743         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1744         unbreak this function
1745
1746         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1747         properties
1748
1749         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1750         properties
1751
1752         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1753         properties
1754
1755         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1756         mean unset the max length
1757
1758 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1759
1760         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1761         Changed name to be set_cell_data_func to make it clear what
1762         the functino does.  Close bug #51069.
1763
1764 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1765
1766         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1767         have memory actually freed.  Keeps box running longer.
1768
1769 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1770         
1771         * gtk/gtkseparatormenuitem.[ch]:
1772         Added new menu separator item. The drawing and size handling
1773         is still done in GtkMenuItem, but the API is a bit more sane.
1774         
1775         * gtk/Makefile.am:
1776         Add gtkseparatormenuitem.[ch].
1777
1778         * gtk/gtk.h:
1779         Add gtkseparatormenuitem.h.
1780         
1781         * gtk/gtkentry.c:
1782         * gtk/gtkmenufactory.c:
1783         * gtk/gtktextview.c:
1784         Use the new API for menu separators.
1785         
1786         * demos/gtk-demo/menus.c (create_menu):
1787         Add some GtkSeparatorMenuItem demo code.
1788
1789 2001-02-20  Havoc Pennington  <hp@redhat.com>
1790
1791         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1792         Lee Mallabone
1793
1794         * gtk/gtkarrow.c: Convert to new property API, patch from 
1795         Lee Mallabone
1796
1797 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1798
1799         * tests/testtreeview.c (toggled_callback): fix to reflect change
1800         in GtkTreeModelStore.
1801
1802 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1803
1804         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1805         function to create an icon set from a pixbuf.
1806
1807 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1808
1809         * gtk/gtkcellrenderertext.[ch]:
1810         Add a "markup" property.
1811
1812         * gtk/treestoretest.c:
1813         Use the markup property, remove some leftover stuff from
1814         GtkTreeModelMapping.
1815
1816 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1817
1818         * gtk/gtklabel.c (gtk_label_set_selectable):
1819         Queue a redraw if the selectable setting was changed.
1820
1821 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1822
1823         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1824         Actually copy the whole gc, not just the public parts.
1825         
1826         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1827         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1828         labels.
1829
1830 2001-02-19  Havoc Pennington  <hp@pobox.com>
1831
1832         * gdk/gdkwindow.c: docs
1833
1834         * gdk/gdkrgb.c: docs
1835
1836         * gdk/gdkregion-generic.c: docs
1837
1838         * gdk/gdkgc.c (gdk_gc_set_values): docs
1839
1840         * gdk/gdkdraw.c: docs
1841
1842         * gdk/gdkdrawable.h: deprecate drawable get/set data
1843
1844 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1845
1846         * demos/gtk-demo/dialog.c: Add simple new demo.
1847
1848 2001-02-19  Havoc Pennington  <hp@redhat.com>
1849
1850         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1851         insert_child_anchor signal, bug #50245
1852
1853         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1854         from create_child_anchor, so the anchor is passed in
1855
1856         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1857         (_gtk_widget_segment_new): have the child anchor object passed in, 
1858         instead of creating it.
1859
1860         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1861         to gtk_text_buffer_get_modified
1862
1863 2001-02-19  Havoc Pennington  <hp@redhat.com>
1864
1865         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1866         changed GLib without fixing GTK
1867
1868         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1869         functions to have an underscore in front. Most of them should 
1870         probably just go away, but for starters don't export them.
1871         Bug #50482
1872
1873 2001-02-19  Havoc Pennington  <hp@redhat.com>
1874
1875         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1876         excluded by default
1877
1878         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1879         clean up the old code a bit
1880
1881         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1882         inconsistent state
1883
1884         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1885         draw inconsistent state
1886
1887         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1888         (create_menu): add inconsistent test
1889
1890         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1891         new function
1892         (gtk_check_menu_item_get_inconsistent): new function
1893         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1894         state (using etched in for now)
1895
1896         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1897         draw inconsistent state
1898
1899         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1900         function, used when the user has selected a range of stuff in
1901         different states
1902         (gtk_toggle_button_get_inconsistent): accessor for that
1903         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1904         don't know what else to do)
1905
1906 2001-02-19  Hans Breuer <hans@breuer.org>
1907
1908         * gtk/gtk.def : updated exported symbols
1909
1910         * gtk/makefile.msc.in : updated
1911
1912         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1913         a colormap, when invoked from testgtk::entry. I'm not sure where
1914         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1915         avoids immediate crashing ...
1916
1917         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1918         any objections ?
1919
1920         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1921         0 parameter. At least msvc doesn't like macros with var args. 
1922         I simply removed the extra 0, was it a feature or a typo ?
1923
1924         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1925         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1926         because the value assignment to the internal struct wasn't working.
1927         I'm not absolutely sure. The problem could have been resolved by
1928         changing the "func" declartion in the struct, but was the pointer
1929         to the function pointer intended ?
1930
1931         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1932
1933         * gdk/gdk.def : updated exported symbols
1934
1935         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1936         only use SetDIBitsToDevice if there is a palette at the drawable
1937         and the image is GDK_VISUAL_PSEUDO_COLOR
1938
1939         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1940
1941         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1942
1943         * gdk/*/makefile.msc : updated
1944
1945 2001-02-19  Havoc Pennington  <hp@redhat.com>
1946
1947         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1948         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1949
1950         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1951         (gdk_key_repeat_restore): nuke
1952
1953         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1954         (gdk_init_check): no atexit func
1955
1956         * gdk/gdkrgb.h: mark some stuff deprecated
1957
1958         * gdk/gdkcolor.h: mark some stuff deprecated
1959         
1960         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1961
1962         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1963
1964 2001-02-16  Havoc Pennington  <hp@redhat.com>
1965
1966         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1967         scroll steps.
1968
1969         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1970         steps, and add Ctrl-arrow shortcuts for paging visually as with
1971         HScale, since Page Up and Page Down move logically.
1972
1973         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1974         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1975         
1976         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1977         steps
1978         (gtk_range_scroll): handle the visual steps
1979
1980         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1981         scroll steps
1982
1983         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1984         steps, not the logical ones.
1985
1986         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1987         (scroll_vertical): handle up/down steps
1988
1989 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1990
1991         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1992         Copy data and free data with free().
1993
1994         * gdk-pixbuf/gdk-pixbuf.c:
1995         * gdk-pixbuf/io-jpeg.c:
1996         * gdk-pixbuf/io-png.c:
1997         Use g_try_malloc/g_free instead malloc/free.
1998         
1999         * gdk-pixbuf/test-gdk-pixbuf.c:
2000         Must... initialize... gobject...
2001         
2002         * gdk-pixbuf/pixops/timescale.c:
2003         * gtk/gtkcalendar.c:
2004         Use g_malloc instead of malloc.
2005         
2006 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2007
2008         * gtk/testgtkrc:
2009         Comment out property assignments, these don't work yet.
2010
2011 2001-02-17  Havoc Pennington  <hp@pobox.com>
2012
2013         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2014         bit.
2015
2016 2001-02-17  Havoc Pennington  <hp@pobox.com>
2017
2018         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2019         shadowed variables that had broken size request in some cases,
2020         leading to bogus tooltips (#50996)
2021
2022 2001-02-06  Jon K Hellan  <hellan@acm.org>
2023
2024         Implement fast browsing of tooltips, bug #50619
2025         
2026         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2027         and last_popdown
2028         
2029         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2030         use_sticky_delay and last_popdown.
2031         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2032         time of popdown.
2033         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2034         is NULL.
2035         (gtk_tooltips_recently_shown): New static function.  Return true
2036         if < sticky_delay has elapsed since last popdown.
2037         (gtk_tooltips_event_handler): Display window after sticky_delay
2038         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2039         since last popdown.
2040         
2041 2001-02-17  Havoc Pennington  <hp@pobox.com>
2042
2043         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2044         instead of (). #6394
2045
2046         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2047         G_CONST_RETURN, make it return by reference, #50473
2048         
2049 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2050
2051         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2052         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2053         setup fields contain garbage (e.g. subwindow, breaking
2054         gdk_drawable_ref() upon event copy).
2055         (gtk_menu_stop_navigating_submenu_cb): same here.
2056
2057         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2058         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2059         * gtk/gtkclist.c (vertical_timeout): 
2060         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2061         default-zero-intialization for unions to memset(,0,), as unions are
2062         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2063         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2064
2065         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2066         g_closure_sink() warning.
2067
2068         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2069         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2070         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2071         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2072         
2073 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2074
2075         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2076         gtk_*_store_get, and moved to GtkTreeModel.
2077
2078         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2079
2080         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2081
2082         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2083
2084         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2085         set the func.
2086
2087         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2088         freeze/thaw notify between setting all the properties for a cell.
2089
2090         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2091
2092 2001-02-15  Havoc Pennington  <hp@redhat.com>
2093
2094         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2095         the X coordinates so they're with respect to the line, rather than 
2096         with respect to the layout.
2097
2098         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2099         Mallabone
2100
2101         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2102         and inverted test
2103
2104         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2105         #50806
2106
2107         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2108
2109         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2110         gtk_text_iter_is_end
2111
2112         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2113         rename gtk_text_buffer_get_end_iter
2114
2115         * gtk/testgtk.c (create_labels): Add test for selectable
2116
2117         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2118         the selection stuff. This code is kind of broken since it doesn't 
2119         use the theme engine.
2120
2121         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2122         fix infinite loop and y offset problem
2123         (gdk_draw_layout_line_with_colors): fix foreground color handling
2124
2125         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2126         that makes the label selectable.
2127         
2128         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2129         layout when the style is set, since fonts etc. could have changed.      
2130
2131 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2132
2133         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2134
2135         * gtk/gtktreemodelsimple.[ch]: removed.
2136
2137 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2138
2139         * gtk/gtktreemodelmapping.[ch]:
2140         New files. Implement GtkTreeModelMapping.
2141         
2142         * gtk/Makefile.am:
2143         Add gtktreemodelmapping.[ch].
2144         
2145         * gtk/gtk.h:
2146         Add gtktreemodelmapping.h
2147
2148         * gtk/treestoretest.c:
2149         Test the GtkTreeModelMapping
2150
2151 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2152
2153         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2154         have a demo, we might as well pass in real values.  Thanks to
2155         clahey for pointing this out.
2156
2157 2001-02-14  Havoc Pennington  <hp@pobox.com>
2158
2159         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2160         "static" to a private function
2161         (gtk_image_menu_item_class_init): remove destroy handler,
2162         add "image" object property
2163
2164 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2165
2166         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2167         Add a shortcut if the window and the current clip_region doesn't
2168         overlap. This is needed when there are a lot of windows in a
2169         window. The layout test in testgtk is a good test.
2170
2171         * gdk/linux-fb/gdkwindow-fb.c:
2172         Whitespace fix.
2173
2174 2001-02-13  Sven Neumann  <sven@convergence.de>
2175
2176         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2177
2178 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2179
2180         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2181         Don't reference last_cursor if it is null. Fixes crash when rotating
2182         the screen before having moved the mouse.
2183
2184         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2185
2186         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2187
2188         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2189         when using 90 or 270 degrees rotation.
2190
2191 2001-02-12  Havoc Pennington  <hp@pobox.com>
2192
2193         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2194         it always set the foreground, even if we were only using
2195         a stipple.
2196         (gdk_draw_layout_line_with_colors): new function, allow
2197         override colors
2198         (gdk_draw_layout_with_colors): new function, allow override
2199         colors
2200         (gdk_pango_layout_line_get_clip_region): function to get the clip
2201         region for a logical text range
2202         (gdk_pango_layout_get_clip_region): get the clip region for a
2203         logical text range
2204
2205         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2206         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2207         the right number of arguments.
2208
2209         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2210         enhance the function to check that node data corresponds to a 
2211         view still belonging to the tree.
2212
2213         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2214         GtkTreePath
2215         (gtk_tree_view_inserted): ditto
2216         (gtk_tree_view_child_toggled): ditto
2217
2218         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2219         simplify this code.
2220
2221         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2222         a PangoAttrList
2223
2224         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2225
2226         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2227
2228         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2229         size in the size request 
2230         (gtk_menu_bar_size_allocate): consider toggle size here
2231
2232         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2233         that displays a widget in the toggle slot
2234
2235         * gtk/testgtk.c: test GtkImageMenuItem
2236
2237         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2238         
2239         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2240         request and allocation
2241
2242         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2243
2244         * gtk/gtkcheckmenuitem.c
2245         (gtk_check_menu_item_toggle_size_request): ditto
2246         
2247 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2248
2249         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2250         reference.
2251
2252         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2253         and refuse to initialize GTK+ if they fail.
2254
2255 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2256
2257         * configure.in: Add check for gtk-doc version.
2258
2259 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2260
2261         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2262         where the xpad/ypad was only being used on one side!
2263
2264 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2265
2266         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2267         function, copied from X11 version.
2268
2269         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2270         DestroyCursor failures. The reason for the problem (despite the
2271         inconsistent messages from GetLastError()) was that
2272         DestroyCursor() cannot be called while a cursor is set in a
2273         window. Set the new cursor first and then destroy the old one.
2274         Thanks to jpe@archaeopteryx.com.
2275
2276         * gdk/win32/gdkcc-win32.c: Remove.
2277
2278         * gdk/win32/Makefile.am: Remove from here, too.
2279         
2280         * gdk/gdk.def
2281         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2282
2283         * gtk/gtk.def
2284         * gtk/makefile.mingw.in: Updates.
2285
2286 2001-02-08  Havoc Pennington  <hp@redhat.com>
2287
2288         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2289         add a widget to a bin that already has a child.
2290
2291         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2292
2293         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2294         
2295         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2296
2297         * gdk/gdk.h: remove gdkcc.h
2298
2299         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2300
2301         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2302         GdkPixbuf, since the previous implementation was GdkColorContext
2303         dependent.
2304
2305         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2306         
2307 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2308
2309         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2310         a sane value!
2311
2312 2001-02-08  Havoc Pennington  <hp@redhat.com>
2313
2314         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2315         lighten them.
2316
2317 2001-02-08  Havoc Pennington  <hp@redhat.com>
2318
2319         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2320         validation idle
2321
2322         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2323         cell renderer
2324
2325         * demos/pixbuf-demo.c (timeout): remove deprecated
2326         gtk_widget_draw
2327
2328         * demos/testpixbuf-save.c (main): remove deprecated
2329         gtk_drawing_area_size
2330
2331         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2332         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2333         at the start of the allocation.
2334         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2335         unsetup or NULL model.
2336
2337         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2338         even/odd/sorted cells in the tree view.
2339
2340         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2341         bugfixes
2342
2343         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2344         backgrounds with draw_flat_box using different detail for even/odd
2345         rows.
2346
2347         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2348         row, so we can draw the alternating colors thing
2349
2350         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2351         property from a synonym property, notify for the synonym.
2352         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2353         (gtk_text_tag_get_property): Always return the font, even if
2354         all its fields aren't set
2355
2356         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2357         store the attr list; it leaves us with no way to change attributes
2358         in _render according to the render flags, and no way to implement
2359         get_property. Instead store all the specific text attributes. 
2360         Separate whether an attribute is enabled from its value. Sync all
2361         properties with GtkTextTag, make them all consistent, etc.
2362
2363         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2364         renderers can highlight the sort row/column     
2365
2366         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2367         accessor functions to get values; this has the side effect of
2368         showing up which accessor functions were missing. Added those.
2369
2370         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2371         set_alignment, to be consistent with GtkLabel, GtkMisc
2372
2373         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2374         arrow.
2375
2376         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2377
2378         * gtk/gtktreesortable.h: updates in here
2379
2380 2001-02-07  Sven Neumann  <sven@convergence.de>
2381
2382         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2383         pango dimensions after painting the background. We used to draw
2384         gigantic flat boxes here.
2385
2386 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2387
2388         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2389         error introduced with earlier commit) (pointed out by
2390         Ollie Lho)
2391
2392 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2393
2394         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2395         which are no longer necessary.
2396
2397 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2398
2399         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2400
2401 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2402
2403         * gdk/gdk.def
2404         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2405         Provide dummy implementations.
2406
2407 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2408
2409         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2410
2411         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2412         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2413         deprecated this function.
2414
2415         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2416         argument.
2417
2418 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2419
2420         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2421
2422 2001-02-03  Havoc Pennington  <hp@pobox.com>
2423
2424         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2425         Mikael Hermansson with patch from Mikael (if there was a toggle
2426         start one after the first character in the range, this function
2427         was broken). Bug #50380
2428
2429 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2430
2431         * configure.in: Remove confusing comment about X11.
2432
2433 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2434
2435         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2436         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2437         
2438 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2439
2440         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2441         it breaks things on BSD. If you want to compile GTK+ with
2442         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2443         when configuring, since GTK+ simply can't be "pure ANSI" 
2444         in the header files it uses. (#8170, Greg Hudson)
2445
2446 2001-02-02  Havoc Pennington  <hp@redhat.com>
2447
2448         * gtk/gtkwindow.c: docs
2449
2450         * gtk/gtkwidget.c: docs
2451         (gtk_widget_set_colormap): add a reference to the colormap
2452         (gtk_widget_get_default_colormap): add a reference to the colormap
2453
2454         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2455
2456         * gtk/gtktextiter.c: docs
2457
2458         * gtk/gtkmain.c (gtk_propagate_event): docs
2459
2460         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2461         (gtk_paned_set_position): docs
2462
2463         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2464         sort interface, no implementation yet.
2465
2466         * demos/testpixbuf.c (new_testrgb_window): replace
2467         gtk_drawing_area_size() with gtk_widget_set_usize()
2468
2469         * demos/testpixbuf-drawable.c (main): ditto
2470         
2471         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2472
2473         * gtk/gtktextbuffer.c: docs
2474
2475         * gtk/gtkstock.c: docs
2476
2477         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2478
2479         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2480
2481         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2482         
2483         * gtk/gtkimage.c: add some docs in here
2484         (gtk_image_size_request): change name of
2485         gtk_widget_render_stock_icon
2486         (gtk_image_get_icon_set): don't dup returned string
2487         (gtk_image_get_icon_set): don't dup returned string
2488
2489         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2490         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2491         and gtkiconfactory.h functions
2492
2493         * gtk/gtkiconfactory.c: add some docs in here
2494
2495         * gtk/gtkmain.c (gtk_get_default_language): document
2496         (gtk_get_current_event): document
2497         (gtk_get_current_event_state): document
2498         (gtk_get_event_widget): document
2499
2500         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2501
2502         * gtk/gtkcontainer.c: Add some documentation
2503         (gtk_container_add): give a more explanatory warning on adding an
2504         already-parented widget, this is kind of a FAQ and also a common
2505         typo that's easier to debug with a nice warning 
2506
2507         * gtk/gtkcellrenderertoggle.c
2508         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2509         adding this, it's useless
2510         (gtk_cell_renderer_toggle_set_active): remove
2511         (gtk_cell_renderer_toggle_get_radio): add
2512
2513         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2514         the NULL cell renderer, that doesn't make any sense to me. 
2515
2516         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2517         demo code should never use deprecated features.
2518
2519         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2520         code should never use deprecated features.
2521
2522         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2523         gtk_widget_queue_clear_area deprecated
2524
2525         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2526         deprecated
2527
2528         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2529
2530         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2531         a GdkImage deprecated, replaced by new consistently-named
2532         functions       
2533
2534         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2535
2536         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2537
2538         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2539         deprecated
2540
2541         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2542         so it won't appear in docs and confuse people.
2543
2544         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2545
2546         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2547         macros deprecated. (can't mark the type itself deprecated, since
2548         GtkProgressBar is not deprecated and we need the type decl to use
2549         GtkProgressBar)
2550
2551         * gtk/gtkpixmap.h: Mark deprecated
2552
2553         * gtk/gtkoldeditable.h: Mark deprecated
2554
2555         * gtk/gtklist.h: Mark deprecated
2556
2557         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2558         for anything anymore.
2559
2560         * gtk/gtkctree.h: Mark deprecated
2561
2562         * gtk/gtkclist.h: Mark deprecated
2563
2564         * gtk/gtkpreview.h: Mark deprecated
2565
2566         * gtk/gtkpacker.h: Mark deprecated
2567
2568         * gtk/gtktipsquery.h: Mark deprecated
2569
2570         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2571
2572         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2573
2574         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2575
2576         * gtk/gtkruler.h: Add comment that it will move out of GTK
2577
2578         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2579
2580         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2581
2582 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2583
2584         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2585         gdk_colormap_sync private since it was never exported
2586         in a header file.
2587
2588         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2589         colormap->colors[] for StaticGray, StaticColor colormaps.
2590
2591         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2592         was being used as if it was image->bits_per_pixel.
2593
2594         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2595         for the image in the GdkImage structure since it isn't
2596         reconstructable, and we need it to handle packed types
2597
2598         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2599         the assumption that on Win32 image->bits_per_pixel == image->depth,
2600         always.
2601
2602         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2603
2604         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2605         warning message if no converter can be found. 
2606
2607 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2608
2609         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2610         chars to isupper() / tolower(). (#567)
2611
2612         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2613         to clear up 64-bit warnings. (#567)
2614
2615 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2616
2617         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2618         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2619
2620         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2621         since some people set $(libdir) separately. (#1290, David Kaelbling)
2622
2623 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2624
2625         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2626         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2627         MAXPATHLEN, but the code here depends on a fixed value.)
2628         (#4524)
2629
2630 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2631
2632         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2633         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2634
2635 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2636
2637         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2638         viewable there is no way that moving the node will cause the 
2639         focus row to become not viewable, so omit check on the visibility
2640         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2641
2642 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2643
2644         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2645         selection before inserting new text.
2646
2647 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2648
2649         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2650         Make the sensitivity of the reparented child track that of
2651         the original parent menu item. (#34218, David Hodson)
2652
2653         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2654         the case where the current item is destroyed properly.
2655
2656         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2657         some edge cases with child-less menuitems.
2658         
2659 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2660
2661         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2662         key pop down window. (#12074, Jon K Hellan)
2663
2664 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2665
2666         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2667         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2668         The solution here isn't perfect - you get an extraneous
2669         emission of "toggle", which could conceivably confuse an app,
2670         but better than the current situation. LXR search seems to
2671         indicate that no apps in GNOME CVS connect to "toggle".
2672
2673 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2674
2675         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2676         gtk_public_h_sources to directly here to avoid warning when
2677         building srcdir != builddir. (#9656)
2678
2679 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2680
2681         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2682         handlers in gtkrange.c return the proper values (TRUE == handled)
2683         (#10316).
2684
2685         This is just the tip of the iceberg, but gtkrange.c is the
2686         most common place where the propagation is problematical,
2687         and also a place where it is almost certainly safe to change
2688         this in the stable branch.
2689
2690         (You don't want right click popups on a range control or anything...)
2691
2692 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2693
2694         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2695         area on focus out, even if a background pixmap isn't set.
2696         (#13941)
2697         
2698 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2699
2700         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2701         to deal with setting the shape properly when scrolling arrows are
2702         turned on, but not visible because there is sufficient space.
2703         (#13432)
2704
2705 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2706
2707         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2708         items with submenus, destroy the item along with the submenu.
2709         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2710         properly.
2711
2712         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2713         later.
2714
2715 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2716
2717         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2718         the focus widget sometimes wasn't drawn with the default if there
2719         was no default widget.
2720
2721         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2722         unreference pixmaps. 
2723
2724         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2725         for some extra safety.
2726
2727 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2728
2729         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2730         the text of a cell to the old pointer value better, by
2731         copying the new text before freeing the old text. Some code
2732         cleanup. (#8079, Karl Nelson)
2733
2734 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2735
2736         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2737         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2738
2739 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2740
2741         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2742         item from a menu, check to see if it matches 
2743         menu->old_active_menu_item, and if so, unref and clear
2744         old_active_menu_item (Patch from Pavel Cisler)
2745
2746         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2747         menu_shell->active_menu_item, if it is the child being
2748         removed. (Patch based on that of Gene Ragan, #50337)
2749
2750 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2751
2752         * gdk/linux-fb/gdkselection-fb.c: 
2753         * gdk/linux-fb/gdkcolor-fb.c: 
2754         * gdk/linux-fb/gdkdrawable-fb2.c: 
2755         * gdk/linux-fb/gdkfont-fb.c: 
2756         * gdk/linux-fb/gdkim-fb.c: 
2757         * gdk/linux-fb/gdkinput.c: 
2758         * gdk/linux-fb/gdkkeyboard-fb.c: 
2759         * gdk/linux-fb/gdkmain-fb.c: 
2760         * gdk/linux-fb/gdkrender-fb.c: 
2761         A bunch of whitespace cleanup.
2762         
2763 2001-01-30  Havoc Pennington  <hp@pobox.com>
2764
2765         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2766         #ifdef GTK_ENABLE_BROKEN.
2767
2768         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2769         GTK_ENABLE_BROKEN just before including the broken headers.
2770         
2771         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2772         deprecated types registered.
2773
2774         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2775         we have to test the broken stuff.
2776
2777         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2778         
2779 2001-01-30  Havoc Pennington  <hp@redhat.com>
2780
2781         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2782         here where prev pointer was set to the wrong thing
2783
2784         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2785         (gtk_tree_path_is_descendant): new function
2786
2787         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2788         cached length
2789         (gtk_list_store_get_iter): don't modify iter if we can't get the
2790         path.
2791
2792         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2793         
2794         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2795         GtkTreeDragDest
2796
2797         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2798         was causing segfault
2799
2800         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2801         pointer to NULL
2802
2803         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2804
2805         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2806         on returning FALSE
2807         (gtk_list_store_iter_children): ditto
2808         (gtk_list_store_iter_nth_child): ditto
2809         (gtk_list_store_iter_nth_child): ditto
2810         (gtk_list_store_iter_parent): ditto
2811
2812         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2813         on iter->user_data != NULL instead of silently accepting it.
2814         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2815         we are returning TRUE.
2816         (gtk_tree_store_iter_children): ditto
2817         (gtk_tree_store_iter_nth_child): ditto
2818         (gtk_tree_store_iter_parent): ditto
2819         (gtk_tree_store_insert): remove handling of parent->user_data ==
2820         NULL, replace with parent == NULL       
2821
2822         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2823         and a comment explaining things
2824
2825         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2826         interface support to GtkTreeStore.
2827
2828         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2829         FALSE if no prev, fix
2830
2831         * gtk/gtktreeview.c (set_source_row): use a row reference
2832         (set_dest_row): use a row reference
2833
2834 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2835
2836         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2837         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2838         (gtk_tree_selection_select_iter): The same as above.
2839
2840 2001-01-26  Havoc Pennington  <hp@redhat.com>
2841
2842         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2843         which holds a handle to a specific row (particular set of values
2844         in the model, i.e. pointer-identity row).
2845
2846         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2847         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2848         Still need to use it for the src/dest row saved on the drag context.
2849
2850 2001-01-26  Havoc Pennington  <hp@redhat.com>
2851
2852         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2853
2854         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2855         not offset by TREE_VIEW_HEADER_HEIGHT
2856         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2857         TREE_VIEW_HEADER_HEIGHT
2858
2859         * configure.in (included_loaders): for me, --with-included-loaders
2860         generates the error "the specified loader yes does not exist",
2861         i.e. the arg defaults to "yes", so change test for value ""
2862         to test for value "yes", and include all loaders in that case.
2863
2864         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2865
2866         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2867         handle TREE_VIEW_VERTICAL_SEPARATOR
2868         (gtk_tree_view_bin_expose): fix to consider the row offset as
2869         pointing halfway into vertical separator.       
2870         (gtk_tree_view_draw_node_focus_rect): ditto
2871
2872         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2873         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2874         (TRUE) to be called.
2875
2876         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2877         debug mode where the invalid region is colored in on invalidate,
2878         so you can see the flicker and know whether your redraw code is 
2879         doing a good job.
2880
2881         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2882         tree window coordinates (clip rect is in tree window coords)
2883
2884         * gtk/Makefile.am: add gtktreednd.[hc]
2885
2886         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2887
2888         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2889         drag-and-drop data operations on a model (so we can set up tree
2890         drag-and-drop automatically)
2891
2892         * gtk/testgtk.c: Add a window to change sensitivity in the
2893         GtkLabel test; add a way to change the entry frame in GtkEntry
2894         test
2895
2896         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2897         (gtk_entry_get_has_frame): new functions to remove the frame
2898         around an entry
2899         (gtk_entry_size_request): shrink requisition if no frame
2900         (gtk_entry_draw_focus): don't draw frame if no frame
2901
2902         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2903         checks inside a cell renderer
2904         (gtk_default_draw_option): ditto for options
2905
2906         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2907         children from the alignment, not the button
2908         (gtk_tree_view_column_init): ref/sink the column, to emulate
2909         GObject refcounting.
2910
2911         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2912         
2913         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2914         Use theme functions to draw the toggles 
2915
2916         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2917
2918         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2919         GdkPangoAttrEmbossed to use in rendering insensitive text
2920
2921         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2922
2923         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2924         using new GDK features
2925         
2926 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2927
2928         * gtk/gtkimage.c:
2929         Splitted gtk_image_clear into gtk_image_clear() and
2930         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2931         to avoid leaks.
2932
2933         * gtk/gtklabel.c (set_markup):
2934         Don't leak text.
2935
2936         * gtk/gtktextlayout.c:
2937         Always free display->shaped_objects.
2938
2939         * gtk/testgtk.c (create_clist):
2940         Don't leak custom style.
2941
2942 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2943
2944         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2945         Don't leak image. Simplify using gdk_colormap_query_color().
2946         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2947
2948         * linux-fb/gdkcolor-fb.c:
2949         Implemented gdk_colormap_query_color.
2950
2951 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2952
2953         * linux-fb/gdkcursor-fb.c:
2954         Don't leak built-in cursors.
2955
2956         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2957         Don't leak tmp_points.
2958
2959         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2960         Don't modify desc. Don't leak font if the PangoFont
2961         isn't found.
2962         
2963         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2964         Free dash_list.
2965
2966         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2967         Don't leak string.
2968         
2969 2001-01-20  Havoc Pennington  <hp@pobox.com>
2970
2971         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2972         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2973         me, matches Pango
2974
2975 2001-01-22  Havoc Pennington  <hp@redhat.com>
2976
2977         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2978
2979         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2980
2981         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2982         Remove, move back to gdk-pixbuf
2983
2984         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2985         to all the word functions
2986
2987         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2988         before doing anything on NULL layout or if we don't have the focus
2989
2990         * gtk/testtext.c (fill_example_buffer): "justification"
2991
2992         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2993         to be called "justification" not "justify"
2994
2995         * demos/gtk-demo/textview.c (create_tags): "justification"
2996         
2997         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2998
2999 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3000
3001         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3002         Don't leak visible_region. Use visible_region instead of region.
3003         
3004         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3005         Don't do extra gdk_drawable_ref(). This is not X.
3006         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3007         gdk_fb_focused_window is ref:ed.
3008         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3009         windows.
3010
3011 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3012
3013         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3014         Don't leak the PangoFontDescriptor.
3015
3016 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3017
3018         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3019         when not realized.
3020         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3021         (gtk_tree_view_realize): add scroll_to support
3022         (gtk_tree_view_finalize): add a finalize method.  Populate.
3023         (gtk_tree_view_insert_column): ref and sink the column.
3024         (gtk_tree_view_append_column): ref and sink the column.
3025         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3026         individual nodes.  Should make the code much more efficient, if
3027         actually used.
3028
3029 2001-01-19  Havoc Pennington  <hp@redhat.com>
3030
3031         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3032         byte_offset variable was being used to mean both "offset into
3033         layout" and "offset into buffer line" which was no longer true
3034         with addition of preedit string; fix
3035
3036 2001-01-19  Havoc Pennington  <hp@redhat.com>
3037
3038         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3039
3040         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3041         function
3042
3043         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3044         implement
3045
3046         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3047         scroll_to_cell, matches TextView scroll functions better
3048         (gtk_tree_view_tree_to_widget_coords): new function
3049         (gtk_tree_view_widget_to_tree_coords): new function
3050         (gtk_tree_view_get_visible_rect): new function
3051         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3052         (gtk_tree_view_draw_node_focus_rect): new function moved from
3053         draw_focus, also, use width of bin_window as width of the focus
3054         rect
3055         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3056         already-expanded rows
3057         (gtk_tree_view_get_cell_rect): new function
3058         (gtk_tree_view_get_path_at_pos): return the click position
3059         relative to the passed-in cell
3060         (gtk_tree_view_set_expander_column): new function
3061
3062         * configure.in: remove gtk-config-2.0 chmod
3063
3064         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3065         and properly handle drags with targets we don't understand
3066         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3067         scrolling anyway
3068         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3069         mark invisible
3070
3071         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3072         function
3073         (gtk_drag_dest_get_target_list): new function
3074         (gtk_drag_dest_set_target_list): new function
3075         
3076         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3077
3078         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3079         related to drag-and-drop
3080
3081 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3082
3083         * gdk/linux-fb/gdkprivate-fb.h:
3084         Define EMULATE_GDKFONT.
3085         Add extra pango_font stuff to GfkFontPrivate.
3086         
3087         * gdk/linux-fb/gdkdrawable-fb2.c:
3088         * gdk/linux-fb/gdkfont-fb.c:
3089         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3090         emulation using PangoFont.
3091
3092 2001-01-17  Havoc Pennington  <hp@pobox.com>
3093
3094         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3095         all the non-deprecated set_foo functions. Added missing object
3096         properties, and added g_object_notify() to setters. 
3097         Wrote docs.
3098         
3099 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3100
3101         * gtk/gtkmain.c
3102         * gtk/gtkrc.c: (Win32) Use the new
3103         g_win32_get_package_installation_(sub)directory() functions.
3104
3105         * config.h.win32.in: New file.
3106         
3107         * config.h.win32: Removed.
3108
3109         * configure.in: Output config.h.win32.
3110
3111         * Makefile.am: Add it to EXTRA_DIST.
3112
3113         * gtk/gtk.def: Update.
3114
3115 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3116
3117         * gtk/gtklabel.c (gtk_label_size_request): Set the
3118         attributes onto the PangoLayout even if they are newly
3119         created from label->pattern.
3120
3121 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3122
3123         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3124
3125         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3126         structures in functions. Fixes bug where gtk_dataset_*
3127         was accidentally still being used in one place, causing
3128         every dest side event to be treated independently.
3129
3130         * gtk/gtkdnd.c: Remove last vestages of handling
3131         ::draw (fixes warning)
3132         
3133         * gtk/gtkentry.[ch]: Add drag and drop support.
3134
3135         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3136         new function gtk_check_drag_threshhold() for checking
3137         to check if (dx,dy) has exceeded the threshhold for starting
3138         a drag and use it everywhere.
3139
3140 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3141
3142         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3143         add -I{includedir}/gtk-2.0.
3144
3145         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3146         gdk/gdk-pixbuf.h: Doc fixups.
3147         
3148         * gtk/gtkobject.h: Remove trailing , from enum
3149
3150 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3151
3152         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3153         Doh! Mixed up x and y.
3154
3155         * gdk/linux-fb/gdkglobals-fb.c:
3156         Removed gdk_fb_pointer_grab_window_events,
3157         added _gdk_fb_pointer_grab_owner_events and
3158         _gdk_fb_keyboard_grab_owner_events.
3159
3160         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3161         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3162         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3163         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3164         Send crossing events after ungrab finished.
3165         (gdk_keyboard_grab): Set ..._owner_events
3166         (type_masks): Move out of function.
3167         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3168         gdk_fb_keyboard_event_window): New functions, return the
3169         window an event should be targeted at. Handles grabs and
3170         event propagation. Can return NULL.
3171         (gdk_event_make): Remove event_mask checking. Now always
3172         returns an event.
3173                 
3174         * gdk/linux-fb/gdkkeyboard-fb.c:
3175         * gdk/linux-fb/gdkproperty-fb.c:
3176         * gdk/linux-fb/gdkselection-fb.c:
3177         Use new event_window/gdk_event_make() behaviour.
3178         
3179         * gdk/linux-fb/gdkmouse-fb.c:
3180         Use new event_window/gdk_event_make() behaviour.
3181         Only send motion events if in the same window.
3182         If grabbed, use cursor from window if sibling of grabbed
3183         window, and cursor from grabbed window otherwise.
3184
3185         * gdk/linux-fb/gdkprivate-fb.h:
3186         Update gdk_fb_window_send_crossing_events, gdk_event_make
3187         and grab varaible declarations. Add gdk_fb_*_event_window().
3188
3189         * gdk/linux-fb/gdkwindow-fb.c:
3190         Use new event_window/gdk_event_make() behaviour.
3191         Keep correct track of focus window.
3192         (gdk_window_set_events): Set all specific button motion masks
3193         if GDK_BUTTON_MOTION_MASK set.
3194
3195         * gtk/gtkdnd.c (gtk_drag_update):
3196         Free info->last_event if gdk_drag_motion returned FALSE.
3197
3198 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3199
3200         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3201         Eliminate redraws when input-only windows are shown or
3202         hidden. Thanks to jpe@archaeopteryx.com.
3203
3204 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3205
3206         * docs/faq/gtk-faq.sgml: FAQ update:
3207           - Update to bugzilla
3208           - Add GTK+ and security/SUID/SGID
3209           - Add DnD question
3210
3211 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3212
3213         * gdk/linux-fb/gdkdnd-fb.c:
3214         Some cleanups.
3215         
3216 2001-01-15  Havoc Pennington  <hp@pobox.com>
3217
3218         * tests/testtreeview.c: add test stuff for CellRendererToggle
3219
3220         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3221         accessor
3222
3223         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3224         only toggle on button press (would do release like GtkButton, but
3225         we'd need implicit grab code for treeview cells)
3226
3227 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3228
3229         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3230
3231         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3232         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3233
3234         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3235         to g_{locale,filename}_{to,from}_utf8 to match current API.
3236
3237         * gtk/makefile.msc.in (gtk_OBJECTS)
3238         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3239
3240         * gtk/gtk.def: Update.
3241
3242 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3243
3244         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3245         implementaion that more closely mimics the events that an X server
3246         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3247         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3248         with nested preview widgets, for instance, more responsive when
3249         you move the mouse quickly into them.
3250         (find_window_for_pointer_event): Make it actually compile.
3251         (gdk_event_translate): Set send_event to the value of
3252         InSendMessage (). This doesn't really mean the same as X11's
3253         send_event flag, but is close enough, says jpe@archaeopteryx.com
3254
3255 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3256
3257         * gdk/linux-fb/gdkdnd-fb.c:
3258         Implemented drag and drop.
3259         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3260         when it tries to free and then copy the same event (info->last_event).
3261         I am not sure about why this happens, but will continue looking.
3262
3263 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3264
3265         * gdk/linux-fb/gdkwindow-fb.c:
3266         Use gdk_window_invalidate_rect instead of
3267         gdk_window_invalidate_rect_clear to minimise flashing.
3268         When hiding windows you need to clear the root window though.
3269
3270 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3271
3272         * gdk/linux-fb/gdkdrawable-fb2.c:
3273         For optization, add an full_shapes argument to gdk_fb_clip_region.
3274         If this is false, only the cliprects of the shapes are used.
3275
3276         * gdk/linux-fb/gdkprivate-fb.h:
3277         Export gdk_fb_window_peek_shape.
3278         Add full_shapes to gdk_fb_clip_region.
3279
3280         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3281         When moving a window, don't clear everything under the it, just the
3282         root window. Makes stuff faster and flash less.
3283         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3284         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3285         offset of the shape.
3286         
3287
3288 2001-01-12  Havoc Pennington  <hp@redhat.com>
3289
3290         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3291         current invalid region, fixes redraw bug while scrolling the 
3292         text widget
3293
3294         * gtk/gtktextview.c, gtk/gtktextview.h:
3295         Rearrange the scrolling/validation/etc. code in a major way, 
3296         so it seems to make sense to me. Probably isn't genuinely that
3297         much better, but...
3298
3299         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3300         notifies
3301
3302         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3303
3304 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3305
3306         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3307         Hide mouse pointer while rotation. Show it afterwards.
3308
3309 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3310
3311         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3312         windows in consideration when generating clip region.
3313
3314         * gdk/linux-fb/gdkfb.h:
3315         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3316
3317         * gdk/linux-fb/gdkprivate-fb.h:
3318         Add shape to GdkWindowFBDatat.
3319         exported gdk_fb_window_get_abs_shape().
3320         removed gdk_fb_draw_lines declaration.
3321
3322         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3323         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3324         send focus changes when there is a grabbed window.
3325         (gdk_window_get_pointer): Handle shaped windows.
3326         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3327         (gdk_fb_window_peek_shape): Returns the shape for a window,
3328         handles GDK_FB_USE_CHILD_SHAPE.
3329         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3330         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3331         (gdk_window_shape_combine_mask): Implement.
3332
3333         * gtk/gtkwindow-decorate.c:
3334         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3335         setting the shape of a window makes the window transparent.
3336
3337 2001-01-11  Havoc Pennington  <hp@redhat.com>
3338
3339         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3340
3341 2001-01-10  Havoc Pennington  <hp@redhat.com>
3342
3343         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3344         add this function, bug 40251
3345
3346         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3347         of type macro   
3348
3349 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3350
3351         * acconfig.h:
3352         Added ENABLE_SHADOW_FB
3353
3354         * configure.in:
3355         Added --disable-shadowfb
3356
3357         * gdk/linux-fb/gdkcursor-fb.c:
3358         Update shadowfb when updating cursor
3359
3360         * gdk/linux-fb/gdkdrawable-fb2.c:
3361         Added wrappers for shadowfb that calls  the normal drawable
3362         methods, but calls gdk_shadow_fb_update(bounding box) when
3363         GdkWindows are drawed to.
3364         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3365         which also returns the bounding box.
3366
3367         * gdk/linux-fb/gdkfb.h:
3368         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3369
3370         * gdk/linux-fb/gdkgeometry-fb.c:
3371         Update shadowfb when scrolling window.
3372
3373         * gdk/linux-fb/gdkglobals-fb.c:
3374         Add _gdk_fb_screen_angle.
3375         
3376         * gdk/linux-fb/gdkkeyboard-fb.c:
3377         Test code for screen rotation. Shift-F2 in the xlate driver
3378         rotates the screen.
3379
3380         * gdk/linux-fb/gdkmain-fb.c:
3381         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3382
3383         * gdk/linux-fb/gdkmouse-fb.c:
3384         Use fb_width/height instead of modeinfo.xres/yres.
3385
3386         * gdk/linux-fb/gdkprivate-fb.h:
3387         Added fb_men, fb_width, fb_height & fb_stride. When using
3388         shadow fb these can differ from the framebuffer stuff.
3389         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3390         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3391         _gdk_fb_screen_angle. Removed CM, RP.
3392
3393         * gdk/linux-fb/gdkrender-fb.c:
3394         Added code for shadowfb handling and screen rotation using
3395         shadowfb.
3396
3397         * gdk/linux-fb/gdkwindow-fb.c:
3398         Use fb_mem, fb_stride, fb_width, fb_height.
3399         Added recompute_rowstride to reset the rowstride of all windows.
3400         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3401         window abs positions and window rowstrides. Usefull when the
3402         rotation has changed.
3403
3404 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3405
3406         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3407
3408 2001-01-10  Havoc Pennington  <hp@redhat.com>
3409
3410         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3411         where sibling == iter
3412         (gtk_tree_store_insert_after): handle sibling == iter
3413         (gtk_tree_store_prepend): remove stamp checks
3414         (gtk_tree_store_insert_before): ditto
3415         (gtk_tree_store_append): ditto
3416         (gtk_tree_store_get_path): ditto
3417         (gtk_tree_store_get_value): ditto
3418         (gtk_tree_store_iter_has_child): ditto
3419         (gtk_tree_store_iter_n_children): ditto
3420         (gtk_tree_store_iter_nth_child): ditto
3421         (gtk_tree_store_insert_after): ditto
3422         (gtk_tree_store_is_ancestor): ditto
3423         (gtk_tree_store_iter_depth): ditto
3424         (gtk_tree_store_insert_before): assert that sibling's parent is
3425         the same as the passed-in parent
3426         (gtk_tree_store_insert_after): assert that sibling's parent is
3427         the same as the passed-in parent
3428
3429         
3430         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3431         function to get the first iterator in a model
3432         
3433         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3434         conventionally the "root" in this sense is just NULL afaict.
3435
3436         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3437         where sibling == iter
3438         (gtk_list_store_insert_after): handle case where sibling == iter
3439
3440         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3441         automated tests for ListStore, TreeStore
3442
3443         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3444         (gtk_list_store_insert): update tail pointer, and fix it to work
3445         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3446         (gtk_list_store_append): use tail to be faster
3447         (gtk_list_store_prepend): fix it, update tail pointer
3448         (gtk_list_store_insert_after): fix it, update tail pointer
3449
3450         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3451         the list
3452
3453 2001-01-09  Havoc Pennington  <hp@redhat.com>
3454
3455         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3456         is NULL due to a pending resize
3457
3458         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3459         column width to values less than 1
3460
3461         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3462         width to be between min/max width, and still set the width 
3463         even if autosize is turned on, so the tree view can use this 
3464         function in order to autosize.
3465         (gtk_tree_view_column_init): set initial width to 1 not 0
3466
3467         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3468         setter function to modify column width, so we get notification
3469         (gtk_tree_view_insert_iter_height): ditto
3470         (gtk_tree_view_calc_size): ditto
3471         (gtk_tree_view_check_dirty): ditto
3472
3473         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3474         properties to change all the interesting attributes of the tree
3475         view column.
3476         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3477         (gtk_tree_view_column_get_clickable): add
3478         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3479         attributes; assume a cell renderer with equivalent object
3480         properties has been swapped in. Do g_object_notify().
3481         (gtk_tree_view_column_set_visible): g_object_notify
3482         (gtk_tree_view_column_get_sizing): rename from get_col_type
3483         (gtk_tree_view_column_set_sizing): g_object_notify
3484         (gtk_tree_view_column_set_width): add g_object_notify
3485         (gtk_tree_view_column_set_min_width): ditto
3486         (gtk_tree_view_column_set_max_width): ditto
3487         (gtk_tree_view_column_set_title): ditto
3488         (gtk_tree_view_column_set_clickable): ditto
3489         (gtk_tree_view_column_set_widget): ditto
3490         (gtk_tree_view_column_set_justification): ditto
3491
3492 2001-01-09  Havoc Pennington  <hp@redhat.com>
3493
3494         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3495         there are no rows in the model
3496
3497         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3498         NULL, then return the start of the list
3499
3500         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3501         if we can't get any rows from an empty model 
3502
3503         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3504         extraneous * after function pointer typedef usage
3505
3506         * Makefile.am: don't specify full path to cp and rm
3507
3508         * gtk/gtkcellrenderertextpixbuf.c
3509         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3510         NULL before dereferencing, fixes a segfault that happened from
3511         time to time
3512
3513         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3514         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3515         and reindent the function
3516         (gtk_cell_renderer_pixbuf_get_size): indentation
3517
3518         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3519         we quit it
3520         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3521         (gtk_dialog_set_default_response): New function, to set default
3522         button
3523         (gtk_dialog_set_response_sensitive): New function, to set 
3524         sensitivity of buttons
3525
3526         * gtk/gtkcellrendererpixbuf.c
3527         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3528         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3529
3530         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3531         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3532         also boxed types.
3533         (_gtk_tree_data_list_value_to_node): ditto
3534
3535         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3536         --gtk-debug=tree
3537
3538         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3539
3540         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3541
3542 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3543
3544         * gdk/win32/gdkevents-win32.c: Implement better mouse
3545         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3546         (find_window_for_pointer_event): New function.
3547         (gdk_event_translate): Use it when handling mouse events.
3548
3549 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3550
3551         * configure.in:
3552         Added --with-included-loaders option
3553
3554         * gdk-pixbuf/Makefile.am:
3555         * gdk-pixbuf/gdk-pixbuf-io.c:
3556         Add support for including selected gdk-pixbuf loaders only.
3557
3558         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3559         gtk_window_set_has_frame):
3560         Added inline documentation.
3561
3562         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3563         * docs/reference/gdk/tmpl/windows.sgml:
3564         Added inline documentation.
3565
3566 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3567
3568         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3569         realizing buttons that have already been realized.
3570
3571 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3572
3573         * tests/testtreeview.c (main): Show menu items before adding to
3574         option menu.
3575
3576         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3577         around if we kill them.
3578
3579         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3580         Return if we pass in a NULL model.
3581
3582 2001-01-08  Havoc Pennington  <hp@redhat.com>
3583
3584         * tests/testtreeview.c: hack on this some
3585
3586         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3587         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3588         list
3589         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3590
3591         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3592         functions
3593
3594 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3595
3596         * gtk/gtkwindow-decorate.[hc]:
3597         * gtk/Makefile.am:
3598         New files. Contains an implementation of a minimal WM for
3599         linux-fb.
3600
3601         * gtk/gtkwindow.h:
3602         Add the possibility for GtkWindows to specify a frame. This
3603         is used for the window decoration code, but could concievably
3604         be used for X programs too (xmms style windows).
3605         GtkWindow->frame is the toplevel window if the window is framed.
3606         The signal frame_event gets all events that are targeted to
3607         GtkWindow->frame.
3608         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3609         
3610         * gtk/gtkwindow.c:
3611         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3612         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3613
3614 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3615
3616         * docs/README.linux-fb:
3617         Correct filename ~/.pangoft2_aliases
3618
3619         * gdk/gdkwindow.h:
3620         Added new function gdk_window_get_decorations.
3621
3622         * gdk/linux-fb/gdkfb.h:
3623         Removed _gdk_window_get_decorations declaration.
3624         Renamed _gdk_window_set_child_handler to
3625         gdk_fb_window_set_child_handler.
3626
3627         * gdk/linux-fb/gdkwindow-fb.c:
3628         Renamed _gdk_window_set_child_handler to
3629         gdk_fb_window_set_child_handler.
3630
3631         * gdk/x11/gdkwindow-x11.c:
3632         New function gdk_window_get_mwm_hints().
3633         Implemented gdk_window_get_decorations.
3634
3635         * docs/reference/gdk/tmpl/windows.sgml:
3636         * docs/reference/gdk/gdk-sections.txt:
3637         Added gdk_window_get_decorations docs.
3638         
3639 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3640
3641         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3642         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3643         gdk_fb_window_send_crossing_events):
3644         Possibly send focus events when the mouse moves from one
3645         window to another.
3646
3647 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3648
3649         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3650         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3651         to match current API.
3652
3653         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3654         environment variable is set, don't call g_error when on a
3655         palettized (PseudoColor) display. Some people want to use GTK+ 
3656         in 256-colour mode even though works only partially.
3657
3658         * gdk/gdk.def
3659         * gtk/gtk.def
3660         * gtk/makefile.mingw.in: Update.
3661
3662 2001-01-05  Havoc Pennington  <hp@redhat.com>
3663
3664         * tests/testtreeview.c: hack on this a bit
3665
3666         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3667         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3668
3669         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3670         was spelled incorrectly
3671         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3672
3673         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3674         from gtk_tree_view_set_headers_active   
3675
3676         * gtk/gtktexttag.c:
3677         (gtk_text_tag_get_property): handle PROP_DIRECTION
3678         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3679         properties, bug 40235
3680
3681         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3682         forward_to_line_end
3683
3684 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3685
3686         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3687         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3688         for unicode,locale,filename conversion functions.
3689
3690 2001-01-05  Havoc Pennington  <hp@redhat.com>
3691
3692         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3693         broken if called on the first position in the buffer.
3694
3695         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3696         forward_to_delimiters to be called only if we aren't already at
3697         the delimiters.
3698
3699 2001-01-05  Havoc Pennington  <hp@redhat.com>
3700
3701         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3702
3703 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3704
3705         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3706         colormap in here. Sync from X port.
3707         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3708         Sync from X port.
3709         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3710         This happens now and then, and i don't think it is a bug.
3711         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3712         != endpoint.
3713         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3714         GDK_LINE_SOLID.
3715
3716         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3717         some of the fields filled in at least.
3718
3719         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3720         miLineArcD is no more, remove it from the function definition.
3721
3722 2001-01-04  Havoc Pennington  <hp@redhat.com>
3723
3724         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3725         this
3726
3727         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3728         user_data instead of tree_node
3729
3730         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3731         TREE_VIEW_COLUMN_SIZE
3732
3733         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3734         "size" field to "width" finishes bug 40061
3735
3736         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3737         for bitfields, bug 40268
3738
3739 2001-01-04  Havoc Pennington  <hp@redhat.com>
3740
3741         Rename some stuff:
3742         
3743         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3744
3745         s/GtkModelSimple/GtkTreeModelSimple/g;
3746         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3747         s/gtk_model_simple/gtk_tree_model_simple/g;
3748         s/gtkmodelsimple/gtktreemodelsimple/g;
3749
3750         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3751
3752         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3753         s/column_set_col_type/column_set_sizing/g;
3754
3755         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3756         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3757
3758         s/GtkCellRendererType/GtkCellRendererState/g;
3759         
3760         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3761         (gtk_cell_renderer_toggle_class_init): change "state" property to
3762         "active", to match GtkToggleButton
3763         (gtk_cell_renderer_toggle_get_active): new function, bug
3764         40269
3765         (gtk_cell_renderer_toggle_set_active): new function
3766         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3767         state through gtk_cell_renderer_set_active
3768
3769 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3770
3771         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3772         temporarily until they work again.  Brought up to date with
3773         changes in the model.
3774         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3775         model.
3776
3777 2001-01-04  Havoc Pennington  <hp@redhat.com>
3778
3779         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3780         equal to the line length, then position iterator before paragraph 
3781         separators. Fixes crash reported by Mikael Hermansson when
3782         pressing left arrow from the start of a line.   
3783
3784         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3785         about byte indexes off the end
3786         (iter_set_from_char_offset): add g_error about char offsets
3787         off the end
3788
3789 2001-01-03  Havoc Pennington  <hp@redhat.com>
3790
3791         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3792
3793         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3794         of private functions; remove inclusion of private headers.
3795
3796         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3797         function, so we don't need private functions in gtktextdisplay.c
3798
3799         * gtk/gtktextiterprivate.h: underscore-ification
3800
3801         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3802         to instead say "only useful to implement widgets"
3803
3804         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3805         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3806         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3807
3808         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3809         This function was completely broken
3810
3811         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3812
3813         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3814
3815         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3816
3817         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3818
3819         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3820
3821         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3822
3823         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3824         gtk_paint_layout
3825
3826         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3827         gtk_paint_layout
3828
3829         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3830         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3831         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3832         which were not implemented.     
3833
3834         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3835         insert_pixbuf signal. Rename delete_text to delete_range since it
3836         also deletes pixbufs and child anchors. This almost closes bug
3837         40245 (still need to deal with child anchors)
3838
3839         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3840         insert_pixbuf, change signal names as appropriate, change types of
3841         signals taking marks/tags to have the specific type, not just
3842         G_TYPE_OBJECT
3843         
3844         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3845         closes bug 40051
3846
3847         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3848         unnecessary remove_contents() call
3849         (gtk_option_menu_class_init): add a "changed" signal, closes
3850         bug 40039
3851         (gtk_option_menu_update_contents): emit "changed" if the 
3852         active menu item changes
3853
3854         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3855         cast to GtkObject, reported by Jonas Borgstrom
3856         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3857         we can't do stuff with side effects in finalize. Instead, spew a
3858         warning if the loader isn't closed.
3859
3860         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3861         colormap in here, non-X ports probably need to sync to this change
3862
3863         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3864         assertion that colormap != NULL, you can set the colormap to NULL
3865         if you like.
3866         
3867         * Makefile.am: remove gtk-config-2.0
3868
3869         * configure.in: Use pkg-config to locate GLib. Remove
3870         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3871         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3872         Use pkg-config to locate Pango. Output correct Pango libs to
3873         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3874
3875         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3876         files
3877         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3878         X11 pc files
3879
3880         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3881         unref from here
3882
3883 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3884
3885         * configure.in:
3886         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3887
3888 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3889
3890         * gtk/gtktextlayout.c
3891         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3892         variable when moving back onto a single line.
3893
3894 2001-01-01  Havoc Pennington  <hp@redhat.com>
3895
3896         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3897
3898         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3899
3900         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3901         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3902
3903 2001-01-01  Havoc Pennington  <hp@redhat.com>
3904
3905         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3906
3907         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3908         GtkTextAttributes
3909
3910         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3911         #40246
3912         (gtk_text_attributes_copy_values): rename from 
3913         gtk_text_attributes_copy
3914         (gtk_text_attributes_copy): a more standard GTK copy function, 
3915         which returns a new object
3916
3917 2001-01-01  Havoc Pennington  <hp@redhat.com>
3918
3919         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3920         
3921         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3922         don't fill in tree_view->priv->selection, kind of an unexpected
3923         side effect
3924
3925         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3926         gtkintl.h
3927         
3928         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3929         gtkintl.h
3930         (gtk_cell_renderer_get_property): remove calls to g_value_init
3931
3932         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3933         gtkintl.h
3934
3935         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3936         and include gtkintl.h
3937         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3938         property names
3939
3940         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3941         GtkTreeSelection
3942         (_gtk_tree_selection_new_from_with_view): rename, return
3943         GtkTreeSelection
3944         (_gtk_tree_selection_set_tree_view): rename with uscore
3945         (gtk_tree_selection_get_selected): fill in the "model" out param
3946         first, so it gets filled in even if we return at the top of the 
3947         function
3948         (gtk_tree_selection_real_select_all): add a comment and an else{}
3949         to clarify this a bit
3950         (gtk_tree_selection_real_unselect_all): add the same else{}
3951
3952         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3953         set_tree_view to have underscore prefixes, move them to the
3954         private header, fix return type of new_with_tree_view
3955         (struct _GtkTreeSelection): mark struct
3956         fields private  
3957
3958         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3959         GtkTreeModelFlags, not a guint
3960         (gtk_tree_path_prev): return gboolean not gint
3961         (gtk_tree_path_up): return gboolean not gint
3962
3963         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3964         return GtkTreeModelFlags, not a guint
3965
3966         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3967         that child model is non-null before unrefing it
3968         (g_value_int_compare_func): make this a qsort compare func, not 
3969         a boolean predicate
3970
3971         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3972         (add -umn to the end), and mark it unimplemented
3973         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3974         I don't see what it's for - doesn't the model always sort itself?
3975         (gtk_tree_model_sort_set_compare): this had the wrong signature
3976
3977         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3978         Fix the docs to say that it destructively replaces existing
3979         attributes (previously said that it added attributes).
3980         (gtk_tree_view_column_set_visible): canonicalize bool before
3981         equality testing. Also, check for realization before
3982         hiding/showing the tree_column->window; if this window could exist
3983         before realization, then it's busted and needs fixing, we can't 
3984         create GDK resources pre-realization. Also, remove
3985         superfluous queue_resize(), since set_size() does that for us.
3986         (gtk_tree_view_column_set_col_type): check realization before 
3987         using tree_column->window
3988
3989         * gtk/gtktreedatalist.c: fix filename in copyright notice
3990
3991 2000-12-31  Havoc Pennington  <hp@pobox.com>
3992
3993         * gtk/gtktextview.c: Rearrange all the
3994         scroll-while-dragging-or-selecting code to be different, not
3995         necessarily better. ;-)
3996         (gtk_text_view_scroll_to_mark): Change this
3997         function to take within_margin as a fraction instead of a pixel
3998         value, and to take alignment arguments (indicating where to align 
3999         the mark inside the visible area)
4000         
4001         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4002         to GtkObject
4003
4004         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4005         behavior so that offsets past the end of the line are not 
4006         allowed, and an offset equal to the line length moves the iterator
4007         to the next line
4008         (gtk_text_iter_set_line_index): make parallel change
4009         (gtk_text_iter_get_bytes_in_line): add this function
4010         
4011         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4012         of byte indexes off the end of the line; byte index at the end of
4013         the line now returns FALSE and doesn't fill in the requested
4014         values, byte index past the end of the line is an error.  Also,
4015         don't allow -1 offset anymore, since its meaning is unclear.
4016
4017         This change exposes some bug in visual cursor motion, where we
4018         end up with a huge invalid byte index; needs fixing. Symptom of 
4019         bug is a crash when you hit up arrow.
4020         
4021         (_gtk_text_line_char_locate): match the change to byte_locate
4022
4023         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4024         from start of line properly. fixes bug reported by Mikael
4025         Hermansson where backspace would delete all text before the
4026         cursor.
4027
4028 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4029
4030         * gdk/win32/gdkwindow-win32.c
4031         (gdk_window_impl_win32_get_visible_region): New function, as in
4032         the X11 backend.
4033         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4034         instead of duplicating the same code here.
4035
4036         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4037         GDK_COLORMAP macro.
4038
4039         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4040         destroy function.
4041         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4042         access that.
4043
4044         * gtk/gtk.def: Update.
4045
4046         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4047
4048 2000-12-30  Havoc Pennington  <hp@pobox.com>
4049
4050         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4051         colormap on input only windows, to avoid special cases all over
4052         the code for these windows.
4053
4054 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4055
4056         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4057         we are on a palettized display ("PseudoColor" in X11), as the code
4058         for that doesn't work anyway, and never has.
4059
4060 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4061
4062         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4063         Don't use isprint() for chars > 255.
4064
4065 2000-12-21  Havoc Pennington  <hp@redhat.com>
4066
4067         * tests/testtreeview.c: more work
4068
4069 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4070
4071         * docs/README.linux-fb:
4072         Update the docs to the new pangoft2 way.
4073
4074 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4075
4076         * configure.in:
4077         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4078         pango version.
4079         Remove modules/linux-fb/Makefile.
4080
4081         * gdk/linux-fb/gdkdrawable-fb2.c:
4082         Render glyphs using freetype.
4083
4084         * gdk/linux-fb/gdkfb.h:
4085         Add new fb-specific functions needed for managing windows.
4086
4087         * gdk/linux-fb/gdkmain-fb.c:
4088         Remove gdk_font_init/fini() calls.
4089
4090         * gdk/linux-fb/gdkpango-fb.c:
4091         Remove old implementation. Use pangoft2 instead.
4092
4093         * gdk/linux-fb/gdkprivate-fb.h:
4094         Remove PangoFBFont and related stuff.
4095
4096         * gdk/linux-fb/gdkwindow-fb.c:
4097         Implement drawable->get_visible_region.
4098         Implement support for _gdk_window_set_child_handler () and
4099         _gdk_window_get_decorations().
4100
4101         * modules/Makefile.am:
4102         Remove linux-fb subdir.
4103
4104         * modules/linux-fb/*:
4105         Removed all.
4106         
4107 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4108
4109         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4110         calls, as they are no longer needed.
4111
4112         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4113         
4114         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4115         figure out how to emit a signal on an interface.
4116
4117 2000-12-20  Havoc Pennington  <hp@redhat.com>
4118
4119         * tests: new directory to contain tests, gtk/test* should move
4120         here sometime (with appropriate on-cvs-server hackery)
4121
4122         * tests/testtreeview.c, tests/Makefile.am: a test
4123         
4124         * configure.in (AC_OUTPUT): add tests/Makefile
4125
4126         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4127         and "invisible_set" which were missing
4128
4129         * gtk/gtkrbtree.h: some cheesy indentation fix
4130         
4131 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4132
4133         * gtk/gtkinvisible.c (gtk_invisible_realize):
4134         Attach the style to the window so that the style it is not
4135         leaked when unrealizing the window.
4136
4137 2000-12-18  Havoc Pennington  <hp@redhat.com>
4138
4139         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4140         begin/end user action where appropriate
4141         (gtk_text_view_commit_handler): add begin/end user action
4142
4143         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4144         bracket interactive operations with begin/end user action pair.
4145         
4146         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4147         "interactive" arg from insert_text and delete_text signals.
4148         Add begin_user_action, end_user_action signals
4149         (gtk_text_buffer_begin_user_action): 
4150         (gtk_text_buffer_end_user_action): New functions to delimit 
4151         a user-visible action
4152
4153         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4154         signals.
4155         
4156 2000-12-18  Havoc Pennington  <hp@redhat.com>
4157
4158         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4159         was pretty non-working.
4160
4161         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4162         by passing the length to g_utf8_validate().
4163
4164 2000-12-16  Havoc Pennington  <hp@pobox.com>
4165
4166         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4167         Port to GObject, can go back in gdk-pixbuf after setting up 
4168         a gdk-pixbuf-marshal.h header over there.
4169
4170         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4171         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4172         args
4173         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4174         set
4175         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4176         here, do it when we create the buttons later
4177         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4178         (gtk_tree_view_map): paranoia checks that column->button is shown 
4179         and unmapped
4180         (gtk_tree_view_size_request): only request visible children.
4181         Move header size calculation in here, for cleanliness, and 
4182         to maintain invariants for child widgets if we eventually 
4183         let users set different children inside the buttons
4184         (gtk_tree_view_map_buttons): factor out code to map buttons,
4185         since it was being called several times
4186         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4187         windows instead of just moving them; their height may change 
4188         if we allow random widgets in there, or the theme changes.
4189         (gtk_tree_view_size_allocate): move button size allocation 
4190         above emitting the scroll signals, to ensure a sane state when we
4191         hit user code
4192         (gtk_tree_view_button_release): remove queue_resize after
4193         tree_view_set_size(), set_size() will handle any resize queuing
4194         that's needed
4195         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4196         draw_focus goo
4197         (gtk_tree_view_focus): use gtk_get_current_event() and
4198         gdk_event_get_state()
4199         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4200         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4201         semicolon
4202         (gtk_tree_view_create_button): show the button here
4203         (gtk_tree_view_button_clicked): actually emit the clicked signal
4204         on the column
4205         (_gtk_tree_view_set_size): return right away if the size is
4206         unchanged, as a cheesy optimization
4207         (gtk_tree_view_setup_model): rename set_model_realized to 
4208         setup_model to match the flag that indicates whether we've 
4209         called it
4210         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4211         exist, because set_scroll_adjustment does that and it shouldn't
4212         matter what order you call these in
4213         (gtk_tree_view_get_vadjustment): ditto
4214         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4215         for paranoia
4216         (gtk_tree_view_set_headers_visible): call
4217         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4218         (gtk_tree_view_append_column): clarify whether the return value
4219         is the count of columns before or after, and do the increment 
4220         separately from the return statement so you can tell from the code.
4221         (gtk_tree_view_remove_column): ditto
4222         (gtk_tree_view_insert_column): ditto
4223         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4224         outside the existing range, the docs say that outside-range
4225         columns are allowed, so we handle them as documented. (Presumably
4226         this allows a nice loop with column != NULL as test.)
4227         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4228         mean (left/right/center etc.).
4229         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4230         (gtk_tree_view_expand_row): add docs
4231         (gtk_tree_view_collapse_row): add docs
4232
4233         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4234         function to emit the clicked signal on a column
4235         
4236         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4237         state of an event
4238         (gdk_event_get_time): don't treat GDK_SCROLL 
4239         as a button event, remove default case from switch so gcc 
4240         will whine if we don't explicitly handle all event types
4241
4242         * gtk/gtktreeselection.h: added some FIXME 
4243         
4244         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4245         "columns" to "n_columns" and "column" to "columns" for clarity
4246
4247 2000-12-16  Havoc Pennington  <hp@pobox.com>
4248         
4249         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4250         stuff. This should make e.g. the delete key work again in the
4251         text widget...
4252         (gtk_text_iter_forward_cursor_positions): handle negative count
4253         (gtk_text_iter_backward_cursor_positions): handle negative count
4254         (gtk_text_iter_forward_word_ends): handle negative count
4255         (gtk_text_iter_backward_word_starts): handle negative count
4256
4257         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4258         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4259         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4260         GObject. No doubt will cause breakage.
4261
4262         * demos/gtk-demo/textview.c: remove hacks around
4263         non-GObject-ification of the text objects
4264
4265         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4266         the text tag
4267         
4268 2000-12-14  Havoc Pennington  <hp@pobox.com>
4269
4270         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4271         that we have Xrender
4272
4273 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4274
4275         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4276         Add two virtualized functions gdk_drawable_get_clip_region - to
4277         get the clip region when drawing.
4278         
4279         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4280         use invalidate_region.
4281
4282         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4283         region.
4284
4285         * acconfig.h configure.in: Check for Xft. For now, assume
4286         that if Xft is found, Pango was compiled with Xft support
4287         as well.
4288
4289         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4290         gdk_colormap_query_color().
4291         
4292         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4293         with Xft if appropriate.
4294
4295         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4296         a pangoxft context if we have XFT and the environment
4297         variable GD_USE_XFT is set.
4298         
4299         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4300         and also possibly an XftDraw structure.
4301
4302         * gtk/gtkfontsel.c: Handle the case where the font from the
4303         style doesn't match any of the fonts a bit better.
4304         
4305         * gtk/testgtk.c: Add tabs between directional segments for
4306         hebrew/arabic test. (Not really necessary, just a little
4307         prettier.)
4308
4309 2000-12-14  Havoc Pennington  <hp@redhat.com>
4310
4311         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4312         reading a file
4313
4314 2000-12-14  Havoc Pennington  <hp@redhat.com>
4315
4316         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4317         unused call to get_last_line()
4318
4319         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4320         here until boxed is working (and maybe after that - we should
4321         really not gratuitously break old code)
4322
4323         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4324         specific types for font_desc and tabs args, move them to
4325         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4326         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4327
4328         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4329         use GTK_TYPE_POINTER for signal signatures as a hack-around
4330
4331         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4332         PangoTabArray
4333
4334         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4335         make static
4336         (line_display_index_to_iter): make static
4337
4338         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4339         to marshal a string not a boxed
4340
4341         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4342
4343         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4344         since the UTF-8 isn't validated yet
4345
4346         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4347         lines to end in '\n'
4348         
4349         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4350         forward_to_delimiters, and grapheme boundaries
4351         (gtk_text_view_delete_from_cursor): properly handle non-newline
4352         delimiters, and grapheme boundaries
4353
4354         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4355         to gtk_text_iter_forward_to_delimiters, and make it work properly
4356         if empty lines end with a character other than '\n'
4357
4358         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4359         position
4360
4361 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4362
4363         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4364
4365         * gtk/gtk.def
4366         * gdk/gdk.def: Update.
4367
4368         * gdk/win32/gdkmain-win32.c
4369         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4370         gdkmain-win32.c here.
4371
4372         * gdk/win32/makefile.mingw.in (all): No need to make
4373         gdk-win32res.o here, the makefile one step up will call us to make
4374         it.
4375
4376         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4377         gdkkeys-win32.
4378
4379         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4380
4381         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4382         call to g_source_add().
4383
4384         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4385         leak. Thanks to Andreas Kemnade.
4386
4387 2000-12-13  Havoc Pennington  <hp@pobox.com>
4388
4389         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4390
4391         * gtk/gtktext*.[hc]: update accordingly
4392         
4393 2000-12-13  Havoc Pennington  <hp@pobox.com>
4394
4395         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4396         header file
4397
4398         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4399
4400 2000-12-13  Alex Larsson  <alexl@redhat.com>
4401
4402         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4403         Add support for ps2 intellimouse.
4404
4405         * gdkkeyboard-fb.c:
4406         Move shift-F1 repaint handling to xlate handler only.
4407         
4408         * docs/README.linux-fb:
4409         Add imps2 to docs.
4410         Document the new refresh keys.
4411         
4412 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4413
4414         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4415
4416         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4417         ::position and ::padding.
4418
4419         * gtk/gtkcontainer.c: make ::border_width an INT property.
4420
4421         * gtk/gtkpacker.c: make ::position an INT property.
4422
4423         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4424         guard against NULL h/v scrollbars, since this is used at construction
4425         time.
4426
4427         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4428         internal gtk_clist_constructor().
4429
4430         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4431         gtk_ctree_constructor().
4432
4433         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4434         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4435
4436         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4437         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4438
4439         * gtk/gtkwidget.[hc]:
4440         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4441         and gtk_widget_get().
4442         (gtk_widget_new): use g_object_new_valist().
4443         (gtk_widget_set): use g_object_set_valist().
4444
4445         * gtk/gtkobject.[hc]:
4446         removed gtk_object_arg_get_info(), gtk_object_getv(),
4447         gtk_object_query_args(), gtk_object_newv(),
4448         gtk_object_class_add_signals(),
4449         gtk_object_class_user_signal_new(),
4450         gtk_object_class_user_signal_newv(),
4451         gtk_object_arg_set(), gtk_object_arg_get(),
4452         gtk_object_args_collect(),
4453         gtk_object_default_construct(),
4454         gtk_object_constructed(),
4455         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4456         removed nsignals, signals and n_args members from GtkObjectClass.
4457         (gtk_object_new): use g_object_new_valist().
4458         (gtk_object_set): use g_object_set_valist().
4459         (gtk_object_get): use g_object_get_valist().
4460         
4461         * gtk/gtkcompat.h: define gtk_object_default_construct().
4462         
4463         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4464         g_object_new().
4465
4466         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4467         fucntions, cleaned up method assignments (make sure your structures
4468         are setup properly before calling out). removed all GTK_CONSTRUCTED
4469         hacks ;)
4470
4471 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4472
4473         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4474         off-by-one error in checks. (Dave Lambert)
4475
4476 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4477
4478         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4479         Don't free gdk_fb_keyboard twice.
4480
4481 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4482
4483         * gtk/testgtk.c:
4484         (create_tooltips): 
4485         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4486         use GObject swapped_signal:: properties instead.
4487
4488         * gtk/gtkcellrenderertoggle.c: 
4489         * gtk/gtkcellrenderertextpixbuf.c: 
4490         * gtk/gtkcellrenderertext.c: 
4491         * gtk/gtkcellrendererpixbuf.c: 
4492         * gtk/gtkcellrenderer.c:
4493         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4494         missing warnings for invalid property ids, install properties
4495         with g_object_class_install_property() now.
4496         
4497         * gtk/gtksignal.c:
4498         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4499         
4500 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4501         
4502         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4503         to determine if a window is the focus widget within
4504         its toplevel.
4505
4506         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4507         to be boolean.
4508
4509         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4510         of the case where the container CAN_FOCUS to here instead
4511         of having it in each individual move-the-focus place.
4512
4513         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4514         focusing to be geometric in a much more obvious sense. Arrowing
4515         around is still non-intuitive because it isn't perfect and
4516         because entries, etc, grab the arrow keys, but it at least
4517         usually will do what you expect now.
4518         
4519         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4520         file.
4521
4522         * gtk/gtknotebook.c: Change tabs to be a single item in
4523         the focus chain. Make movement of focus on tabs with arrow
4524         keys wrap around.
4525         
4526         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4527         CHECK_FIND_CHILD macro to give informative error messages
4528         instead of silent returns.
4529
4530         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4531         flag since we handle GdkReturn on the tabs.
4532
4533         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4534         windows rather than sending expose events directly.
4535
4536         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4537         definition for GtkNotebookPage into .c file, since it is private.
4538
4539         * gtk/testgtk.c (create_notebook): Add option for 
4540         testing borderless notebook.
4541
4542         * gtk/testgtk.c (page_switch): Removed egregious poking
4543         around in GTK+ internals.
4544
4545         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4546
4547         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4548         properly through gtk_clist_focus. Make the title headers a
4549         single item in the tab-focus chain, and make left-right wrap
4550         around.
4551
4552         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4553         focus method so that wrapping around works properly.
4554
4555         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4556         that is handled for the widget now. 
4557
4558 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4559
4560         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4561         widgets as TOPLEVEL.
4562
4563         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4564         TOPLEVEL widgets are containers.
4565
4566         * gtk/gtkinvisible.h: Remove useless include.
4567
4568 2000-12-11  Havoc Pennington  <hp@redhat.com>
4569
4570         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4571         Handle chopping off \r\n and 0x2029 in addition to \n before
4572         passing to PangoLayout
4573
4574         * gtk/gtkimcontextsimple.c
4575         (gtk_im_context_simple_get_preedit_string): 
4576         return an empty string if no match is pending
4577
4578         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4579         assertion that the returned preedit string was sane
4580
4581         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4582         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4583         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4584
4585 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4586
4587         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4588         Fix up finalizer to chain to its parent.
4589
4590 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4591
4592         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4593         Clearified the difference between the keyboard types. Wrote a note
4594         about the magic sysrq key to get out of raw mode.
4595
4596 2000-12-09  James Henstridge  <james@daa.com.au>
4597
4598         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4599         member to hold masks for detecting the start of a protocol packet.
4600         (mouse_devs): add packet start masks for ps2 and ms device types.
4601         Left the mask for fidmour blank, as I have no idea what it should
4602         be.
4603         (handle_mouse_io): skip bytes until we get to the start of a
4604         packet.  My Logitech mouse seems to be passing an extra NULL pad
4605         byte, and GPM does a similar thing here.
4606         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4607         this is the ms mouse driver.
4608         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4609         completely broken except for button1.  It was checking the wrong
4610         bit in the packet for the status of the right mouse button, and
4611         wrongly assuming right == button2 rather than 3.  I fixed that and
4612         also added support for middle button (button2).
4613
4614 2000-12-08  Havoc Pennington  <hp@redhat.com>
4615
4616         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4617         that cause a segfault on text insertion
4618
4619         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4620         warning
4621
4622         * gtk/gtktextiter.c (test_log_attrs): use
4623         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4624
4625         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4626         Get log attrs for a line, using a cache stored on the buffer
4627         
4628         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4629         reported by Jeff Franks
4630
4631 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4632
4633         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4634         /dev/ttyS0 -> /dev/mouse
4635
4636 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4637
4638         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4639         Added dummy gdk_fontset_load.
4640
4641 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4642
4643         * docs/README.linux-fb:
4644         * docs/Makefile.am:
4645         Initial GtkFB docs.
4646         
4647         * gdk/linux-fb/Makefile.am:
4648         Define GDK_DATA_PREFIX.
4649
4650         * gdk/linux-fb/gdkmain-fb.c:
4651         Fix typo.
4652         Change default display to /dev/fb0.
4653
4654         * gdk/linux-fb/gdkpango-fb.c:
4655         Add $(prefix)/share/fonts/ to font path.
4656         
4657 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4658
4659         * gdk/linux-fb/gdkkeyboard-fb.c:
4660         New file containing the abstracted keyboard driver. Most code
4661         taken from gdkinput-ps2.c
4662
4663         * gdk/linux-fb/gdkinput-ps2.c:
4664         Removed file.
4665         
4666         * gdk/linux-fb/Makefile.am:
4667         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4668
4669         * gdk/linux-fb/gdkcolor-fb.c:
4670         display->fb was renamed to display->fb_fd.
4671
4672         * gdk/linux-fb/gdkcursor-fb.c:
4673         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4674
4675         * gdk/linux-fb/gdkinput.c:
4676         Moved gdk_input_init here from gdkinput-ps2.c
4677
4678         * gdk/linux-fb/gdkmain-fb.c:
4679         display->fb was renamed to display->fb_fd.
4680         Now the tty and the console is opened here instead
4681         of in the keyboard driver. Also check GDK_VT to see what
4682         tty to open.
4683         Move gdk_beep () here from gdkinput-ps2.c
4684         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4685
4686         * gdk/linux-fb/gdkmouse-fb.c:
4687         Add header.
4688         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4689         Return correct keyboard modifiers.
4690         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4691
4692         * gdk/linux-fb/gdkprivate-fb.h:
4693         Add tty and vt info to display.
4694         Add orignal modeinfo storage to display
4695         Update global functions
4696
4697         * gdk/linux-fb/gdkwindow-fb.c:
4698         Added gdk_fb_window_find_focus().
4699         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4700
4701 2000-12-07  Havoc Pennington  <hp@pobox.com>
4702
4703         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4704         function, noticed by Alex
4705
4706 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4707
4708         * configure.in: Detect freetype properly
4709
4710         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4711         above.
4712
4713 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4714
4715         * gdk/linux-fb/Makefile.am:
4716         Add gdkmouse-fb.c
4717         
4718         * gdk/linux-fb/gdkmouse-fb.c:
4719         New file. Abstracted the mouse drivers a bit.
4720
4721         * gdk/linux-fb/gdkcursor-fb.c:
4722         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4723
4724         * gdk/linux-fb/gdkinput-ps2.c:
4725         Removed old mouse handling code. Moved cursor handling code
4726         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4727         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4728         gdk_mouse_get_info.
4729
4730         * gdk/linux-fb/gdkmain-fb.c:
4731         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4732
4733         * gdk/linux-fb/gdkprivate-fb.h:
4734         Removed public gdk_fb_find_common_ancestor, added and renamed
4735         functions for the new mouse handling code.
4736
4737         * gdk/linux-fb/gdkwindow-fb.c:
4738         Moved gdk_fb_window_send_crossing_events here. added global
4739         variable gdk_fb_window_containing_pointer. made
4740         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4741         renamed to gdk_mouse_get_info.
4742
4743 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4744
4745         * gdk/linux-fb/gdkevents-fb.c:
4746         Update to match latest gmain/gsource changes.
4747
4748         * gdk/linux-fb/gdkinput-ps2.c:
4749         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4750         it links. Will be implemented later.
4751
4752 2000-12-03  Havoc Pennington  <hp@pobox.com>
4753
4754         * gdk/Makefile.am: add gdkkeys.[hc]
4755
4756         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4757         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4758
4759         * acconfig.h, configure.in: add checks and command line options
4760         for XKB
4761
4762         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4763         
4764         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4765         and group in the key event
4766
4767         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4768         field with the low-level hardware key code, and a group
4769         field with the keyboard group
4770
4771         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4772         and declare a couple globals used for keymap handling
4773         
4774         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4775         hold down Shift-Control and type a hex number to get a Unicode 
4776         character corresponding to the hex number
4777         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4778         (return bytes not chars)
4779
4780 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4781
4782         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4783         to avoid waste on 64-bit platforms.
4784
4785 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4786
4787         * INSTALL: Fix link to PNG home, remove reference
4788         to fribidi.
4789
4790         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4791         
4792         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4793         tested.)
4794
4795         * gtk/gtkcheckmenuitem.c: Permanently turn on
4796         always_show_toggle.
4797
4798         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4799         be NULL. (Vladimir Klebanov, #26545)
4800
4801         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4802         some signed/unsigned comparison problems. (#6510,
4803         David Kaelbling)
4804
4805         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4806         return type to boolean (Oskar Liljeblad, #18648)
4807
4808 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4809
4810         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4811         Remove bogus colormap setting.
4812
4813 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4814
4815         * gdk/linux-fb/gdkcolor-fb.c:
4816         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4817
4818         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4819         Must set colormap.
4820         
4821 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4822
4823         * docs/tutorial/gtk-tut.sgml: DND updates
4824
4825 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4826
4827         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4828         Remove old debug g_warning().
4829         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4830         or an implementation, just pass the implementation to draw_drawable_2.
4831         
4832         * gdk/linux-fb/gdkprivate-fb.h:
4833         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4834
4835         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4836         clear and invalidate area when window is destroyed.
4837         (send_map_events): Remove old commented out code.
4838
4839 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4840
4841         * gdk/linux-fb/gdkpango-fb.c:
4842         Use italic instead of oblique in font aliases.
4843         
4844         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4845         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4846         other unsupported functions.
4847
4848 2000-12-04  Havoc Pennington  <hp@redhat.com>
4849
4850         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4851
4852         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4853
4854         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4855
4856         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4857         hack to avoid infinite loops (synthetic expose event) - 
4858         Owen has more appropriate fixes in a branch he'll check in later.
4859
4860         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4861         separator, CR, and CRLF as line ends
4862
4863         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4864         into lines using pango_find_paragraph_boundary(); other bits of
4865         the widget are still going to be broken if the boundary isn't '\n'
4866         though
4867
4868 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4869
4870         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4871         multiply.
4872
4873         * gdk/linux-fb/gdkpango-fb.c:
4874         Copied some 26.6 scaling macros from pango to clean up the rounding.
4875         (pango_fb_font_get_glyph_info): Correct sign on x value.
4876
4877         * gdk/linux-fb/gdkprivate-fb.h:
4878         Removed unreferenced external functions.
4879
4880         * modules/linux-fb/Makefile.am: Use ` instead of '.
4881
4882         * modules/linux-fb/basic.c:
4883         Remove dead code. In particular the dummy lang engine which broke all
4884         pango layouts in GtkFB. Don't include tables-big.i anymore.
4885
4886         * modules/linux-fb/tables-big.i:
4887         Upgrade to latest version from pango. Left for reference, basic_ranges
4888         moved to basic.c.
4889         
4890 2000-12-04  Havoc Pennington  <hp@redhat.com>
4891
4892         Fix bugs Alex found:
4893         
4894         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4895         to "draw"
4896
4897         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4898
4899         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4900
4901         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4902         implementation in here, apparently the expose() implementation was
4903         dead code.
4904
4905 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4906
4907         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4908         Return positive descent.
4909
4910 2000-12-02  Havoc Pennington  <hp@pobox.com>
4911
4912         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4913         method and signal
4914         
4915         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4916         calls gdk_window_process_updates() to push the exposes through
4917         (gtk_widget_class_init): No more draw signal, no
4918         gtk_widget_real_draw()  
4919         
4920         * gtk/gtkbin.c (gtk_bin_draw): remove
4921
4922         * gtk/gtkbox.c (gtk_box_draw): remove
4923
4924         * gtk/gtkbutton.c (gtk_button_draw): remove
4925
4926         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4927
4928         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4929
4930         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4931
4932         * gtk/gtkclist.c (gtk_clist_draw): remove
4933
4934         * gtk/gtkentry.c (gtk_entry_draw): remove
4935
4936         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4937
4938         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4939
4940         * gtk/gtkframe.c (gtk_frame_draw): remove
4941
4942         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4943
4944         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4945
4946         * gtk/gtklayout.c (gtk_layout_draw): remove
4947
4948         * gtk/gtklist.c (gtk_list_draw): remove
4949
4950         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4951
4952         * gtk/gtkmenu.c (gtk_menu_draw): remove
4953
4954         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4955
4956         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4957
4958         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4959
4960         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4961
4962         * gtk/gtkpacker.c (gtk_packer_draw): remove
4963
4964         * gtk/gtkrange.c (gtk_range_draw): remove
4965
4966         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4967
4968         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4969
4970         * gtk/gtktable.c (gtk_table_draw): remove
4971
4972         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4973
4974         * gtk/gtktext.c (gtk_text_draw): remove
4975
4976         * gtk/gtktextview.c (gtk_text_view_draw): remove
4977
4978         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4979
4980         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4981
4982         * gtk/gtktree.c (gtk_tree_draw): remove
4983
4984         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4985
4986         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4987
4988         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4989
4990         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4991
4992         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4993
4994         * gtk/gtkwindow.c (gtk_window_draw): remove
4995
4996 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4997
4998         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4999         a GtkToggleButton is both insensitive and active, it was being
5000         drawn by the GtkButton draw handler which doesn't check the
5001         state. Now it's calling gtk_toggle_button_paint instead.
5002         
5003 2000-12-01  Havoc Pennington  <hp@redhat.com>
5004
5005         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5006         dangling pointers to the appearance attributes from the 
5007         line display
5008
5009         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5010         width/height to mean "full width/height of drawable"
5011
5012         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5013         click to select word/line
5014         
5015         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5016         when getting log attrs. Get a slice, so that pixmaps and stuff
5017         are properly handled.
5018
5019         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5020         paste into the selection (replaces selection now, previously
5021         crashed or added to selection). Reveals longstanding btree bug -
5022         select multiple lines, middle-click on the selection, boom. This
5023         isn't related to my changes though.
5024
5025         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5026         PangoLogAttrs changes
5027         (gtk_entry_move_backward_word): ditto
5028
5029         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5030         functions return bool whether the iter moved onto a
5031         dereferenceable position.
5032  
5033         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5034         functions for motion in terms of display lines.
5035
5036         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5037         get the buffer a mark is inside
5038         
5039 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5040
5041         * gdk/linux-fb/Makefile.am:
5042         * modules/linux-fb/Makefile.am:
5043         Freetype 2 final uses freetype-config
5044
5045         * gdk/linux-fb/gdkpango-fb.c:
5046         Upgrade to use Freetype 2 final.
5047         More flexible support for font aliases, this also fixes a bug with
5048         GtkFontSelector, as the aliases must be visible in the font/family list,
5049         or GtkFontSelector reads uninitialized memory.
5050
5051 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5052
5053         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5054         XGetIMValues to properly terminate variable argument list, and do
5055         NULL return check for ic_values and xim_styles.
5056
5057         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5058         Restore preedit state after XmbResetIC().
5059         
5060         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5061         XvaCreateNestedList() should take XvaNestedList, but not
5062         XvaNestedList*.
5063
5064         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5065         preedit_draw_callback, preedit_caret_callback): Match
5066         "preedit-changed" signal name to "preedit_changed" to be
5067         consistent to the spec.
5068
5069         * gtk/gtkimcontextsimple.c (check_table):
5070         Match "preedit-changed" to "preedit_changed" to be consistent
5071         to the spec.
5072
5073 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5074
5075         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5076         gc->clip_region == NULL>
5077
5078 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5079
5080         Changes by Hans Breuer:
5081         
5082         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5083         Dont't use negative width and height as max_hints. This fixes
5084         Owen's recent testgtk changes for win32.
5085
5086         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5087         gdk_win32_hdc_release): These are exported and may be called with
5088         other drawable types than our GdkDrawableImplWin32 (?).
5089
5090         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5091         so always #define USE_BACKING_STORE.
5092
5093         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5094         of printf for debugging output.
5095
5096         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5097         
5098         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5099
5100         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5101         declaration.
5102
5103         * gtk/gtktexttypes.h: Ditto.
5104
5105         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5106         (GDK_VoidSymbol) also if in case of arg check failure.
5107
5108         * gtk/gtkimcontextsimple.c
5109         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5110         position to the pointer, but to the variable it points to.
5111
5112         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5113
5114         * gtk/gtk.def: Updates.
5115
5116 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5117
5118         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5119         GTK_TYPE_TREE_MODEL.
5120
5121 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5122
5123         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5124         Set the size of the font from the description.
5125         (gdk_text_width): Gross hack that calculates the width
5126         of text by text_length * size/2. This is necessary because
5127         GtkLabel does some ugly gtk_string_width call to calculate
5128         an good size.
5129         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5130
5131 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5132
5133         * docs/tutorial/gtk-tut.sgml: DND updates
5134
5135 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5136
5137         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5138         If you pass width or height == 0 to gdk_window_clear_area they
5139         should be calculated from the window size.
5140
5141 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5142
5143         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5144         a grab, but no grab-cursor, use the cursor from the grabbed
5145         window. (gdk_fb_window_send_crossing_events): Send normal
5146         enter/leave notifications if grab and owner_events == TRUE.
5147
5148 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5149
5150         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5151         Do implicit button grabs, even if the window doesn't
5152         want the event.
5153         (gdk_fb_window_send_crossing_events): If there is a
5154         grab, only the grabbed window gets normal enter/leave
5155         notifications. On ungrab go from grabbed window to current.
5156         Don't send any notification to b when propagating from c -> b.
5157         If setting a grab on window, don't set prev_window.
5158         (handle_mouse_input): Send enter/leave events to the window the
5159         mouse is over, not the grabbed one.
5160         
5161 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5162
5163         * gdk/gdkregion-generic.c: Zap warning.
5164         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5165         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5166
5167 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5168
5169         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5170         The cursor should be hidden if it is part of either the
5171         source or destination region. Not only if it is in both.
5172         (gdk_window_set_transient_for): Silence warnings.
5173
5174 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5175
5176         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5177         The default mode in X is Pie Arcs, therefore that is
5178         what Gtk+ uses.
5179
5180 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5181
5182         * gdk/linux-fb/gdkinput-ps2.c:
5183         Implement correct EnterNotify/LeaveNotify:
5184         (gdk_fb_window_send_crossing_events): New function that sends
5185         all GdkCrossingEvents from the last mouse-window to the specified
5186         destination.
5187         (gdk_fb_window_visibility_crossing): Removed function.
5188         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5189         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5190         instead of gdk_window_get_pointer() for better readability.
5191
5192         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5193         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5194
5195         * gdk/linux-fb/gdkprivate-fb.h:
5196         removed gdk_fb_window_visibility_crossing, added
5197         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5198
5199         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5200         New function that finds the least common ancestor of two windows.
5201         (gdk_window_show, gdk_window_hide):
5202         Use gdk_fb_window_send_crossing_events.
5203         (gdk_fb_window_move_resize): Send configure events to toplevel
5204         windows. Use gdk_fb_window_send_crossing_events.
5205
5206 2000-11-27  Havoc Pennington  <hp@redhat.com>
5207
5208         * gtk/gtkprivate.h (enum): Remove a trailing comma
5209
5210 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5211
5212         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5213         the "changed" callback of the adjustment.  We need to redraw the
5214         spin button's arrows when the adjustment's range changes.
5215         (adjustment_changed_cb): Draw the arrows.
5216         (gtk_spin_button_value_changed): Draw the arrows.
5217
5218 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5219
5220         * gdk/linux-fb/gdkselection-fb.c:
5221         Initial selection implementation.
5222
5223         * gtk/gtkselection.c:
5224         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5225         requestor in gtk_selection_request.
5226         
5227         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5228         Added gdk_selection_property atom.
5229
5230         * gdk/linux-fb/gdkprivate-fb.h:
5231         Export _gdk_selection_window_destroyed.
5232         Removed mask_off_x/y from GdkCursorPrivateFB.
5233         Removed hbearing, added top, left to PangoFBGlyphInfo.
5234
5235         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5236         Call _gdk_selection_window_destroyed
5237         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5238         the root window has been created.
5239         (static_dx_hack, static_dy_hack, compare_draw_rects,
5240         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5241         in region. They are already sorted. Instead just traverse them in
5242         reverse if draw_direction < 0.
5243         
5244         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5245         Double-clicks must be sent after the normal button_press.
5246         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5247         
5248         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5249         Pass _gdk_fb_screen_gc instead of NULL.
5250
5251         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5252         Initialize gdk_selection_property.
5253         (gdk_event_make): Remove unused code.
5254
5255         * gdk/linux-fb/gdkcursor-fb.c:
5256         Make the pixmap for the cursor the same size as the mask. Also remove
5257         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5258         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5259         Now the whole cursor is visible.
5260
5261         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5262         Fix bug where xdest+height instead of ydest+height was used
5263         to calculate if the source and dest overlapped. This fixes the
5264         redraw bug when the main window in testgtk was scrolled when
5265         partially covered by a tall window.
5266         Copy rectangles in region in order depending on draw_direction.
5267         Also moved the draw_direction flipping of start_y and end_y into
5268         the gc functions, as this might not be what all of them want.
5269         (gdk_fb_draw_lines): Support dashed lines.
5270         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5271         so that the text is positioned correctly (was 1 pixel high).
5272
5273         gdk/linux-fb/gdkgc-fb.c:
5274         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5275         all lines were drawn a pixel to short. Also checked the default of
5276         the rest of the values, and they're the same as X now.
5277
5278         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5279         Clean up pixel positioning of the glyphs. Just use bgy->top and
5280         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5281         to all divisions to get correct rounding behaviour.
5282
5283         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5284         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5285         Moved start_y/end_y flip into draw_drawable implementations.
5286         Flip also x rendering when draw_direction < 0.
5287         Remove unneccesary multiply with draw_direction.
5288
5289 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5290
5291         * docs/tutorial/gtk-tut.sgml:
5292           - get rid of gtk_toggle_button_toggled FUD
5293           - start DND section - needs work - based on:
5294                 http://wolfpack.twu.net/docs/gtkdnd/
5295
5296 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5297
5298         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5299         Correct calculation of font metrics. Now GtkEntrys have sane
5300         size.
5301
5302 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5303
5304         * gdk/gdktypes.h:
5305         Add new type GdkSpan
5306         
5307         * docs/reference/gdk/gdk-sections.txt,
5308         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5309         gdk/gdkregion.h:
5310         Implement and document gdk_region_spans_intersect_foreach.
5311
5312         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5313         Add new file gdkrender-fb.c which contains all core
5314         rendering code.
5315         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5316         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5317         (optimized rectangle fillers).
5318
5319         * gdk/linux-fb/gdkdrawable-fb2.c:
5320         Move all rendering code to gdkrender-fb.c.
5321         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5322         Use the new span intersection functions in gdk_fb_fill_spans.
5323         gdk_fb_draw_rectangle() clips filled rectangles and calls
5324         gc->fill_rectangle with the result.
5325         gdk_fb_fill_spans() gets extra argument "sorted".
5326
5327         * gdk/linux-fb/gdkevents-fb.c:
5328         Remove unused includes and defines.
5329         New function gdk_fb_get_time() to get correct time for events.
5330
5331         * gdk/linux-fb/gdkinput-ps2.c:
5332         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5333         Make sure to set the time of all events.
5334
5335         * gdk/linux-fb/gdkmain-fb.c:
5336         Use gdk_fb_get_time ().
5337
5338         * gdk/linux-fb/gdkprivate-fb.h:
5339         New virtual GC calls: fill_span & fill_rectangle.
5340         Export gdk_fb_get_time().
5341         gdk_fb_fill_spans() gets extra argument "sorted".
5342
5343         * gdk/linux-fb/mi*.c:
5344         Use GdkSpan instead of GdkRectangle.
5345         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5346         from XFree 4 source)
5347         
5348 2000-11-22    <jrb@redhat.com>
5349
5350         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5351         reversing the order in an if statement will do.  Doing so managed
5352         to make the treemodelsort half work.  Other half will follow after
5353         I get the insert function fully fixed.
5354
5355 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5356         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5357         more than 2 bits. Besides, I need to implement an evil hack. :)
5358
5359 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5360
5361         * docs/tutorial/gtk-tut.sgml: minor corrections
5362
5363 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5364         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5365           convert to and from relative path's and iters.
5366
5367         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5368           testing sorting functions a bit better.  Currently broken -- will
5369           fix in morning.
5370
5371 2000-11-20  Havoc Pennington  <hp@redhat.com>
5372
5373         * gtk/gtkwidget.c: Documented a bunch of functions in here
5374         (gtk_widget_realize): Warn if you try to realize
5375         a widget with no parent that isn't a toplevel
5376         (gtk_widget_intersect): return a gboolean
5377
5378 2000-11-20  Havoc Pennington  <hp@redhat.com>
5379
5380         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5381         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5382         scrolling to be implemented in GDK to finish. Also, right now
5383         we just size_allocate all children on every layout change,
5384         which is pretty lame. Test commented out of testtext.c, 
5385         until it works better.
5386
5387 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5388
5389         * gdk/linux-fb/gdkdrawable-fb2.c:
5390         Removed unused arguments from gdk_fb_drawable_get_pixel().
5391
5392         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5393         Renamed fidur specific mouse packet data in MouseDevice to
5394         generic. Used it in ps2 mouse handling code to avoid blocking
5395         reads.
5396
5397 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5398
5399         * demos/gtk-demo/main.c: Changed to have the list become
5400         non-italic when the demo window is destroyed through an external
5401         event (like a close button).  Doing so found three bugs in the
5402         widget.
5403
5404         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5405
5406         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5407         we actually set the cell.
5408
5409         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5410
5411         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5412         free a leaked path.  Thanks memprof.
5413
5414 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5415
5416         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5417         off-by-one error when destroying allocated segments
5418         on failure. (Elliot)
5419
5420 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5421
5422         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5423         memleaks found by Evan Martin.
5424
5425 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5426
5427         * Released 1.3.2
5428         
5429         * NEWS: Updates for 1.3.2
5430
5431 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5432
5433         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5434         but in general for window system specific events.
5435
5436         * gtk/gtk.def
5437         * gtk/makefile.mingw.in
5438         * gtk/makefile.msc.in: Update.
5439         
5440         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5441
5442 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5443
5444         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5445         distribute gtk.immodules.
5446
5447         * gtk/Makefile.am (install-data-local): Don't install the
5448         gtk.immodules file created for the uninstalled modules;
5449         instead run gtk-query-immodules after install
5450
5451 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5452
5453         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5454         -rpath to the right install location.
5455
5456         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5457         -export-dynamic.
5458
5459         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5460         properly.
5461
5462 2000-11-15  Havoc Pennington  <hp@pobox.com>
5463
5464         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5465         patch from Mikael Hermansson to temporarily stop blinking while
5466         the user is using the keyboard to type or navigate. 
5467
5468         Also, when blinking, stay on for longer than we stay off. Also,
5469         return from start_cursor_blink if !cursor_visible, to save
5470         checking that flag all over the place before we call
5471         start_cursor_blink.
5472
5473 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5474
5475         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5476         only contain a "fontset" line, which is now ignored.
5477
5478         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5479         double-click-to-select-word work.
5480         
5481 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5482
5483         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5484         Don't move back one char when we are actually at the end of the 
5485         paragraph.
5486
5487 2000-11-15  Robert Brady  <robert@suse.co.uk>
5488
5489         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5490         'o' < 'p'.
5491         
5492         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5493         bind_textdomain_codeset.
5494
5495         (gtk_init_check): Make the warning about translating default:LTR
5496         sterner.
5497         
5498 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5499
5500         * **/Makefile.am : remove unecessary rules for win32-specific
5501         config-substituted targets. If you want these rules, use
5502         --enable-maintainer-mode (called automatically by autogen.sh).
5503         Stops a lot of unneccessary make-time warnings.
5504
5505         * gtk/gtktext{layout,display}.c: Factor in total width as
5506         well as screen when figuring alignment for word-wrap as well as
5507         no wrap; this is necessary to handle lines that cannot be wrapped
5508         at all.
5509
5510 2000-11-15  Havoc Pennington  <hp@redhat.com>
5511
5512         * gtk/testtext.c: Implement essential color cycling feature
5513
5514 2000-11-15  Havoc Pennington  <hp@redhat.com>
5515
5516         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5517         when we invalidate the main window.
5518
5519         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5520         GtkTextView will now invalidate the side windows for us when text
5521         changes.
5522
5523 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5524
5525         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5526         unconditionally, since we may need to update the horizontal
5527         scrollbars even if the height didn't change.
5528
5529         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5530         the extra attrs, since some of them affect size.
5531
5532         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5533         x_offset correctly.
5534
5535 2000-11-15  Havoc Pennington  <hp@redhat.com>
5536
5537         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5538         don't move the first line out into the margin, instead move the
5539         whole paragraph in order to make space for the first line within 
5540         the margin
5541
5542 2000-11-15  Havoc Pennington  <hp@redhat.com>
5543
5544         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5545         xoffset in addition to yoffset, so horizontal scrolling doesn't
5546         break redraws
5547
5548 2000-11-15  Havoc Pennington  <hp@redhat.com>
5549
5550         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5551         from the cursor
5552         (render_layout_line): fix reversed test that caused weird
5553         underlines to get drawn
5554
5555 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5556
5557         * gdk/linux-fb/gdkprivate-fb.h:
5558         Fix debug macros.
5559         
5560 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5561
5562         * gdk/linux-fb/gdkprivate-fb.h:
5563         Added virtual functions set_pixel, get_color,
5564         fill_span and draw_drawable to the GC.
5565         Added global _gdk_fb_screen_gc to use instead of
5566         NULL when drawing to the screen.
5567         Added _gdk_fb_gc_calc_state() prototype.
5568
5569         * gdk/linux-fb/gdkgc-fb.c:
5570         Call _gdk_fb_gc_calc_state() on any gc state change.
5571
5572         * gdk/linux-fb/gdkglobals-fb.c:
5573         Add _gdk_fb_screen_gc
5574                 
5575         * gdk/linux-fb/gdkdrawable-fb2.c:
5576         _gdk_fb_gc_calc_state() calculates best functions
5577         for the GC state and depth.
5578         Moved bpp specialized code to separate functions.
5579         Added optimized 24 bpp AA draw_drawable.
5580
5581         * gdk/linux-fb/gdkevents-fb.c:
5582         Silence gcc warning.
5583
5584         * gdk/linux-fb/gdkimage-fb.c:
5585         Use _gdk_fb_screen_gc
5586
5587         * gdk/linux-fb/gdkwindow-fb.c:
5588         Init and use _gdk_fb_screen_gc
5589
5590         * gdk/linux-fb/mitypes.h:
5591         Remove unused types.
5592
5593 2000-11-14  Havoc Pennington  <hp@pobox.com>
5594
5595         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5596         to pixels
5597
5598 2000-11-14  Havoc Pennington  <hp@pobox.com>
5599
5600         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5601
5602         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5603         unknown char, no real reason we were using a variable. 
5604         Remove gtk_text_unknown_char variable. Fix all the text widget
5605         files accordingly.
5606
5607         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5608         since the Unicode spec seems to prefer that character for our
5609         purposes.
5610
5611 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5612
5613         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5614         value of g_getenv() isn't freeable, so g_strdup it.
5615
5616         * modules/input/inuktitut.c: Inuktitut input method.
5617
5618         * modules/input/Makefile.am: Build this.
5619         
5620 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5621
5622         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5623         of gtk programs.
5624
5625 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5626
5627         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5628         reversed > that was causing Home to go to end of previous line.
5629
5630         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5631         modified-keypresses (leave for bindings.)
5632
5633         * modules/input/Makefile.am: Remove useless -export-dynamic
5634         from module LDFLAGS.
5635
5636 2000-11-14  Havoc Pennington  <hp@redhat.com>
5637
5638         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5639         higher.
5640
5641         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5642         account. Also, render rise, underline, background, etc. for
5643         pixbufs as well as text. Also, draw underlines one pixel higher.
5644
5645         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5646         PangoAttribute for the rise, so it gets drawn properly. Also,
5647         add the GtkTextAppearance attribute for pixbuf/widget segments
5648         as well; we should go ahead and have rise, underline, background,
5649         stipple work for those
5650
5651         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5652         Pango
5653
5654 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5655
5656         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5657
5658         * gtk/gtk.def: Update.
5659
5660         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5661         included.
5662         (gtk_rc_get_im_module_file): Use run-time installation directory
5663         on Win32.
5664
5665         * gdk/win32/rc/gdk.rc: Remove.
5666         * gdk/win32/rc/gdk.rc.in: New file.
5667         * gdk/win32/rc/Makefile.am: New file
5668         * gdk/win32/Makefile.am: Corresponding changes.
5669
5670         * gtk/gtk.rc: Remove.
5671         * gtk/gtk-win32.rc.in: New file.
5672         * gtk/Makefile.am: Corresponding changes.
5673
5674         * configure.in: Corresponding changes.
5675
5676         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5677         has a built gtkcompat.h. Developers using CVS code on Win32 can
5678         hand-edit it from gtkcompat.h.in.
5679
5680         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5681         gtkcompat.h from gtkcompat.h.win32.
5682
5683 2000-11-14  Havoc Pennington  <hp@redhat.com>
5684
5685         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5686         to default to GDK_ACTION_MOVE if the drag is within a single
5687         widget. Defaults to GDK_ACTION_COPY between widgets.
5688
5689 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5690
5691         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5692
5693         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5694
5695         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5696         srcdir != builddir
5697
5698         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5699
5700         * configure.in (GTK_VERSION): Up to 1.3.2
5701
5702         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5703         gtkimcontextxim.h
5704
5705         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5706         missing doc comment.
5707
5708 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5709
5710         * modules/linux-fb/basic.c:
5711         Use the glib iconv wrappers.
5712
5713 2000-11-13  Havoc Pennington  <hp@pobox.com>
5714
5715         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5716         still more bugs.
5717
5718         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5719         scroll the GdkWindows before realization.
5720
5721 2000-11-13  Havoc Pennington  <hp@redhat.com>
5722
5723         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5724         where GC didn't always get updated properly
5725
5726         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5727         of fonts instead of setting the entire font
5728
5729         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5730         setting entire font
5731
5732         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5733
5734         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5735         a bunch of individually-settable font attributes. You can still 
5736         use the "font" and "font_desc" args, they just set all the font
5737         attributes at once.
5738
5739 2000-11-13 Elliot Lee <sopwith@redhat.com>
5740
5741         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5742
5743 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5744
5745         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5746         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5747
5748         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5749         work better.
5750
5751 2000-11-13  Havoc Pennington  <hp@redhat.com>
5752
5753         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5754         the module file.
5755
5756         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5757         dest->language
5758
5759         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5760         settings
5761
5762         * gtk/gtktextview.c: Implement object args and setters/getters for
5763         all the aspects of the GtkTextAttributes that are not set from
5764         GtkWidget attributes. This is spacing, justification, margins,
5765         etc.
5766
5767         (gtk_text_view_set_arg)
5768         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5769         args
5770         (gtk_text_view_class_init): Add args for justify, left_margin,
5771         right_margin, indent, and tabs
5772         
5773
5774         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5775         attribute properly
5776
5777         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5778         replace with indent attribute
5779
5780         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5781         PANGO_SCALE
5782
5783         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5784         rearranging code to do that
5785         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5786         i.e. don't subtract the top_margin first, just to keep
5787         all margin-futzing in one place.
5788
5789         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5790
5791         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5792         special case of last line, Pango now handles this itself.
5793         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5794         Y coordinate
5795         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5796         (find_display_line_above): wasn't moving the byte index as it
5797         iterated over lines, so always returned byte 0. Also, port to use
5798         PangoLayoutIter.
5799         (find_display_line_below): same problem as
5800         find_display_line_above. Also, port to use PangoLayoutIter.
5801
5802 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5803
5804         * gdk/linux-fb/*.[ch]:
5805         Massive reindent to gtk+ standard. My hands hurt.
5806
5807         * gdk/linux-fb/gdkcolor-fb.c:
5808         Move GdkColorPrivateFB from inherited to windowing_data
5809
5810         * gdk/linux-fb/gdkcursor-fb.c:
5811         _gdk_cursor_new_from_pixmap made static
5812
5813         * gdk/linux-fb/gdkdnd-fb.c:
5814         GdkDragContextPrivate moved to windowing_data
5815
5816         * gdk/linux-fb/gdkdrawable-fb2.c:
5817         Removed endian.h, use glib endianness macros instead
5818         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5819         and GDK_DRAWABLE_IMPL_FBDATA
5820
5821         * gdk/linux-fb/gdkfont-fb.c:
5822         Add empty gdk_font_load(). Needed for linking of Gtk+.
5823
5824         * gdk/linux-fb/gdkimage-fb.c:
5825         Removed endian.h, use glib endianness macros instead
5826         Moved GdkImagePrivateFB to windowing_data
5827         gdk_image_new_bitmap didn't always allocate enough
5828         memory.
5829
5830         * gdk/linux-fb/gdkinput-ps2.c:
5831         Added semi-working support for MS serial mice.
5832
5833         * gdk/linux-fb/gdkprivate-fb.h:
5834         s/GdkWindowPrivate/GdkWindowObject/
5835         Removed GdkWindowPrivate typedef
5836         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5837         Removed GDK_DRAWABLE_P
5838         Move GdkColorPrivateFB from inherited to windowing_data
5839         Moved GdkImagePrivateFB to windowing_data
5840
5841         * gdk/linux-fb/gdkvisual-fb.c:
5842         Removed some unused debug code.
5843
5844         * gdk/linux-fb/gdkwindow-fb.c:
5845         Use stock cursors instead of including X headers.
5846         s/GdkWindowPrivate/GdkWindowObject/
5847
5848         * gdk/linux-fb/mitypes.h:
5849         Removed unused types.
5850
5851         * modules/linux-fb/basic.c:
5852         Use the pango fribidi wrappers.
5853
5854 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5855
5856         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5857         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5858         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5859         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5860         GEqualFunc where applicable.
5861         
5862         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5863         pango_font_description_equal as changed in pango.
5864         
5865         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5866
5867         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5868
5869         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5870
5871         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5872
5873         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5874
5875         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5876
5877         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5878         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5879
5880         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5881         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5882
5883 2000-11-12  Havoc Pennington  <hp@pobox.com>
5884
5885         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5886         dir to datadir/gtk+-2.0/demo
5887
5888         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5889         sorts of text widget and Pango font bugs. Urgh.
5890
5891         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5892
5893         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5894         tree that you should double click to see the demo. Fix 
5895         types of variables to reflect changed return values from 
5896         GtkTreeStore and GtkTreeViewColumn constructors.
5897
5898         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5899         newly-created buffer to prepare for GObject semantics
5900
5901         * gtk/testtext.c: don't leak the buffer with GObject semantics
5902
5903         * gtk/testtextbuffer.c: ditto
5904         
5905 2000-11-12  Havoc Pennington  <hp@pobox.com>
5906
5907         Rename this testgtk to gtk-demo to avoid confusion, and 
5908         install it so people can use it as a supplement to 
5909         the documentation.
5910         
5911         * demos/gtk-demo: Moved from demos/testgtk
5912
5913         * demos/testgtk: Removed
5914
5915         * configure.in: make Makefile in gtk-demo
5916         
5917         * demos/gtk-demo/Makefile.am: Install sample source to 
5918         datadir/gtk-demo (maybe there's a better place?), and 
5919         rename the binary to gtk-demo
5920         
5921         * demos/gtk-demo/main.c (load_file): Load installed sample
5922         source if source isn't found in pwd.
5923
5924 2000-11-09  Havoc Pennington  <hp@pobox.com>
5925
5926         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5927         argument to set the char displayed when visibility == FALSE
5928         (gtk_entry_create_layout): If !entry->visible, replace 
5929         all chars with the "invisible char"
5930
5931         * gtk/testgtk.c: Test the invisible_char deal
5932         
5933 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5934
5935         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5936         can't get a native font in the right encoding.
5937
5938 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5939
5940         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5941         respectively.
5942
5943 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5944
5945         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5946         Fix warning when moving between paragraphs.
5947
5948         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5949         delete => delete_from_cursor, insert => insert_at_cursor
5950
5951 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5952
5953         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5954
5955         * modules/input/imthai-broken.c: A Thai input method for use if
5956         Thai keys are really generating Latin1 keysyms.
5957
5958         * modules/input/Makefile.am: Build these.
5959
5960 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5961
5962         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5963         g_filename_{to,from}_utf8 now takes an extra parameter.
5964
5965         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5966         strftime into UTF-8.
5967
5968         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5969         calendars.
5970
5971         (gtk_calendar_paint_day_names): Draw day names in the right 
5972         place.
5973         
5974 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5975
5976         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5977         problem with using result of g_get_charset() backwards -
5978         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5979
5980         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5981         negative min_width/height and max_width/height to
5982         mean "requisition"; this allows setting a window
5983         to be user-resizable in only one direction easily.
5984
5985         * gtk/testgtk.c (create_main_window): Remove hard-coded
5986         usize - set a default size in the vertical direction.
5987
5988 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5989
5990         * gtk/gtkrange.c: Add some missing casts. Support 
5991         2 and 3 button clicks on the arrows to mean 
5992         "move by pages" and "jump to end". (Like gtkspinbutton)
5993
5994 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5995
5996         * gdk/win32/makefile.msc : reflect build module changes
5997
5998         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5999         from GdkPixmap*, cast implementation member instead.
6000
6001         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6002         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6003         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6004         more Gdi functions return value checking. 
6005         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6006         GdkImagePrivateWin32 *.
6007
6008         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6009         menus useable again. Add #pragma message to keep reminded on this issue.
6010         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6011         windows. This allows to enable backing store on Win32!
6012
6013         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6014         in drawable is of impl type. Correct specific type checks appropriate.
6015  
6016         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6017         GDK_WINDOW_DESTROYED before allocating new resources.
6018
6019         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6020
6021         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6022         (gdk_window_foreign_new) initialize parent handle.
6023         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6024
6025         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6026         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6027         problems (e.g. main buttons in testgtk). 
6028
6029 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6030
6031         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6032         gtk_widget_activate for GDK_Return.
6033
6034         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6035         of preedit cursor position.
6036
6037 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6038
6039         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6040         static.
6041
6042 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6043
6044         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6045         out support for multiple locales; that simple doesn't
6046         work reliably with current Xlib
6047
6048         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6049         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6050         Add support for positioning the cursor within the preedit string.
6051
6052 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6053
6054         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6055         at XIM input method module.
6056
6057         * gtk/gtktextview.c: Check for bindings after passing
6058         events to im context filter.
6059
6060 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6061
6062         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6063         empty attribute lists properly.
6064
6065 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6066
6067         * gtk/queryimmodules.c (main): Return non-zero exit
6068         status if errors were encountered querying any
6069         modules.
6070
6071         * modules/input/Makefile.am (moduledir): remove
6072         leftover bin program target.
6073
6074         * docs/make-todo: Fix typo in error message.
6075
6076 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6077
6078         * configure.in: Add modules/input/Makefile
6079
6080 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6081
6082         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6083         don't include gtkthemes.h.
6084
6085         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6086         to point
6087
6088         * gtk/Makefile.am: Add new .c and .h files, build 
6089         gtk-query-immodules and use it to create a gtk.immodules
6090         file for use of test programs.
6091
6092         * gtk/gtkpreview.c: remove extra blank line.
6093
6094 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6095
6096         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6097         Add the ability to add extra tables beyond the default
6098         one, and also the ability to have compose sequences 
6099         that are prefixes of other compose sequences. 
6100
6101         * gtk/gtkimcontextsimple.c: Export a preedit string which
6102         consists of possible candidates for keystrokes that have
6103         been entered but not yet committed.
6104
6105         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6106         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6107
6108         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6109         Add a function to add input-method switching menu items
6110         to a menu.
6111
6112         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6113         when switching input methods.
6114
6115         * gtk/gtkimcontextsimple.[ch]: Change the format of
6116         the compose table to allow compose tables of different
6117         lengths / sequence.
6118
6119 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6120
6121         * gtk/gtkimmodule.[ch]: Support routines for loading
6122         GtkIMContext implementations dynamically at runtime.
6123
6124         * modules/input/imcyrillic-translit.c: A sample input
6125         method (based on GtkIMContextSimple with an extra table),
6126         which demonstrates preedit strings and the module
6127         system for input modules
6128
6129         * gtk/queryimmodules.c: Program to query the available
6130         input modules and write the results into a file.
6131          
6132         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6133         extra config options "im_module_file" (cache file for
6134         input method modules), and "im_module_path" - path
6135         to look for modules when generating cache file.
6136
6137         This doesn't scale.
6138
6139 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6140
6141         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6142         generic code from gtkthemes into a new abstraction
6143         GtkModule which has the logic for implementing
6144         a loadable module which implements a number of 
6145         GObject types.
6146
6147 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6148
6149         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6150         a class into an interface  
6151         
6152         * gtk/gtkoldeditable.[ch]: Move the old editable
6153         implementation into here, so legacy widgets can
6154         still rely on the implemenation. GtkOldEditable
6155         exports GtkEditable. Make selection handling
6156         code use new text conversion functions (and
6157         handle UTF-8 as a side-effect). Use GtkClipboard
6158         for CLIPBOARD.
6159
6160         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6161         Adopt to match above changes.
6162
6163         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6164         avoid GtkOldEditable implementation. Restructure
6165         to reduce number of places that modify state directly.
6166         Move to GtkBindingSet. Display the preedit string.
6167         Queue recomputation of PangoLayout and scroll position
6168         to improve effiency of doing complex changes naively.
6169         Add a menu with cut/copy/paste and input method selection.
6170
6171 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6172
6173         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6174         to set preedit string and attributes; display preedit string by
6175         inserting string and attributes at cursor when creating the
6176         GtkTextLineDisplay.
6177
6178         * gtk/gtktextlayout.c: Move all conversions between byte
6179         positions in PangoLayout and GtkTextIter into new functions
6180         line_display_iter_to_index/index_to_iter that properly
6181         handle the preedit string.
6182
6183         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6184         it to return const char * (eventually will end up
6185         as GCONST char *, most likely.)
6186
6187         * gtk/gtktextview.[ch]: Handle the preedit string, call
6188         gtk_im_context_reset() as necessary, add a menu to switch
6189         input methods.
6190         
6191         * gtk/gtktextlayout.[ch]: Remove useless
6192         gtk_text_layout_get_log_attrs() function.
6193
6194 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6195
6196         * gdk/gdk.def
6197         * gtk/gtk.def: Update.
6198
6199         * gdk/win32/*.c: Add last argument to g_type_register_static()
6200         calls.
6201
6202         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6203
6204         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6205         generated by older wheel mouse drivers. Get the correct y
6206         coordinate from WM_MOUSEWHEEL messages.
6207
6208         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6209         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6210         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6211         Debugging functions.
6212
6213         * gdk/win32/gdkprivate-win32.h: Declare them.
6214
6215         * gdk/win32/gdkinput-win32.h: Add declaration for
6216         gdk_input_window_destroy().
6217
6218         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6219
6220 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6221
6222         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6223         function to help handle keeping things in sync.
6224
6225 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6226
6227         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6228         BOXED marshallers.
6229
6230         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6231         (gtk_list_store_class_init): use the new BOXED marshallers.
6232
6233         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6234         new_with_values to new_with_types.
6235         (gtk_tree_store_get_column_type): add this.
6236         (gtk_tree_store_class_init): use the new BOXED marshallers.
6237
6238         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6239         mirror some POINTER marshallers.
6240
6241 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6242
6243         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6244         allow more interesting iterators.  Also, made the lifecycle of
6245         iterators more explicit.
6246
6247         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6248
6249         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6250         types.
6251
6252 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6253
6254         * demos/testgtk/menus.c:
6255         Changes to make the new testgtk compile after
6256         gtk_menu_append was removed.
6257
6258         * gdk/linux-fb/gdkdrawable-fb2.c
6259         (gdk_fb_get_depth, gdk_fb_get_visual,
6260         gdk_drawable_impl_fb_class_init): Implement
6261         these drawable functions. Now GtkImages work again.
6262
6263         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6264
6265         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6266         
6267         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6268         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6269         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6270         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6271
6272 2000-11-08  Havoc Pennington  <hp@pobox.com>
6273
6274         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6275         visible_set args, don't know where these had gone, I thought they
6276         used to be there
6277
6278         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6279         now we can test the feature and see that it's totally broken.
6280
6281 2000-11-08  Havoc Pennington  <hp@pobox.com>
6282
6283         Make DND copy pixbufs and tags when source and target share a 
6284         tag table.
6285         
6286         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6287         in-process GTK_TEXT_BUFFER_CONTENTS target
6288         (gtk_text_view_drag_data_received): Paste from
6289         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6290
6291 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6292
6293         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6294         API changes.
6295
6296         * gtk/gtkmenu.c: Add support for scrolling menus.
6297         Remove gtk_menu_append/prepend/insert, these have been moved to
6298         gtkcompat.h as #defines.
6299
6300         * gtk/gtkcompat.h.in:
6301         Add compatibility #defines for gtk_menu_append/prepend/insert
6302
6303         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6304         GtkMenuPositionFunc gets an extra argument push_in.
6305         gtk_menu_append/prepend/insert removed.
6306         
6307         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6308         positioning behaviour to fit to scrolling menus.
6309
6310         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6311         into menuitem->submeny. That is wrong, and broke torn
6312         off submenus of torn off menus, since they were unrealized
6313         when the first menu was unrealized.
6314
6315         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6316         gtk_menu_shell_select_item() since these need to be overridden in
6317         GtkMenu.
6318
6319         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6320         positioning behaviour to fit to scrolling menus.
6321         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6322         the current item so that it is prelighted when the menu pops up.
6323         This is a workaround to the fact that the menu doesn't get the
6324         initial enter event (due to grabs).
6325
6326         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6327         s/gtk_menu_append/gtk_menu_shell_append/
6328
6329         * gtk/gtknotebook.c:
6330         s/gtk_menu_insert/gtk_menu_shell_insert/
6331
6332         * gtk/testgtk.c (create_menu, create_menus):
6333         Create the first menu with 50 items so that menu scrolling
6334         can be tested.
6335         
6336         
6337         Patch from Jonathan Blandford  <jrb@redhat.com>
6338
6339         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6340         system to handle size requests.  First, we ask what the size of
6341         the toggle is.  Then, when allocating the size, we allocate the
6342         toggle_size first.  This way we can have multiple menu-item
6343         classes w/o needing a seperate class for each.
6344
6345         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6346         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6347
6348         * gtk/gtkcheckmenuitem.c
6349         (gtk_check_menu_item_toggle_size_request): New function to handle
6350         the toggle size-request.
6351
6352 2000-11-07  Havoc Pennington  <hp@redhat.com>
6353
6354         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6355         Half-ass somewhat fix this function, so that scrolling to the
6356         insertion point works. Pango hacking is in the future to really
6357         fix it.
6358
6359         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6360         length of data, no longer used.
6361
6362         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6363         method contents in here, get rid of destroy method
6364         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6365         that were backward. Remove debug spew.
6366         (cut_or_copy): Make the clipboard work with insert_range to
6367         preserve tags and pixbufs, not just the primary selection.
6368
6369 2000-11-07  Havoc Pennington  <hp@redhat.com>
6370
6371         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6372         to gtk_text_mark_get_visible
6373
6374         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6375         bug that was generating an invalid iterator
6376
6377         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6378         ensure_char_offsets() in front of code placing the iter in an
6379         invalid state.
6380
6381         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6382         make override_location arg const
6383         (paste): Replace the selection if we paste into the 
6384         current selection
6385
6386         * gtk/gtkselection.h: Remove "GtkSelectioData"
6387         (struct _GtkSelectionData): move the definition here.
6388
6389         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6390         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6391
6392         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6393
6394         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6395         (gtk_text_buffer_insert_range_interactive): implement
6396         (gtk_text_buffer_get_tags): Remove, replaced by
6397         gtk_text_iter_get_tags()
6398
6399         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6400         limit parameter, to avoid infinite linear scan.
6401         (gtk_text_iter_backward_search): Add search limit
6402         (gtk_text_iter_forward_find_char): Add search limit
6403         (gtk_text_iter_backward_find_char): Add search limit
6404
6405 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6406
6407         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6408         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6409         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6410         gdk/linux-fb/gdkwindow-fb.c:
6411         use g_object_new() instead of g_type_create_instance() which
6412         is a private function for fundamental type implementations.
6413
6414         * gdk/linux-fb/gdkinput-ps2.c:
6415         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6416         instead just store the current modifier state. Add a (somewhat broken)
6417         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6418         Rename exported function gdk_input_ps2_get_mouseinfo to
6419         gdk_input_get_mouseinfo.
6420
6421         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6422         gdk/linux-fb/gdkwindow-fb.c:
6423         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6424         
6425
6426 2000-11-02  Havoc Pennington  <hp@redhat.com>
6427
6428         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6429         use stock buttons. Should be 100% source compatible, appropriate
6430         filesel fields now point to dialog->vbox and dialog->action_area.
6431         On the bizarre side, dialog->action_area and filesel->action_area
6432         are not the same widget.
6433         (gtk_file_selection_init): Put some padding around the selection
6434         entry, so it isn't touching the GtkDialog separator.    
6435
6436         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6437         use stock buttons, etc. Should also be source compatible.
6438         Set the dialog default title in _init not _new().
6439         
6440         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6441         Use stock buttons; don't put a button box inside the existing
6442         dialog button box. Don't bother with push/pop colormap anymore.
6443
6444         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6445         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6446         for message dialog, and necessary for the font selection and color
6447         selection with help and apply buttons.
6448         
6449         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6450         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6451         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6452         between buttons, put less padding around the action area.
6453         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6454         This will also exit the loop if the widget is hidden.
6455         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6456         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6457         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6458         special-case delete event.
6459
6460         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6461         formatting
6462         
6463 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6464
6465         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6466         button to temporarily disable position recording in the
6467         "saved position" test.
6468
6469 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6470
6471         * gtk/gtkthemes.c: added compat code that temporarily implements
6472         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6473         going to be revamped by owen's upcoming GtkModule patches, but
6474         untill then people want gtk to build, right? ;)
6475
6476 2000-11-04  Havoc Pennington  <hp@pobox.com>
6477
6478         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6479         list
6480
6481         * docs/Changes-2.0.txt: Add note about
6482         gtk_container_get_toplevels()
6483
6484         * gtk/gtktextview.h: formatting
6485         
6486         * gtk/gtktextview.c: don't start descriptions with "Returns",
6487         confuses gtk-doc
6488
6489 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6490
6491         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6492         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6493
6494 2000-11-03  Havoc Pennington  <hp@redhat.com>
6495
6496         * gtk/gtktexttagtable.c: Docs
6497         (gtk_text_tag_table_size): return a signed int
6498
6499         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6500         (gtk_text_tag_event): make the event_object a GObject
6501
6502         * gtk/gtktextview.c: Write API docs for all functions.
6503
6504         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6505         for gtk_text_view_get_window_type() called on one of the private
6506         windows.
6507
6508         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6509         directly, call get_buffer() which demand-creates a default
6510         buffer. So gtk_text_view_new() can be used to create a view with a
6511         default buffer in it, if you just want an empty text box users can
6512         put data in. Useful for GUI builders also.
6513
6514 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6515
6516         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6517         the charset encodign portion MUST be in lowercase.
6518         * gtk/gtkrc.az: added file for Azeri language
6519
6520 2000-11-03  Havoc Pennington  <hp@redhat.com>
6521
6522         Get widgets working on the btree/buffer side. Display of them 
6523         still doesn't work.
6524         
6525         * gtk/gtktextview.c: start implementing child widget stuff
6526
6527         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6528
6529         * gtk/gtktextlayout.c: handle embedded widgets
6530
6531         * gtk/gtktextdisplay.c: handle embedded widgets
6532
6533         * gtk/gtktextchild.c: Implement all the child anchor goo
6534
6535         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6536         function
6537
6538         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6539         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6540         creating a child anchor or a pixbuf segment.
6541         (gtk_text_btree_create_child_anchor): new function
6542         (gtk_text_btree_unregister_child_anchor): new function
6543
6544         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6545         allocate_child signal on GtkTextLayout
6546
6547         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6548         values
6549         (gtk_text_iter_get_child_anchor): new function
6550
6551         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6552         default handler for the changed signal, which calls
6553         gtk_text_buffer_set_modified(), instead of just always emitting
6554         changed then calling set_modified() manually. I guess this is
6555         maybe more flexible. It seems logical.
6556
6557 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6558
6559         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6560         now.
6561
6562         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6563
6564 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6565
6566         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6567         been marked static.
6568
6569 2000-11-02  Havoc Pennington  <hp@redhat.com>
6570
6571         * gtk/testgtk.c (create_labels): had a test backward
6572
6573         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6574         fields, so the dest GC ends up with the correct clip origin, 
6575         etc. Fixes a bug where colored labels didn't redraw 
6576         properly.
6577
6578 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6579
6580         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6581         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6582         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6583         Add last argument to t_type_register_static call.
6584         
6585         * gdk/linux-fb/gdkdrawable-fb2.c:
6586         Add last argument to t_type_register_static call.
6587         export the get_image drawable virtual function.
6588
6589         * gdk/linux-fb/gdkimage-fb.c:
6590         Add last argument to t_type_register_static call.
6591         rename gtk_image_get to _gdk_fb_get_image and
6592         export it for use by gdkdrawable-fb2.
6593
6594         * gdk/linux-fb/gdkprivate-fb.h:
6595         export _gdk_fb_get_image.
6596
6597         * gdk/linux-fb/gdkselection-fb.c:
6598         Add new api call stubs.
6599
6600         * gtk/Makefile.am:
6601         Missing ( in linux-fb part.
6602
6603         * modules/linux-fb/Makefile.am:
6604         Must link with gdk_pixbuf or get unresolved symbol.
6605
6606 2000-11-01  Havoc Pennington  <hp@pobox.com>
6607
6608         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6609         GTK_TYPE_TEXT_ITER and BOXED marshallers
6610
6611         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6612
6613         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6614         
6615         * gtk/gtk-boxed.defs: add GtkTextIter
6616
6617         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6618         properly use OBJECT and BOXED
6619
6620 2000-11-01  Havoc Pennington  <hp@redhat.com>
6621
6622         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6623
6624         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6625         before returning it. 
6626         
6627 2000-11-01  Havoc Pennington  <hp@redhat.com>
6628
6629         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6630         Clip the rectangle to be rendered to the drawable, since
6631         get_from_drawable() requires a region within the drawable
6632
6633 2000-11-01  Havoc Pennington  <hp@redhat.com>
6634
6635         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6636         from coordinates.
6637
6638 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6639
6640         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6641         it isn't NULL.
6642
6643 2000-11-01  Havoc Pennington  <hp@pobox.com>
6644
6645         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6646         on a label
6647         (gtk_label_finalize): unref the attr list if any.
6648
6649         * gtk/testgtk.c (create_get_image): close test on second click
6650         (make_message_dialog): close dialog if it exists
6651
6652         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6653
6654         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6655         gdk-pixbuf
6656
6657         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6658         from Pango markup format
6659         (gtk_label_set_markup_with_accel): ditto but with accelerator
6660         parsing
6661
6662         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6663
6664         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6665         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6666         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6667         call gdk_window_get_origin().
6668
6669         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6670         implement GDK_PIXBUF_ALPHA_FULL
6671         
6672 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6673
6674         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6675         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6676         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6677         multiple handlers respectively, instead of only treating the
6678         first handler found (bug reported by owen).
6679
6680 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6681
6682         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6683
6684         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6685
6686         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6687         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6688         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6689
6690         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6691         widget.  Needs writing someday.
6692
6693         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6694         the docs.
6695
6696 2000-10-30  Havoc Pennington  <hp@redhat.com>
6697
6698         * gtk/gtktextview.h, gtk/gtktextview.c:
6699         Rename delete_at_cursor delete_from_cursor, and 
6700         move to move_cursor.
6701
6702 2000-10-30  Havoc Pennington  <hp@redhat.com>
6703
6704         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6705         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6706         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6707         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6708         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6709         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6710         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6711         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6712         gtktexttypes.h, gtktextview.c, gtktextview.h:
6713
6714         Massive reindentation and reformatting. Arg alignment and comments
6715         still need fixing in various places.
6716
6717 2000-10-30  Havoc Pennington  <hp@redhat.com>
6718
6719         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6720         to be named insert_at_cursor and delete_at_cursor so C++ can
6721         handle them.
6722
6723 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6724
6725         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6726         to get a double directory separator in case the home directory
6727         ends with one. This would cause trouble especially on Windows,
6728         where the path will be confused with the syntax for an an UNC
6729         (network share) path \\server\share\path.
6730         (gtk_rc_add_initial_default_files): Ditto.
6731
6732 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6733
6734         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6735
6736         * gtk/gtktextview.c: Use correct marshallers.
6737
6738 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6739
6740         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6741         use new iter stuff, and added all the appropriate signals et al.
6742
6743         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6744         code is internal to gtk only.
6745
6746 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6747
6748         * gtk/gtk.def
6749         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6750         glib-genmarshal etc.
6751
6752 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6753
6754         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6755         parallel builds.
6756
6757 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6758
6759         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6760
6761 2000-10-27  Robert Brady  <robert@suse.co.uk>
6762
6763         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6764         en_GB (British), ia (Interlingua).
6765
6766 2000-10-26  Havoc Pennington  <hp@redhat.com>
6767
6768         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6769
6770         Fixed output of:
6771         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6772         
6773         * gtk/gtktextsegment.c (char_segment_new): rename
6774         (_char_segment_new_from_two_strings): rename
6775         (_toggle_segment_new): rename
6776         
6777         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6778         (make_clipboard_widget): make it static
6779         (text_get_func): static
6780         (text_clear_func): static
6781
6782         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6783         static
6784         (hex_changed): make it static
6785         (hsv_changed): make it static
6786         (opacity_entry_changed): make it static
6787
6788         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6789         (toggle_segment_check_func): rename with _gtk
6790
6791         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6792         (_widget_segment_new): rename
6793         (_widget_segment_add): rename
6794         (_widget_segment_remove): rename
6795         (_widget_segment_ref): rename
6796         (_widget_segment_unref): rename
6797
6798         * gtk/gtktextmark.c (_mark_segment_new): Rename
6799         _gtk_mark_segment_new   
6800
6801 2000-10-26  Havoc Pennington  <hp@redhat.com>
6802
6803         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6804         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6805         types
6806
6807         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6808         marshaller types
6809
6810         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6811         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6812         license on these files.
6813
6814         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6815         work.
6816
6817         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6818         runtime random number different for each tree, instead of 
6819         a constant I made up.
6820
6821 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6822
6823         * gtk/Makefile.am: buncha cleanups, kludged build sources
6824         dependencies with a Makefile: oldest-source-stamp dependancy
6825         for the moment. automake is really fighting us here, with
6826         intentionally not allowing user-defined rules or dependancies
6827         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6828
6829         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6830         to public headers. tehy have a comment stating that they are
6831         "semi-public" aren't included by gtk.h and if enums popup there,
6832         they can be /*< skip >*/-ed.
6833
6834         * gtk/gtktextlayout.h: 
6835         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6836         added LGPL... <SIGH>
6837
6838 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6839
6840         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6841         GtkTreeIter.  Added iterators everywhere.
6842
6843         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6844
6845         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6846
6847         * gtk/gtktreestore.c: Changed to use the iterators.
6848
6849         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6850         iterators tomorrow.
6851
6852         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6853         iterators tomorrow.
6854
6855         * gtk/treestoretest.c: Changed to use iterators.
6856
6857         * demos/testgtk/main.c: Moved to use the new iterator system.
6858
6859 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6860
6861         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6862         localization misbehaviour.
6863
6864         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6865         a useless type without copy/free.
6866
6867         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6868         of GTK_TYPE_CTREE_NODE.
6869
6870 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6871
6872         * gtk/gtksignal.c:
6873         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6874         applicable.
6875
6876         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6877         gtk_selection_data_copy and gtk_selection_data_free
6878         do GtkSelectionData work as params in signals.
6879
6880 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6881
6882         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6883         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6884         couldn't they at least give it a non-standard name?
6885         
6886         * gtk/gtktextlayout.c: arg! yet another implementation of
6887         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6888
6889         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6890         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6891         home. now i know this _is_ a conspiracy.
6892
6893         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6894         ::state-changed.
6895
6896         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6897         (gtk_accel_group_create_add): marshaller signature fixups.
6898
6899         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6900         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6901
6902         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6903         anymore.
6904
6905 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6906
6907         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6908         due to the signal system changes, it wouldn't build currently. to
6909         be fixed soon.
6910
6911         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6912
6913         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6914         so it needs gtk_marshal_VOID__ENUM() instead of
6915         gtk_marshal_NONE__UINT().
6916
6917         * gdk/gdk*.c: adapted type registration functions.
6918
6919         * gtk/gtkbindings.c:
6920         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6921         gone.
6922
6923         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6924
6925         * gtk/gtkobject.c:
6926         (gtk_object_destroy):
6927         (gtk_object_shutdown): fixed recursion guards. basically we have to
6928         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6929         is called during ::destroy, and avoid recursion there.
6930
6931         * gtk/gtktypeutils.c:
6932         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6933         boxed_copy/boxed_free. this needs a more general solution based on a
6934         publically installed code-generator utility.
6935
6936         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6937         glib's gobject has support for that now.
6938         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6939
6940 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6941
6942         * gtk/gtksignal.[hc]:
6943         * gtk/gtkmarshal.[hc]:
6944         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6945         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6946         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6947         care of that.
6948
6949         * *.c: marshaller name fixups.
6950
6951         * gtk/gtkmarshal.list: added a comment briefing the format.
6952
6953 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6954
6955         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6956         compatibility macros here now. more specifically, most of
6957         the API is preserved (yes, _most_, nonwithstanding the
6958         following exceptions listed, the API is stil lHUGE ;)
6959         things that got removed completely:
6960         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6961         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6962         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6963         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6964         gtk_signal_remove_emission_hook().
6965         non-functional functions variants:
6966         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6967         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6968         not supported anymore.
6969         (gtk_signal_compat_matched): new internal function to aid
6970         implementation of the compatibility macros, it  provides
6971         functionality to block/unblock/disconnect handlers based
6972         on func/data.
6973
6974         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6975
6976         * *.c: adaptions to new type registration API signatures.
6977
6978 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6979
6980         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6981
6982 2000-10-25  Robert Brady  <robert@suse.co.uk>
6983
6984         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6985         gdk_property_delete): If window == NULL, assume the root window.
6986         (restoring the behaviour that was in 1.2).
6987         
6988         * gtk/testtext.c (save_buffer): Allow creation of new files when
6989         saving.
6990
6991         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6992         calls to read().
6993
6994 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6995
6996         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6997
6998         * gdk/win32/gdkdrawable-win32.c
6999         * gdk/win32/gdkimage-win32.c
7000         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7001         X11 backend.
7002
7003         * gdk/win32/gdkcc-win32.c
7004         * gdk/win32/gdkcolor-win32.c
7005         * gdk/win32/gdkfont-win32.c
7006         * gdk/win32/gdkinput-win32.c
7007         * gdk/win32/gdkmain-win32.c
7008         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7009
7010 2000-10-24  Havoc Pennington  <hp@redhat.com>
7011
7012         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7013         it a static function
7014
7015         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7016         redraw text when a tag is applied to it.
7017
7018         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7019         (gtk_text_tag_affects_nonsize_appearance): private functions to
7020         see if a tag requires various kinds of redraw/layout to be queued
7021         up.
7022
7023         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7024
7025         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7026         at the start of the buffer, so search works by default
7027
7028         * gtk/gtktextiter.c (lines_match): init match_start always
7029
7030         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7031         function, get iter at a line + a byte index
7032
7033         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7034         to set byte position within a line
7035         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7036
7037 2000-10-23  Havoc Pennington  <hp@redhat.com>
7038
7039         * gtk/testtext.c: Re-enable the "find" dialog
7040
7041         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7042         
7043         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7044         the arguments to gdk_draw_drawable were in the wrong order
7045         (gdk_window_paint_init_bg): This function was ignoring the
7046         init_region, instead of clipping to it, so the entire backing
7047         pixmap was cleared on every begin_paint()
7048         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7049         was in here again, the loop kept using the same GtkWindowPaint
7050         over and over.
7051         (gdk_window_begin_paint_region): Fix a bug where we had two
7052         x_offset instead of x_offset and y_offset
7053
7054         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7055         before we get the image.
7056         (gdk_draw_drawable): get the composite before we draw the drawable.
7057         (gdk_drawable_real_get_composite_drawable): default
7058         get_composite_drawable implementation that returns the drawable 
7059         itself
7060
7061         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7062         get_composite_drawable virtual function
7063
7064         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7065         list-walking bug
7066
7067         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7068         make this work if the source drawable is a GdkDrawableImplX11
7069         instead of a public drawable type. This is really broken; the
7070         problem is that GdkDrawable needs a virtual method get_xid(), but
7071         of course that doesn't work in practice. Enter RTTI.
7072
7073         Also, improve mismatched depth message.
7074
7075         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7076         GdkPixmap
7077
7078         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7079         install _gdk_x11_get_image as our implementation of get_image
7080         
7081         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7082         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7083
7084         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7085         gdk_drawable_get_image
7086
7087         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7088
7089         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7090         get_image
7091
7092         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7093         trailing semicolon after for loop
7094
7095 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7096
7097         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7098         where font_desc for widget's context lagged widget's font_desc by
7099         one step.
7100
7101 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7102
7103         * gdk/win32/gdkgc-win32.c
7104         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7105
7106         * gtk/makefile.mingw.in
7107         * gtk/gtk.def: Updates.
7108
7109         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7110         library.
7111
7112         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7113
7114         * gtk/makefile.msc: Remove
7115
7116         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7117
7118         * gtk/Makefile.am: Add it.
7119
7120         * configure.in: Generate it.
7121
7122         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7123         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7124         something even if not implemented, to satisfy picky MSVC.
7125
7126         Patches by Hans Breuer:
7127         
7128         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7129         SetBkMode() and SetTextAlign() before calling
7130         pango_win32_render().
7131
7132         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7133         Set hcliprgn to NULL after destroying it.
7134         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7135
7136         * gdk/win32/gdkgeometry-win32.c
7137         (_gdk_windowing_window_queue_antiexpose): More effective
7138         implementation.
7139
7140         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7141         depth as default, not the visual's.
7142
7143         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7144         against empty title.
7145
7146         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7147         IMAGE_PRIVATE_DATA.
7148
7149         * gdk/win32/gdkimage-win32.c: Use it.
7150
7151 2000-10-22  Robert Brady  <robert@suse.co.uk>
7152
7153         * configure.in: Check for bind_textdomain_codeset
7154
7155         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7156         present, make use of it.
7157
7158         Add a translatable string "default:LTR" which, if translated
7159         to "default:RTL", will cause the default direction to be
7160         Right-to-Left.
7161
7162         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7163         direction if marked as flippable.
7164
7165         * gtk/gtkhscale.c: Mark widget as flippable.
7166         
7167 2000-10-04  Havoc Pennington  <hp@redhat.com>
7168
7169         * gtk/testgtk.c (create_buttons): create some stock buttons
7170         with the default accel group
7171         (create_image): test some new GtkImage features
7172         (make_message_dialog): test GtkMessageDialog
7173         (create_modal_window): fix someone's bizzarro indentation
7174
7175         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7176         GTK_WIN_POS_CENTER_ON_PARENT. 
7177         Add "destroy with parent" setting, which means the window goes
7178         away with its transient parent.
7179         (gtk_window_get_default_accel_group): get the default accel group
7180         for the window.
7181         (gtk_window_set_destroy_with_parent): set/unset destroy with
7182         parent flag
7183         (gtk_window_read_rcfiles): invalidate icon set caches
7184         after reloading rcfiles 
7185
7186         * gtk/gtkenums.h (GtkWindowPosition): add
7187         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7188         on its parent window when the dialog is mapped for the first time.
7189
7190         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7191         a simple message dialog class
7192         
7193         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7194         handler to emit response signal, and maybe later it would
7195         honor a hide_on_delete flag - though that isn't there yet.
7196         Set border width on the vbox to 2, so we get some padding.      
7197         Use a button box for the action area.
7198         (gtk_dialog_key_press): synthesize a delete event if Esc
7199         is pressed and the GtkWidget key press handler didn't 
7200         handle the escape key.
7201         (gtk_dialog_new_with_buttons): new function creates a dialog
7202         with some default buttons in it.
7203         (gtk_dialog_add_action_widget): add an activatable widget
7204         as a button in the dialog - you can also add a non-activatable
7205         widget by accessing the action area directly.
7206         (gtk_dialog_add_button): add a simple button - stock ID or 
7207         label - to the action area
7208         (gtk_dialog_response): emit response signal
7209         (gtk_dialog_run): block waiting for the dialog, return 
7210         the response. Override normal delete_event behavior, so that 
7211         delete_event does nothing inside gtk_dialog_run().
7212
7213         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7214         emitted when an action widget is clicked or the dialog gets
7215         delete_event
7216
7217         * gtk/gtk.h: add gtkmessagedialog.h
7218
7219         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7220
7221 2000-10-18  Havoc Pennington  <hp@redhat.com>
7222
7223         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7224         where any number of empty lines would get skipped
7225
7226         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7227         edge.
7228
7229         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7230         warning about invalid iterators (explain more thoroughly)
7231         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7232
7233         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7234         big
7235
7236         * demos/*.c: Add error handling
7237
7238         * gtk/gtktextbuffer.c: don't modify const iterators
7239
7240         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7241
7242         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7243         on file load
7244
7245         * gtk/gtkiconfactory.c: Update to reflect addition of error
7246         handling to gdk-pixbuf loaders
7247
7248 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7249
7250         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7251         move to new modularized testgtk.
7252
7253 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7254
7255         * gtk/gtktreeview.c: Draw the arrows correctly.
7256
7257         * gtk/gtktreemodel.c: Added user docs.
7258
7259         * gtk/gtk.h: remove gtktreedatalist.h.
7260
7261         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7262         parent when generating my type.
7263
7264         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7265         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7266
7267 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7268
7269         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7270         GtkTreeModel from object to interface.
7271
7272 2000-10-16  Havoc Pennington  <hp@redhat.com>
7273
7274         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7275         compilation
7276
7277 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7278
7279         * gtk/gtktreeselection.c: Add API documentation to all public
7280         functions.
7281
7282         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7283         functions.
7284
7285 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7286
7287         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7288         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7289         docs to all public functions.
7290
7291         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7292         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7293         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7294         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7295         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7296         issue.
7297
7298 2000-10-14  Robert Brady  <robert@suse.co.uk>
7299
7300         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7301
7302 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7303
7304         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7305         values other then G_TYPE_STRING.
7306         * gtk/gtktreeselection.c: Minor commenting updates.
7307         * gtk/gtktreeview.c: Format updates.
7308
7309 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7310
7311         * README.win32: Update.
7312
7313         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7314         lines that had been deleted by mistake (?).
7315
7316         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7317         also the case fg==white and bg==black (but still not randomly
7318         coloured cursors). Thanks to Wolfgang Sourdeau.
7319
7320         * gdk/win32/*.c: Silence gcc -Wall.
7321
7322         * gtk/gtk.def: Add missing entry points.
7323
7324         Fixes by Hans Breuer:
7325
7326         * gdk/makefile.msc
7327         * gdk/win32/makefile.msc: Update.
7328
7329         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7330         some MSVC thing, presumably), cause breakpoint on failures. Add
7331         GDK_NOR case. Call g_log_set_always_fatal.
7332
7333         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7334         should be pased by reference.
7335         
7336         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7337         
7338         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7339
7340         * gdk/win32/gdkevents-win32.c
7341         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7342
7343         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7344         implementation object.
7345
7346         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7347         not just windows.
7348         
7349         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7350         Use the wrapper object.
7351         
7352 2000-10-06  Havoc Pennington  <hp@redhat.com>
7353
7354         * Makefile.am (SRC_SUBDIRS): contrib subdir
7355
7356         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7357         so it can be used in Xlib version
7358
7359         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7360         tree
7361
7362         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7363         change from 1.0 tree that returns first frame of animation
7364         if the loaded file is an animation.
7365
7366         * contrib: add new directory to hold stuff that comes with GTK+
7367         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7368         
7369         * configure.in: add contrib/*
7370
7371 2000-10-05  Havoc Pennington  <hp@redhat.com>
7372
7373         * demos/testpixbuf-save.c: add pixbuf save test
7374
7375         * demos/Makefile.am: add testpixbuf-save.c
7376
7377 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7378
7379         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7380         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7381         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7382         * gtk/gtktreeselection.[ch]: Replaced
7383         "node_selected"/"node_unselected" signal with "selection_changed"
7384         signal.
7385
7386 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7387
7388         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7389         tree widget.
7390
7391 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7392
7393         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7394         drawing.
7395
7396 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7397
7398         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7399         Move list pointer forwards before removing item from
7400         list. (Crash reported by Salmaso Raffaele)
7401
7402         * gdk/gdkwindow.h: Remove spurious trailing ,
7403
7404         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7405         dependencies on uninstalled libraries, sorry folks.
7406
7407 2000-10-04  Havoc Pennington  <hp@redhat.com>
7408
7409         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7410         gtk/gtkiconfactory.c: Fix copyrights    
7411
7412         * demos/testpixbuf.c: add inline pixbuf test
7413         
7414 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7415
7416         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7417         Add gdk_window_iconify.
7418
7419         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7420         (gdk_window_set_geometry_hints): Add win_gravity
7421         to geometry structure.
7422
7423         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7424         Implement _NET_WM_PING.
7425
7426         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7427         Set _NET_WM_PID on the client leader.
7428
7429         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7430         Handle UTF-8 better.
7431
7432         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7433         UTF-8 better, set _NET_WM_NAME as well. Only set
7434         icon name if it hasn't previously been explicitely 
7435         set.
7436
7437 2000-10-03  Havoc Pennington  <hp@redhat.com>
7438
7439         * gtk/testtextbuffer.c: clean up trailing whitespace,
7440         add extensive tests for tag toggle iteration.
7441         
7442         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7443         distance
7444
7445         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7446         optimize case where the tag root is on level 1
7447         (gtk_text_line_previous_could_contain_tag): attempt to implement
7448         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7449         functionality
7450
7451         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7452         Implement this, though not very efficiently.
7453
7454         * gtk/gtktextiterprivate.h: reformat
7455
7456         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7457         iterator
7458
7459         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7460         this to properly revalidate the iterators.
7461
7462         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7463         properly at the end of the line (and therefore on empty lines)
7464
7465         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7466         maybe we should return a value...
7467
7468 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7469
7470         * config.h.win32: Guard definition of alloca(). glib.h now handles
7471         that.
7472
7473         * gdk/gdk.def
7474         * gtk/gtk.def: Add new entry points.
7475
7476         Changes just to make GTK+ build without errors on Win32. No hope
7477         of it working in its current state, though...:
7478         
7479         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7480         some functions from the X11 backend, just to make GTK+ build.
7481
7482         * gdk/makefile.mingw.in
7483         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7484         number. Add new object files.
7485
7486         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7487         GetMessageTime to get timestamp (where on X11 uses
7488         gdk_x11_get_server_time()).
7489
7490 2000-10-02  Havoc Pennington  <hp@pobox.com>
7491
7492         * gtk/gtktextview.c: text_window_* weren't static and should have
7493         been.
7494         Start work on child widgets; not yet complete, syncing to 
7495         office computer.
7496
7497         * gtk/gtktextchild.h: change this to contain a public interface,
7498         starting work on child interfaces.
7499         * gtk/gtktextchildprivate.h: move private interfaces here
7500
7501         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7502
7503         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7504         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7505         gtk/gtktextmark.c: copyright notices
7506
7507         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7508         internal functions      
7509
7510         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7511         internal function
7512
7513         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7514         Reformatting    
7515
7516 2000-09-30  Havoc Pennington  <hp@pobox.com>
7517
7518         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7519         NULL start/end pointers
7520
7521         * gtk/gtktextbuffer.c: Write some docs
7522         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7523         NULL, so you can just check whether there's a selection.        
7524
7525         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7526         cleanup_line or segments_changed ourselves, it gets done 
7527         in unlink_segment
7528
7529         * gtk/gtktextmark.h:
7530         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7531         
7532         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7533
7534         * gtk/gtktextmark.c: delete some more old Tk cruft
7535
7536         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7537         mark before removing it, so we can emit MARK_DELETED with a valid
7538         pointer.
7539         (gtk_text_buffer_mark_set): hold ref across signal emission
7540
7541         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7542         whining about attempts to delete special marks
7543
7544         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7545         underscore, since it's internal.
7546
7547         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7548         now implemented in terms of iterators in gtktextiter.h
7549
7550         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7551         New function, destructively sets contents of buffer. Also 
7552         a convenient way to clear the buffer by setting text to ""
7553
7554         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7555         multiline string literal
7556
7557         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7558         text changes.
7559
7560         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7561         is not dereferenceable
7562         (gtk_text_iter_forward_lines): fix return value
7563
7564 2000-09-29  Havoc Pennington  <hp@redhat.com>
7565
7566         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7567
7568         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7569         that set border window size to have nicer name
7570         (gtk_text_view_mark_set_handler):  Fix this to have the 
7571         right signature.
7572
7573         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7574
7575         * gtk/testtext.c: Update with API changes, put line numbers on 
7576         both sides.
7577         
7578         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7579         with this
7580
7581         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7582         pixbuf; delete a big block of #if 0 Tk code
7583
7584         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7585         insert_pixmap with insert_pixbuf
7586
7587 2000-09-29  Martin Baulig  <baulig@suse.de>
7588
7589         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7590         confusion with the GdkPixbuf of the GNOME 1.x platform.
7591
7592 2000-09-29  Havoc Pennington  <hp@pobox.com>
7593
7594         * gtk/gtktextview.c: Implement the side windows.
7595
7596         * gtk/testtext.c: Implement simple line numbering in the 
7597         left side window; seems to make scrolling sloooow. Oops.
7598         Also, cursor blink is for some reason causing redraws
7599         of the line numbers. Should investigate...
7600
7601 2000-09-28  Havoc Pennington  <hp@redhat.com>
7602
7603         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7604         scrolling child windows, and draw focus rectangle properly.
7605         
7606         (gtk_text_view_buffer_to_window_coords):
7607         Coordinate transformation to deal with all these freaking windows
7608         and offsets
7609         (gtk_text_view_window_to_buffer_coords): transform the other way
7610
7611         * gtk/testtext.c (create_buffer): Update to match Pango API change
7612
7613         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7614         anonymous tags
7615         (foreach_unref): don't emit remove signal from finalize, just
7616         set tag's parent to NULL
7617
7618 2000-09-26  Havoc Pennington  <hp@redhat.com>
7619
7620         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7621         Fix some warnings       
7622
7623 2000-09-26  Havoc Pennington  <hp@redhat.com>
7624
7625         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7626         headers into the private header list
7627
7628         * Makefile.am (pkgconfig_DATA): install pkg-config files
7629
7630         * configure.in: add pkg-config files
7631
7632         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7633
7634         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7635         outstanding icon caches on theme change.
7636
7637         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7638         important types:
7639
7640         (GtkIconSource): Specification for creating a pixbuf 
7641         appropriate for a direction/state/size triplet from 
7642         a source pixbuf or filename
7643
7644         (GtkIconSet): List of GtkIconSource objects that are used to
7645         create the "same" icon (e.g. an OK button icon), and cache for
7646         rendered icons
7647
7648         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7649         up the icon set for a given stock ID.  GTK maintains a stack of
7650         GtkIconFactory to search, and applications or libraries can add
7651         additional icon factories on top of the stack
7652         
7653         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7654         the set of GtkIconSource specified for a given stock ID into 
7655         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7656         RcStyle, under the specified stock ID.
7657
7658         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7659         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7660         This allows people to theme how prelight, insensitive, etc. are
7661         done.
7662
7663         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7664         icon factories for a style, and return the resulting 
7665         icon set if any.
7666
7667         (gtk_style_render_icon): Render an icon using the render_icon 
7668         method in the GtkStyleClass.
7669
7670         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7671         Use the style for a given widget to look up a stock ID, get the
7672         icon set, and render an icon using the render_icon method 
7673         of the style
7674
7675         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7676         (contains information about a stock item), the built-in stock item
7677         IDs, and functions to add/lookup stock items.
7678
7679         * gtk/stock-icons/*: Stock icons that come with GTK
7680
7681         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7682         a button based on a GtkStockItem
7683         (gtk_button_new_accel): Takes a uline string and accel group, and
7684         installs the accelerator.
7685
7686         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7687         image-display widget.
7688
7689 2000-09-25  Havoc Pennington  <hp@redhat.com>
7690
7691         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7692
7693         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7694         Fix a bug when removing node data, we didn't properly 
7695         re-splice the linked list after removing the data.
7696
7697         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7698         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7699
7700         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7701
7702         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7703         for the layout from the GtkTextTag.
7704
7705         * gtk/gtktexttypes.h: delete tab and search cruft, 
7706         remove g_convert() in favor of GLib version
7707
7708         * gtk/gtktexttypes.c: remove tab implementation from here,
7709         move to Pango
7710
7711         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7712         tab stuff using new PangoTabArray from Pango
7713
7714         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7715         unused border_width stuff
7716
7717 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7718
7719         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7720         glib) and now useless utf_to_latin1() latin1_to_utf()
7721
7722         * gtk/gtktextview.[ch]: Change ::move_insert and
7723         ::delete_text action signals to ::move and ::delete;
7724         create the signals with the right enumeration type,
7725         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7726         C-v bindings, change Home, End to move to beginning/end
7727         of line, Add C-Home C-End to move to beginning/end
7728         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7729         combine ::scroll_text into ::move; use new GtkSelectionData
7730         functions to simplify DND text handling.
7731         
7732         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7733         deletion enumerations here, rename enumeration values to 
7734         be consistently plural.
7735
7736         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7737         for cut/copy/paste and primary selection.
7738
7739         * gtk/gtktextbuffer.[ch]: Remove excess time and
7740         'interactive' arguments from cut/copy/paste;
7741         rename cut to cut_clipboard, etc; remove
7742         gtk_text_buffer_get_clipboard_contents().
7743
7744         * gtk/gtktextlayout.[ch]: Add 
7745         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7746         line ends.
7747
7748         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7749         Functions to set or get a UTF-8 string on the selection
7750         data.
7751
7752         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7753         interfaces.
7754
7755         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7756         created widgets - one of these is useless if we don't.
7757
7758         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7759         a public function clear all targets registered for the
7760         widget.
7761
7762         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7763         Never call gtk_widget_realize() - that was just asking
7764         for bizarre side-effects.
7765
7766         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7767         gdk_selection_owner_set even if the widget is the
7768         same so that we reliably update the timestamp on
7769         the server.
7770
7771         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7772         gdk_x11_get_server_time() function.
7773         
7774         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7775         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7776         Add some tricky filtering on serial numbers for
7777         selection clear events to fix up long-standard
7778         race condition FIXME's in gtkselection.c.
7779
7780         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7781         routines to convert from utf8 to compound text or
7782         STRING and from a text property to UTF-8.
7783
7784         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7785         a convenience function gdk_get_current_event_time().
7786
7787         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7788         and free selection_data->data properly
7789
7790 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7791
7792         * gtk/gtkthemes.c: Remove some unecessary includes.
7793
7794 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7795
7796         * gtk/gtktextdisplay.c
7797         * gtk/gtktextlayout.c
7798         * gtk/gtktexttag.c
7799         * gtk/gtktexttag.h
7800         * gtk/testtext.c: Change the overstrike property to strikethrough,
7801         to closer match pango.
7802
7803 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7804
7805         * gtk/gtktextview.c: Fix up visibility so that focus,
7806         cursor_visible and blink interact properly.  Reenable cursor blink
7807         which had been roughly disabled. Make blink and focus
7808         properly per-view.
7809
7810         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7811         Add a flag for whether to display insertion cursor and
7812         a function to set the flag.
7813
7814         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7815         get_line_y() to get_line_yrange(), to be a bit more generally
7816         useful.
7817
7818 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7819
7820         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7821           do stop_navigating_submenu, to clear last timeout properly.
7822           Also in gtk_menu_motion_notify move ignore_enter above
7823           the conditional to make it always happen as suggested by Owen
7824
7825 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7826
7827         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7828
7829         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7830         w32api headers.
7831
7832         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7833         declarations.
7834
7835         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7836         (gdk_win32_get_colormap): A line had been deleted by mistake.
7837
7838         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7839         (gdk_event_translate): Handle more virtual keycodes to be able to
7840         generate GDK events for Control-comma, Control-period, etc.
7841
7842         * gtk/gtk.def: Add some missing entry points.
7843
7844 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7845
7846         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7847         Doc comment fixing. (Mostly non-matching parameter names.)
7848
7849         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7850         comments a little to avoid looking like a doc comment.
7851
7852         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7853         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7854         conversions be changed to GError?)
7855
7856         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7857         Move private #defines into .c file.
7858
7859         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7860         order of argument addition, remove duplicates.
7861
7862         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7863         parent class is FrameClass, not BinClass.
7864
7865         * gtk/gtk.h: Add gtkinvisible, which was missing.
7866         (It's occasionalyl useful for client apps, if seldom.)
7867
7868         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7869         #define.
7870
7871 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7872
7873         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7874         coordinates when creating window, instead of GDK-space
7875         coordinates. (Avoid BadValue on too large windows.)
7876
7877 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7878
7879         * configure.in (use_mmx_asm): Remove conftest* after use along the
7880         lines of AC_TRY_COMPILE.        
7881         
7882         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7883         of g_dirname, which is deprecated.
7884         (gtk_rc_parse_any): Removed calls to
7885         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7886
7887         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7888         Removed calls to g_hash_table_{freeze,thaw}, as they are
7889         deprecated now.
7890
7891         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7892         instead of g_basename.
7893         
7894 2000-09-04 Elliot Lee <sopwith@redhat.com>
7895         
7896         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7897         ANSI warning.
7898
7899 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7900
7901         * gtk/gtkwidget.h:  Add some documenting comments about 
7902           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7903           just as owen said on irc.
7904
7905         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7906           set HAS_DEFAULT.  Only set it if there isn't another window
7907           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7908           it if the widget is not the focused window with RECEIVES_DEFAULT.
7909           This fixes weird double default bugs in dialogs which has things
7910           call gtk_window_set_default at times.
7911
7912 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7913
7914         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7915         Nils Barth and David Santiago to improve submenu
7916         navigation. The patch does this by creating a triangular
7917         region from the point where the pointer leaves the
7918         menu to the submenu.  While the pointer is in
7919         that region and a timeout has not expired, events 
7920         that would cause the active submenu to change are
7921         ignored.
7922
7923 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7924
7925         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7926         moving a toplevel window immediately after sizing it would
7927         result in it being sized back to the old size since 
7928         impl->width, impl->height aren't updated until we hear
7929         back from the server. There is still a (longstanding) bug
7930         here that gdk_window_get_size() will give the wrong size
7931         until we do hear back.
7932
7933 2000-08-31  Havoc Pennington  <hp@redhat.com>
7934
7935         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7936         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7937         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7938         Rename GtkTextStyleValues to GtkTextAttributes
7939
7940 2000-08-31  Havoc Pennington  <hp@pobox.com>
7941
7942         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7943         for rapid testing whether an iterator is the end iterator
7944         (gtk_text_btree_new): init end line cache
7945         (gtk_text_line_is_last): use fast cached line to 
7946         see if we're the last line.
7947         (get_last_line): use cached line here too, should 
7948         speed up some random unrelated code.
7949         
7950 2000-08-30  Havoc Pennington  <hp@pobox.com>
7951
7952         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7953         signals.
7954
7955         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7956         delete_text signals. This allows the signals to be used for
7957         implementing undo.
7958
7959         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7960         provide "interactive" argument when emitting insert_text or
7961         delete_text signal.
7962         
7963 2000-08-30  Havoc Pennington  <hp@pobox.com>
7964
7965         * gtk/gtktextbuffer.c: Docs
7966
7967 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7968
7969         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7970         from switch statements, since Tor removed the enumeration
7971         value.
7972         
7973         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7974         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7975
7976 2000-08-29 Elliot Lee <sopwith@redhat.com>
7977         * */*.h: Use G_GNUC_CONST.
7978
7979 2000-08-27  Havoc Pennington  <hp@pobox.com>
7980
7981         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7982         minor indentation fixes, inserted some FIXME about stuff I
7983         realized was broken while documenting it.
7984         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7985         GTK convention  
7986
7987 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7988
7989         * gtk/testgtk.c (create_styles): Fix double free of
7990         font desc.
7991
7992 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7993
7994         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7995         
7996         * gtk/testgtk.c (create_styles): Add a test for modifying
7997         the style through gtk_widget_modify_*.
7998
7999         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8000         a function to get the current modifier style.
8001
8002         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8003         of the passed in GtkRcStyle instead of ref'ing it.
8004
8005         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8006
8007 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8008
8009         * gdk/gdkimage.h
8010         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8011         shared memory image+pixmap GdkImage type, or
8012         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8013         I am dropping that.
8014
8015         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8016         actually call gtk_init_abi_check(), passing also
8017         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8018
8019         * gtk/gtk.def
8020         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8021         New functions, used to check that the GTK+-using code has been
8022         compiled using the correct compiler and switches. In particular,
8023         with gcc one has to use the -fnative-struct switch as GTK+ is
8024         compiled with that.
8025
8026 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8027
8028         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8029         ->prev fields when merging lists. (Found simultaneously
8030         by Pawel Salek and Jakub Jelinek)
8031
8032 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8033
8034         * gdk/gdk.def
8035         * gtk/gtk.def: Add missing entries.
8036
8037         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8038         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8039
8040         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8041         function. Dummy implementation at this point.
8042
8043         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8044         rules. Undefine GTK_COMPILATION when compiling the test programs.
8045         
8046         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8047
8048 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8049
8050         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8051         to convert back and forth from UTF-8 and the "system" (or "current
8052         locale") charset when necessary. Indentation/spacing cleanup.
8053
8054 2000-08-10  Havoc Pennington  <hp@redhat.com>
8055
8056         * Makefile.am (snapshot): Change the format of the snapshot
8057         version to match glib
8058
8059         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8060         from EXTRA_DIST since it doesn't seem to exist
8061
8062 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8063
8064         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8065         version of the directory name (not the UTF-8 one) when building
8066         the path name to stat().
8067
8068 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8069
8070         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8071         PANGO_ATTR_SHAPE set.
8072
8073 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8074
8075         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8076         Peter Osterlund to simplify the code while keeping the
8077         functionality the same.
8078
8079 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8080
8081         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8082         is_viewable() test further inside the function, since removing the 
8083         window from the redraw list without clearing ->update_area
8084         was also very broken.
8085
8086 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8087
8088         * configure.in: Check for <unistd.h>.
8089
8090 2000-08-01  Martin Baulig  <baulig@suse.de>
8091
8092         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8093         to display the message that this is a development version of GTK+.
8094
8095 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8096
8097         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8098         was depending on widget->allocation instead of the width of text_area,
8099         which was incorrect for subclasses like GtkSpinButton.
8100
8101         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8102         with width == 1 tests that should be width == -1.
8103
8104 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8105
8106         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8107         (broken, Elliot, every single window blank on X) custom code with call
8108         to gdk_window_is_viewable() which a) prevents code duplicate and
8109         b) works. 
8110
8111 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8112
8113         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8114         to get the GDK_PARENT_ROOT() macro to work.
8115         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8116         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8117         of, windows that aren't shown.
8118         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8119         pointer grab stuff.
8120
8121 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8122
8123         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8124           s/gtk_main_iteration/g_main_iteration/
8125
8126           Did this already in change:
8127                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8128           don't know how it got reverted.
8129
8130 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8131
8132         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8133         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8134
8135         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8136         not gdk_pixbuf.
8137
8138 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8139
8140         * configure.in,po/{sp,sr}.po: Added Serbian files
8141
8142 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8143
8144         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8145
8146         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8147         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8148         GIOChannel implementation.
8149
8150         * gdk/win32/gdkinput.c
8151         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8152
8153         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8154         definition to match prototype.
8155
8156         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8157
8158 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8159
8160         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8161         function, to allow handling image formats that cannot be detected
8162         by looking at content alone.
8163
8164 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8165
8166         * docs/tutorial/*.gif *.jpg *.eps
8167           Update these to the same look-n-feel.
8168           Why does including images in DocBook suck so badly?
8169
8170 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8171
8172         * gtk/gtktable.c: applied patch from Phil Thompson
8173         <phil@river-bank.demon.co.uk> that enables space settings for
8174         the last row/columns as well.
8175
8176 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8177
8178         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8179         updates the license headers to the GNU Lesser General Public License,
8180         as well as updating the copyright year to 2000.
8181
8182 2000-07-26  Robert Brady  <rwb197@zepler.org>
8183
8184         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8185           and po/Makefile, was installing and looking for them under gtk20
8186           and gtk2 respectively.
8187
8188 2000-07-25  Havoc Pennington  <hp@redhat.com>
8189
8190         * gtk/testtext.c: Comment out some stuff that depends on the rest
8191         of my patches.
8192
8193 2000-07-25  Havoc Pennington  <hp@redhat.com>
8194
8195         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8196         buffer
8197
8198 2000-07-25  Havoc Pennington  <hp@redhat.com>
8199
8200         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8201         widget changes.
8202
8203         * gtk/gtktextview.h: To be consistent with usage of "line"
8204         throughout the API to mean "newline-terminated thingy", change
8205         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8206         to MOVEMENT_LINE.
8207
8208         (GtkTextView): Add flags for default editability, and whether to
8209         show the cursor. Add functions to get/set that. Add 
8210
8211         (gtk_text_view_get_iter_location): new function
8212
8213         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8214         gtktextlayout.h
8215         (g_convert): Add g_convert temporarily, will go in glib in a bit
8216         
8217         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8218         GtkTextTagTableForeach instead of brokenly using GHFunc.
8219         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8220
8221         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8222         moved to public header.
8223
8224         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8225         "invisible", since "elide" was a bad name.
8226         (gtk_text_tag_get_priority): Added
8227
8228         (GtkTextStyleValues): put this in public header, along with
8229         functions to use it.
8230
8231         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8232         longer include gtktextbtree.h.
8233
8234         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8235         gtk_text_mark_deleted
8236
8237         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8238         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8239         to make this possible. Now we only need to install
8240         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8241         (However the Makefile.am isn't changed yet because of the
8242         logistics of merging gtk-hp-patches piecemeal)
8243
8244         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8245         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8246         gtk_text_iter_get_line is now used in the public API for a
8247         different purpose.
8248
8249         * gtk/gtktextiter.h: Clean up function names to be more
8250         consistent. Always call char offset "offset" and byte index
8251         "index". A "line" is always a line number. 
8252
8253         (gtk_text_iter_is_last): new function, more efficient than 
8254         the existing way to check
8255         (gtk_text_iter_is_first): new function, also more efficient
8256
8257         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8258
8259         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8260         gtk_text_iter_forward_char, etc.
8261
8262         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8263         forward_find_tag_toggle, since this isn't a linear search
8264
8265         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8266
8267         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8268         New functions, search for a buffer substring.
8269
8270         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8271         interactive and default editable (since we need to store that info
8272         until we receive the selection data).
8273
8274         Remove all the _at_char and at_line etc. versions of functions;
8275         only have iterator versions.
8276
8277         Add _interactive() versions of functions, that consider the
8278         editability of text. (FIXME add interactive flag to the 
8279         insert/delete signals per Darin's suggestion)
8280
8281         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8282         tag table if necessary
8283
8284         Remove declaration of gtk_text_buffer_get_iter_from_string
8285
8286         (_gtk_text_buffer_get_btree): private/internal function, added.
8287         
8288
8289         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8290         (gtk_text_line_is_last): new function
8291
8292 2000-07-25  Havoc Pennington  <hp@redhat.com>
8293
8294         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8295         using GtkProgressBar. See Changes-2.0.txt for details.
8296
8297         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8298         "pulse_step" which are the equivalent of
8299         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8300         Implement new API.
8301         
8302         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8303         (use_text_format) to mark whether text set on the progress bar is
8304         a format string. Deprecate entire GtkProgress interface.
8305
8306         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8307         (gtk_progress_build_string): make this a no-op if use_text_format
8308         is FALSE
8309
8310         * docs/Changes-2.0.txt: Describe progress bar changes.
8311
8312 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8313
8314         * Makefile.am: Include the build directory.
8315
8316         * configure.in: Generate build/Makefile, build/win32/Makefile,
8317         gdk/, gdk/win32/, and gtk/makefile.mingw.
8318
8319         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8320         Add GETTEXT_PACKAGE.
8321         
8322         * gdk/gdk.def
8323         * gtk/gtk.def: Updates.
8324
8325         * gdk/gdkfont.h
8326         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8327         need them any longer.
8328
8329         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8330
8331         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8332         PANGOWIN32_LIBS and gdk_pixbuf.
8333
8334         * gdk/win32: Compiles, but no doubt doesn't work at all.
8335
8336         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8337
8338         * gdk/win32/gdkinput.c: New file, temporarily.
8339         
8340         * gdk/win32/gdkinput-win32.h: New file
8341
8342         * gdk/win32/gdkinputprivate.h: Remove.
8343
8344         * gdk/win32/gdkpango-win32.c: New file.
8345
8346         * gtk/makefile.mingw.in: New file
8347
8348         * gtk/makefile.cygwin: Removed
8349         
8350         * gtk/Makefile.am: Update accordingly.
8351
8352         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8353         made externally visible.
8354
8355         * gtk/gtkmain.c: Use it.
8356         
8357         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8358         is enough.
8359
8360         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8361
8362 2000-07-24 Elliot Lee <sopwith@redhat.com>
8363         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8364         individual backends already.
8365         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8366         again. Yes, there really is a good reason for this, if you are using the gdkregion
8367         internals, and if you're not, why do you care?
8368         * gdk/gdkwindow.c: Fix inverted condition
8369         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8370         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8371         * gtk/gtkrange.c: Redraw trough when moving.
8372         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8373         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8374
8375 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8376
8377         * configure.in: Check for mkstemp and sigsetjmp. Output
8378         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8379
8380         More work on GDK for Win32. Still in an intermediate state.
8381
8382         * gdk/makefile.cygwin
8383         * gdk/win32/makefile.cygwin: Removed.
8384         
8385         * gdk/makefile.mingw.in
8386         * gdk/win32/makefile.mingw.in: New files.
8387
8388         * gdk/Makefile.am
8389         * gdk/win32/Makefile.am: Generate and distribute them.
8390
8391         * gdk/win32/gdkwindow-win32.h
8392         * gdk/win32/gdkdrawable-win32.h
8393         * gdk/win32/gdkpixmap-win32.h: New files.
8394
8395         * gdk/win32/gdkcolor-win32.c
8396         * gdk/win32/gdkcursor-win32.c
8397         * gdk/win32/gdkdrawable-win32.c
8398         * gdk/win32/gdkgc-win32.c
8399         * gdk/win32/gdkimage-win32.c
8400         * gdk/win32/gdkprivate-win32.h
8401         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8402         Rename fields and variables called xcursor, xid, etc (these names
8403         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8404
8405 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8406
8407         * gtk/gtkentry.[ch]: Fix some problems with vertical
8408         alignment.
8409
8410         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8411         char/byte confusion.
8412
8413 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8414
8415         * gtk/gtktextview.c (changed_handler): Fix bug where
8416         redraw wasn't being done properly when height of
8417         dirty region changed.
8418
8419         * demos/Makefile.am: Remove various references to
8420         -lgmodule
8421
8422 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8423
8424         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8425         PangoAttrShape to reserve space for pixmaps, add 
8426         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8427         in the display functions.
8428         
8429         * gtk/testgtk.c (create_layout): Set some more exotic
8430         scrolled window options
8431
8432         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8433         Add function to set the shadow type of a window, to allow
8434         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8435         which don't draw their own frame.
8436
8437 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8438
8439         * docs/tutorial/package-db-tutorial.sh: New file for
8440           packaging DocBook format tutorial
8441
8442 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8443
8444         * docs/tutorial/gtk-tut.sgml: Minor updates
8445
8446         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8447
8448 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8449
8450         * gtk/gtksignal.c: Fix C++ comment.
8451
8452         * gtk/gtkimmulticontext.c
8453         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8454         don't return value from void functions.
8455
8456         * gtk/gtk.def: Add gtk_rc_style_unref.
8457
8458 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8459
8460         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8461         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8462         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8463         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8464         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8465         gtk/gtktypeutils.h: Include files outside of the extern "C"
8466         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8467         <vakatov@peony.nlm.nih.gov>.
8468
8469 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8470
8471         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8472           Completes first pass. Hurrah!
8473
8474 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8475
8476         * docs/tutorial/gtk-tut.sgml: More clean ups.
8477
8478 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8479
8480         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8481         paint the background of the text area which was accidentally
8482         removed at some point.
8483
8484         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8485           
8486          - Move most of the functionality from the theme vtable
8487            into GtkRcStyleClass and GtkStyleClass. The moved
8488            vtable functions were changed a bit in the move to
8489            work better in their new home.
8490
8491          - Get rid of the engine and engine_data fields from
8492            GtkRcStyle and GtkStyle; instead the theme
8493            engine derives theme-specific subclasses of GtkRcStyle
8494            and GtkStyle
8495
8496          - Add extra dlsym() found entry point to themes,
8497            theme_create_rc_style().
8498
8499         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8500         in gtk_style_real_copy.
8501
8502         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8503         to register a type associated with an engine. (The engine
8504         won't be unloaded as there is an instance of the type.)
8505
8506
8507 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8508
8509         * docs/tutorial/gtk-tut.sgml: Clean ups.
8510
8511 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8512
8513         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8514           of cleaning up to do.
8515
8516 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8517
8518         * gdk/testgdk.c: New file, quick hack to test backends for
8519         pixel-by-pixel correctness of the most simple graphic operations.
8520
8521 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8522
8523         * Really release 1.3.1
8524         
8525         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8526         include structure.
8527
8528 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8529
8530         * Released 1.3.1
8531
8532 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8533
8534         * gtk/gtktextlayout.c: use FALSE for size_only most
8535         of the time when calling gtk_text_layout_get_line_display()
8536         to avoid causing double reshapes when a redraw follows
8537         immediately after.
8538
8539 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8540
8541         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8542         appropriate region and gdk_window_process_updates() so trough
8543         updating doesn't lag behind the window being scrolled.
8544
8545         * gdk/gdkgc.c: Make parent_class pointer static.
8546          
8547 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8548
8549         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8550         include <string.h>.
8551          
8552         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8553         cut-and-paste error in computing memory offset for 4 channels.
8554
8555 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8556
8557         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8558         gtk_rc_append_default_pixmap_path(), since it wasn't
8559         adding an interesting path and we don't have a meaningful
8560         default for this value.
8561
8562 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8563
8564         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8565         gtk-config to gtk-config-2.0 move gtk_.m4 to
8566         gtk-2.0.m4
8567
8568         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8569         gdk/Makefile.am demos/Makefile.am: Change 
8570         library names to libgtk-1.3.la, etc, so that we
8571         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8572
8573         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8574         gdk/Makefile.am gdk/x11/Makfile.am
8575         Move include files into /usr/include/gtk-2.0, 
8576         /usr/lib/gtk-2.0/include/
8577          
8578         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8579         gtk/gtkintl.h: Change package for gettext from 
8580         gtk+ to gtk20. Put hack in autogen.sh to modify
8581         po/Makefile.in.in after gettextize to make this
8582         possible.
8583
8584         * gtk+.spec: Some updates, not tested.
8585
8586         * gdk-pixbuf/Makefile.am: Move loaders into
8587         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8588
8589         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8590         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8591         to THEMENAME/gtk-2.0/. Move engine directory  to
8592         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8593         
8594 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8595
8596         Win32 changes, still doesn't build though.
8597
8598         * gdk/makefile.cygwin
8599         * gdk/win32/makefile.cygwin
8600         * gtk/makefile.cygwin: Updates.
8601
8602         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8603         default values for fg and bg pixel as X11 does (0 and 1), not
8604         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8605         Use 0 for pen width by default (treated as 1 anyway later, but for
8606         apps that might check the value in the GdkGC).
8607         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8608         interface to gdk_gc_predraw and _postdraw.
8609
8610         * gdk/win32/gdkwin32.h
8611         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8612
8613         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8614         extraneous semicolon.
8615
8616         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8617
8618         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8619         not the Win32 bitspixel value.
8620
8621         * gdk/win32/gdkcc-win32.c:
8622         * gdk/win32/gdkcolor-win32.c 
8623         * gdk/win32/gdkprivate-win32.h
8624         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8625         GDK object structure.
8626
8627 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8628
8629         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8630         * docs/tutorial/gtk_tut_it.sgml (name): 
8631         * docs/tutorial/gtk_tut_fr.sgml (name): 
8632         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8633         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8634
8635 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8636
8637         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8638           small changes.
8639
8640 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8641
8642         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8643         a bug here, never been here and never fixed anything ;(
8644         (don't segfault if tree->root_tree is NULL, which happens prior
8645         to widget realization, but puke instead).
8646
8647 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8648
8649         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8650         add the necessary tokens.
8651
8652         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8653         (gtk_rc_style_to_style): copy thicknesses.
8654         (gtk_rc_init_style): apply thicknesses.
8655         (gtk_rc_parse_style): parse xthickness and ythickness.
8656
8657         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8658
8659         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8660         (gdk_window_new): 
8661         (_gdk_windowing_window_init): 
8662         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8663         (gdk_pixmap_create_from_data): 
8664         (gdk_bitmap_create_from_data): 
8665         (gdk_pixmap_new): 
8666         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8667         (gdk_image_new): 
8668         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8669         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8670         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8671         (gdk_colormap_get_system): 
8672         (gdk_colormap_new): 
8673         * gdk/gdkwindow.c (gdk_window_init): 
8674         * gtk/gtkstyle.c (gtk_style_new):
8675         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8676         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8677         * gtk/gtkrc.c (gtk_rc_style_new):
8678         use g_object_new() instead of g_type_create_instance() which
8679         is a private function for fundamental type implementations.
8680
8681 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8682
8683         * configure.in: Add check for db2html
8684
8685 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8686
8687         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8688         hack to set glib_debug_objects based on gtk_debug_flags.
8689
8690 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8691
8692         * INSTALL.in: Update the Prerequisites section.
8693
8694         * Makefile.am demos/Makefile.am docs/Makefile.am
8695         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8696         gdk/linux-fb/Makefile.am: Dist fixes
8697
8698 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8699
8700         * NEWS: 10,000 foot view of 1.3.1 changes.
8701
8702 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8703
8704         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8705         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8706         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8707         gdk/x11/gdkmain-x11.c: 
8708
8709         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8710         as a return value of gdk_*_grab(). Previously, we just
8711         returned the X11 values directly.
8712
8713 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8714
8715         * gdk/x11/Makefile.am: Patch from George Lebl to 
8716         install all the headers in the right place.
8717
8718 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8719
8720         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8721           initial conversion to DocBook.
8722
8723 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8724
8725         * README.win32: Improve a bit.
8726
8727         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8728         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8729         Alt+0nnn on the numpad (used to enter characters by numeric code
8730         from current DOS or ANSI codepage) working correctly, as in other
8731         Windows apps.
8732
8733         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8734         same argument validity tests as in X11 version.
8735         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8736
8737         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8738         definitions in case missing from headers.
8739
8740         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8741         destroy the window-specific cursor.
8742         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8743         calling GetModuleHandle(NULL).
8744         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8745         with CopyCursor before setting it as the window-specific
8746         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8747         also its Windows cursor) after calling this function. Destroy any
8748         previous window-specific cursor.
8749
8750 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8751
8752         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8753         font charset is iso8859-1, not iso-8859-1.
8754
8755 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8756
8757         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8758         Use g_get_charset() instead of g_get_codeset().
8759
8760         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8761         Comment out some strdup'ing functions to keep timj
8762         happy until we finish fighting this out.
8763
8764 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8765
8766         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8767         <= width or height.
8768
8769         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8770         from 1.2 for parent/child states.
8771
8772         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8773         of typos.
8774
8775         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8776         event structures, replace with a generic axes field. Replace 
8777         deviceid/sourec with GdkDevice *device.
8778
8779         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8780         to extract particular axis use value from event. (Also
8781         can be used for normal X/Y.)
8782
8783         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8784         allow for arbitrary number of axes, namespace everything
8785         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8786         everywhere.
8787
8788         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8789         Get rid of the gdk_input_vtable setup if favor of simply
8790         defining the functions in gdkinput-none/gxi/xfree.c in
8791         a similar fashion to the way that the port structure is 
8792         done.
8793
8794         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8795         for new event structures. 
8796
8797         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8798         new device interfaces.
8799
8800 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8801
8802         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8803         set the initial text.
8804
8805         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8806         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8807         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8808         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8809
8810         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8811         pango_layout_set_font_description to simplify.
8812
8813 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8814
8815         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8816         pango_layout_set_font_description to simplify.
8817
8818 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8819
8820         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8821         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8822         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8823
8824         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8825         PANGO_PIXELS() macro.
8826
8827 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8828
8829         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8830         that returns a PangoContext owned by the widget and updated to
8831         match future changes in the widget. Also, make 
8832         gtk_widget_create_pango_layout() use this context. If we ever
8833         add a ::changed signal to PangoContext, this will make things
8834         much more convenient. 
8835
8836         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8837         in the appropriate places instead of destroying the layouts and
8838         creating new ones.
8839
8840         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8841         in a few strategic places.
8842
8843 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8844
8845         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8846         gtk_widget_size_request() on reparented child, if one. Otherwise,
8847         queue_resize() on the child never results in it getting size-requested
8848         at all.
8849
8850         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8851         in option menus, so that (with luck) people won't copy it into
8852         their apps in the future.
8853
8854         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8855         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8856         a lot of problems with changing the size of the menu's menu
8857         items after adding it to the option menu.
8858
8859         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8860
8861         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8862         the text direction for a widget changes.
8863
8864         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8865         ::direction_changed to get rid of various hacks.
8866
8867 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8868
8869         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8870         name.
8871
8872 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8873
8874         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8875         flag to the structure. Do not call XFreePixmap on pixmaps created
8876         by gdk_pixmap_foreign_new().
8877
8878 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8879
8880         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8881         value using GdkRGB functionality given GdkColormap and GdkColor.
8882         (name not final, waiting for inspiration.)
8883         
8884         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8885         set the foreground/background of a GC using the GC's colormap
8886         and GdkRGB. (name not final, waiting for inspiration.)
8887
8888         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8889         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8890
8891         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8892         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8893         purely a function of the corresponding colormap. Make
8894         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8895
8896         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8897         gdk_pixbuf_*create_from_xpm_* in terms of
8898         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8899         code.
8900
8901         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8902         advantage of the new draw_rgb_32_image_dithalign.
8903
8904         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8905
8906         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8907         on each created GC.
8908
8909         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8910
8911         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8912         which we initialize from the drawable when the GC is created,
8913         if the drawable has a colormap.
8914
8915         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8916
8917         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8918
8919         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8920
8921 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8922
8923         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8924         actually returning expose events, make sure to set
8925         the count field properly.
8926
8927         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8928         accidentally reintroced bug which always cleared
8929         the graphics_exposures value. 
8930
8931 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8932
8933         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8934
8935 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8936
8937         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8938
8939 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8940
8941         * docs/faq/gtk-faq.sgml: Start of Section 6.
8942
8943 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8944
8945         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8946         
8947         (Fixes problem with drawing childless frames. Pointed out
8948         by and a first patch from Anders)
8949         
8950         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8951         compute a child_allocation, even if we don't have a child.
8952
8953         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8954         Always chain to the parent's impl, even if we don't have a child.
8955
8956 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8957
8958         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8959         use multiple parts of it instead of creating a bunch of separate
8960         segments, since the maximum number of segments per system is not
8961         large. (This might be worth backporting to GTK+-1.2.x if we make a
8962         new release )
8963
8964         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8965         structure in preparation for per-colormap GdkRGB.
8966
8967         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8968         to False when we get EINVAL from shmget so that the caller of
8969         gdk_image_new can retry with a smaller segment size.
8970
8971 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8972
8973         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8974
8975 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8976
8977         * configure.in: make the current version number 1.3.1 (binary age 0,
8978         interface age 0).
8979         
8980         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8981         gtkcompat.h is all we want.
8982
8983         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8984         GLib primitive types. fixed g_type_register_fundamental() argument
8985         ordering.
8986
8987         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8988         compiles.
8989
8990         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8991         object code cleanup, comment trigraph fixes, etc...
8992
8993 2000-06-23  Havoc Pennington  <hp@redhat.com>
8994
8995         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8996         instead of making up a bogus name for first_para_mark
8997
8998         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8999         0 as a context ID
9000
9001 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9002
9003         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9004
9005 2000-06-21  Havoc Pennington  <hp@pobox.com>
9006
9007         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9008         we didn't check window->bg_pixmap != GDK_NO_BG.
9009
9010         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9011         gdk-pixbuf
9012
9013 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9014
9015         * docs/faq/gtk-faq.sgm: Move file to here.
9016           TODO: Update Makfile.am 
9017
9018 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9019
9020         * docs/gtk-faq.sgm: Add Section 2
9021
9022 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9023
9024         * docs/gtk-faq.sgm: New file. Start of DocBook
9025           version of the FAQ.
9026
9027 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9028
9029         * configure.in (GDK_PIXBUF_MAJOR): Define version
9030         numbers for GDK_PIXBUF_*, as they get substituted
9031         into a header file. Need to consider versioning
9032         for gdk-pixbuf more carefully later.
9033
9034 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9035
9036         Work with srcdir != builddir.   
9037         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9038         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9039         * demos/testpixbuf.c: Likewise.
9040         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9041         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9042         <gdk/x11/gdkx.h>.
9043         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9044         "gdk-pixbuf.h".
9045         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9046
9047 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9048
9049         * TODO.xml: Change 1.4 version numbers to 2.0.
9050
9051 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9052
9053         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9054         fixups to GTK+ standard.
9055
9056 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9057
9058         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9059         gdk-pixbuf.
9060
9061         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9062         fixups for GObject.
9063
9064         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9065         gdk-pixbuf with GDK dependencies moved into GDK.
9066         
9067         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9068         move gdk-pixbuf-loader here until GObject has signals.
9069
9070         * demos/: New directory of demos. Move demos from
9071         gdk-pixbuf here.
9072
9073         * demos/pixbuf-init.c: Small bit of code to check for
9074         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9075         set GDK_PIXBUF_MODULEDIR appropriately.
9076
9077         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9078         define which no longer makes sense.
9079
9080 2000-06-21  Havoc Pennington  <hp@redhat.com>
9081
9082         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9083         gtk_get_default_language
9084
9085         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9086         new function to get the default language
9087
9088         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9089         s/gtk_text_view_style_values/gtk_text_style_values/
9090
9091         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9092         Add a "language" field to tags.
9093
9094         (gtk_text_tag_set_arg): Fix bug in setting
9095         "bg_full_height_set" tag.
9096
9097 2000-06-21  Havoc Pennington  <hp@redhat.com>
9098
9099         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9100         in the interfaces
9101
9102         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9103         stuff instead when possible.
9104
9105         * gtk/gtktexttypes.h: Delete some unused constants
9106
9107         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9108         testtextbuffer.c: use glib instead of custom unicode routines
9109
9110 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9111
9112         * docs/es/: Removed mistakenly added generated sgml
9113
9114         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9115         Remove outdated info files.
9116
9117         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9118         Moved tutorial files into subdir
9119
9120         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9121         subdir.
9122
9123         * docs/man/gtk_button.pod: Remove. (contents will be
9124         integrated into gtk-reference button page.)
9125
9126         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9127         docs/faq/Makefile.am: Adjust for new organization
9128
9129 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9130
9131         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9132         not $(MKINSTALLDIRS)
9133
9134 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9135
9136         * gtk/testgtk.c (create_text): Finish the job Elliot started
9137         of removing font setting test for text widget. (Since text widget
9138         and GdkFont are not deprecated, and cause portability problems.)
9139
9140 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9141
9142         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9143         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9144         Remove use of libunicode in favor of new GLib functions.
9145
9146         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9147         nano-x, framebuffer. The X11 include is just a hack until we get
9148         the necessary functions in gdkcolor.h, so there is no reason to
9149         add other includes of platforms.
9150
9151         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9152         window bigger than the screen change.
9153
9154         * gtk/testgtk.c: Revert some random changes from Elliot
9155         that had no particular point and were causing testgtkrc
9156         not to function correctly.
9157         
9158         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9159         because GdkSegment and GdkRegionBox have the same fields,
9160         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9161         results in clearer code.
9162
9163         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9164         gdk_input_translate_coordinates): Fix missed GdkObjectification
9165
9166 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9167
9168         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9169         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9170
9171 2000-06-20  Havoc Pennington  <hp@redhat.com>
9172
9173         * modules/linux-fb/Makefile.am: Make this compile
9174         without framebuffer enabled
9175
9176         * gdk/linux-fb/Makefile.am: Add conditional to not build
9177         framebuffer unless specified in configure
9178
9179         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9180         the size of the target instead of source if -1 was passed for
9181         width/height
9182
9183         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9184         width/height confusion.
9185
9186 2000-06-19  Havoc Pennington  <hp@redhat.com>
9187
9188         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9189         GDK_DRAWABLE_XID. In the future, we probably want to make it
9190         faster with G_DISABLE_CHECKS turned on.
9191
9192 2000-06-14  Havoc Pennington  <hp@redhat.com>
9193
9194         * gdk/Makefile.am: add gdkpixmap.c
9195
9196         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9197         s/gdk_image_init/_gdk_windowing_image_init
9198
9199         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9200         ref/unref
9201
9202         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9203
9204         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9205         GdkWindowType is now non-deprecated; 
9206         change gdk_window_get_type() compat to be
9207         gdk_window_get_window_type().
9208
9209         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9210
9211         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9212         virtual GObject. Make all functions call into the vtable.
9213         Move gdk_image_put() guts in here. Remove GdkDrawableType
9214         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9215         draw_image, get_depth, get_size, set_colormap, get_colormap,
9216         get_visual added to the vtable.
9217         
9218         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9219         GObject. Virtualize everything. 
9220         (gdk_gc_new_with_values): remove check for destroyed window,
9221         because now GdkWindow::create_gc will check this.
9222         (gdk_gc_set_values): New function to set GC values, this 
9223         was already implemented but wasn't in the header
9224
9225         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9226
9227         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9228         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9229         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9230         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9231         _gdk_windowing_window_init, rename gdk_image_init to
9232         _gdk_windowing_image_init.
9233         
9234         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9235         (gdk_draw_layout): Remove check for destroyed window, 
9236         because all the drawable methods already check it.
9237         
9238         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9239         Add gdkpixmap.c which contains implementation of GdkDrawable
9240         virtual table (by chaining to a platform-specific implementation
9241         object).
9242         
9243         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9244         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9245         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9246         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9247         GdkColormapPrivate. 
9248
9249         * gdk/gdktypes.h: #include <glib-object.h>
9250
9251         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9252         Move most functionality to platform-specific implementation
9253         object. GdkWindow itself now handles the backing store, then
9254         chains to the platform-specific implementation.
9255         (gdk_window_get_window_type): return GdkWindowType of the window.
9256         (gdk_window_peek_children): New routine, returns the children of 
9257         a GdkWindow
9258         (gdk_window_get_children): Was in X11-specific code and did 
9259         XQueryTree. Changed to simply return a copy of window->children; 
9260         so it can go in cross-platform code.
9261         
9262         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9263
9264         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9265         GdkColormap; just changed to use the new private data instead
9266         of casting to GdkColormapPrivate.
9267
9268         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9269         gdk_cursor_new().
9270
9271         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9272         (private data member in the GObject). 
9273         (xdnd_manager_source_filter): Function had broken 
9274         error handling, fix it (use gdk_error_trap_push).
9275
9276         * gdk/x11/gdkdrawable-x11.c: This file now implements
9277         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9278         base class is purely for the convenience of the X port,
9279         and not part of the interface to cross-platform GDK.
9280
9281         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9282         
9283         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9284         specific to X, and returned by the create_gc virtual method
9285         of GdkDrawableImplX11. 
9286         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9287         rather than gchar, this was also changed in the GdkGC vtable.
9288         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9289         mask is 0, return immediately, instead of checking every flag.
9290         This is faster, and keeps us from segfaulting if values is NULL
9291         and the mask contains some nonzero flags.
9292
9293         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9294         GdkWindow.
9295
9296         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9297         GdkWindowPrivate is gone.
9298
9299         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9300
9301         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9302         remove the image_put stuff that got transferred to GdkDrawable.
9303         
9304         * gdk/x11/gdkinput.c: renamings
9305
9306         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9307
9308         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9309
9310         * gdk/x11/gdkprivate-x11.h: indentation fixes
9311
9312         * gdk/x11/gdkproperty-x11.c: renamings
9313
9314         * gdk/x11/gdkselection-x11.c: renamings
9315
9316         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9317         implements the platform-specific "impl" object.
9318         Moved gdk_window_get_children to gdk/gdkwindow.c
9319
9320         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9321         that no longer exist. Add declaration of GdkGCX11 object here.
9322         Fix all the macros to still work. 
9323
9324         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9325         GdkDragContext from the boxed types since they are now GObjects.
9326
9327         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9328         moved xthickness/ythickness into the instance. GtkStyleClass
9329         functions are now in the standard vtable for GtkStyle, so you have
9330         to create a GObject subclass to write a theme engine.
9331         (gtk_style_copy): fixed a leaked PangoFontDescription
9332         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9333         can be the standard GObject function.
9334         
9335         * Throughout GTK:
9336         s/style->klass->[xy]thickness/style->[xy]thickness
9337         s/pango_layout_unref/g_object_unref/
9338
9339         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9340         
9341         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9342         accessing GDK internals.
9343
9344         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9345         accessing GDK internals.
9346
9347 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9348
9349         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9350
9351         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9352         problem by calculating event position relative to the trough
9353         rather than the slider.
9354         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9355
9356         * gdk/gdkgc.h: Add GDK_NOR.
9357
9358         * configure.in, Makefile.am: Add modules top level dir
9359         * configure.in: Only use pangox library if building x11 target.
9360         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9361
9362 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9363
9364         * gtk/gtkcolorsel.c: Change private class member to be named
9365         private_data throughout the file.
9366
9367         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9368         private_data to avoid clashing with keyword.
9369
9370 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9371
9372         * gdk/gdkdnd.h: Add comment to remove warning.
9373
9374 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9375
9376         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9377         Byelorussian language; changed the Makefile and file names 
9378         to reflect that.
9379
9380 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9381
9382         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9383         rather than gdk_window_hide; this makes things work
9384         correctly if the window is programmatically hidden while
9385         iconified.
9386
9387 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9388
9389         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9390         cut and paste typo where wrong pixmap was being
9391         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9392
9393 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9394
9395         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9396         Add helper function to compute format / bytes 
9397         relationship. Use in a couple places to fix up
9398         errors which assume 8 * format.
9399
9400         * gtk/gtkselection.c (gtk_selection_request): Use 32
9401         rather than 8 * sizeof (GdkAtom), to work correctly
9402         on Alpha.
9403
9404 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9405
9406         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9407         libgtk.la
9408         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9409         versions
9410
9411         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9412         checking macros return NULL since the function has a return value.
9413
9414 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9415
9416         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9417         GTK+ from building at all.
9418
9419         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9420
9421 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9422
9423         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9424         gtk/Makefile.am: make it possible to configure gtk for different
9425         targets on the same platform. The library name is now 
9426         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9427         flag. Only the x11 target compiles right now.
9428         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9429         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9430         * gdk/nanox/gdk*generic*: delete generic region code.
9431         * gdk/linux-fb/gdk*generic*: delete generic region code.
9432         * README.nanox: update information.
9433         
9434 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9435
9436         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9437         prepend not append. (Pointed out by Brett Hall.)
9438
9439 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9440
9441         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9442
9443 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9444
9445         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9446         need this later, and this makes sure that the atexit for
9447         glib gets called after that for GDK, so atexits are
9448         properly ordered for object leak checking.
9449
9450         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9451
9452         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9453         pango_x_shutdown_display()
9454
9455         * gtk/simple.c (main): Close window on destroy.
9456
9457 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9458
9459         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9460         to treat initial creation different from setting with 
9461         regards to the graphics-exposures parameter, so add a parameter
9462         indicating whether this is initial or not.
9463
9464 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9465
9466         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9467         to sort of work by adding an extra return_exposes arg
9468         to gdk_event_translate() - it might be better to simply
9469         deprecate the function altogether and force people to rewrite
9470         without it. gdk_window_scroll() handles most of it, and where
9471         gdk_window_scroll() doesn't work, simply redrawing more does.
9472
9473         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9474         assertion.
9475
9476         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9477
9478         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9479         bunch of pretty much useless /* Print debugging info */ comments 
9480         which had drifted away from the code they were commenting.
9481
9482 2000-06-02  Havoc Pennington  <hp@pobox.com>
9483
9484         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9485         is in working order.
9486         
9487         * gtk/testtext.c: Change to reflect anonymous mark API
9488
9489         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9490
9491         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9492         field, which was unused.
9493
9494         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9495         saves some typing.
9496
9497         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9498
9499         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9500         flag on the insertion point and selection bound
9501
9502         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9503         make mark-manipulation functions take a GtkTextMark* instead of a
9504         mark name.
9505         
9506         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9507         GtkTextMarkBody; will be used to detect attempts to delete
9508         the permanent marks (insert and selection bound)
9509
9510         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9511
9512 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9513
9514         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9515         flag to on.
9516
9517         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9518         Honor DOUBLE_BUFFRED_FLAG
9519
9520         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9521         function to set the DOUBLE_BUFFERED flag.
9522
9523         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9524         or not exposes done on the widget should be double-buffered.
9525
9526         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9527         to be what would be expected. (Fixes problem with a
9528         g_return_if_fail() validating a TextDirection enumeration)
9529
9530 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9531
9532         * gtk/gtkwidget.c: Remove all references to 
9533         offscreen flag which was no longer used.
9534
9535         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9536
9537         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9538         for non-null label_widget->parent.
9539
9540         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9541         which no longer was used.
9542
9543         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9544
9545         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9546         for null arguments.
9547
9548         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9549         check for destroyed windows.
9550
9551 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9552
9553         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9554         the slave context there.
9555
9556         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9557         identical to GtkWindow.
9558
9559 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9560
9561         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9562         pangox to here, so we can write them independent of rendering
9563         system, using GDK primitives.
9564
9565         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9566         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9567         since we have a rendering-system independent implementation in
9568         terms of draw_glyphs().
9569         
9570         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9571         function to render a single line.
9572
9573         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9574         into ../gdkpango.c, which simplifies things, since we
9575         don't have to deal with raw X gc's.
9576
9577 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9578
9579         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9580         get the logical attributes for a given GtkTextLine.
9581
9582 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9583
9584         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9585         g_locale_get_codeset() to g_get_codeset() change.
9586
9587 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9588
9589         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9590         descriptions.
9591
9592         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9593         the entry.
9594
9595         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9596         redoing (vastly simplifying) for Pango. Still needs quite
9597         a bit of work. (Size selection is currently poor. List of 
9598         predefined sizes is not a good idea, since all of these
9599         sizes won't necessarily be distinct.)
9600
9601 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9602
9603         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9604         CODESET results for LANG=C.
9605
9606 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9607
9608         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9609         which takes a stringized pango font description;
9610         ignore the older 'font' and 'fontset' declarations.
9611
9612         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9613         field with a GdkFont derived via gdk_font_from_description(),
9614         for compatibility. (Should we just remove it entirely?
9615         Probably too much compatibility breakage, but people
9616         should be migrating to the new Pango stuff as quickly
9617         as possible.)
9618
9619 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9620
9621         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9622
9623 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9624
9625         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9626         redoing; there are some bugs in size allocation right
9627         now, the semi-existant distinction between header / day
9628         fonts was removed, but, with Pango, could actually
9629         be made functional in a nice way.
9630         
9631         * gtk/testcalender: Move calender from examples into this
9632         directory as a test program. (We really need to restrcture
9633         testgtk into a whole directory full of tests for every
9634         widget or functionality group, separated into multiple .c
9635         files.)
9636
9637 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9638
9639         * gtk/testgtk.c (file_exists): Fix stupid typo that
9640         was keeping RC file from being loaded.
9641
9642         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9643         RC file font code.
9644
9645 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9646
9647         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9648         Add function to load a GdkFont from a PangoFontDescription.
9649
9650 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9651
9652         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9653         variable should be of type GdkEventPrivate.
9654
9655 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9656
9657         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9658         to have any widget for the label, use a GtkLabel widget
9659         to display the text. (Based partially on a patch from
9660         Anders Carlson.)
9661
9662         (Quite a bit of code reorganization - strip 90% of the
9663         guts out of gtkaspectframe and add a single virtual
9664         func to GtkFrameClass - compute_child_allocation.)
9665
9666 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9667
9668         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9669         (Removed clist->row_center_offset field because caching
9670         it wasn't saving time or code, added private function
9671         _gtk_clist_create_cell_layout()).
9672
9673 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9674
9675         * gtk/gtkaccellabel.c: Pangoized.
9676
9677         * gtk/[hv]ruler.c: Pangoized
9678
9679 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9680
9681         * gtk/gtkfilesel.c (gtk_file_selection_init):
9682         Use gtk_clist_set_column_auto_resize() to remove need
9683         need for manual column width computations.
9684
9685 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9686
9687         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9688         ensuring Pango correctness, and considerably simplifying the
9689         code.
9690         
9691         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9692
9693         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9694         getting of numbers of lines.
9695
9696         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9697         to the actual requested width of the lable, not to the wrap
9698         width we set.
9699
9700         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9701
9702         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9703           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9704
9705         * gtk/gtktextview.c: Fix structure inheritance.
9706
9707         * gtk/gtkprogressbar.c: Pangoize.
9708
9709 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9710
9711         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9712         in a function.
9713
9714         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9715         bug with computing line tops.
9716
9717         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9718
9719 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9720
9721         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9722         and y_offset coordinates to do what we need now. (The offset between
9723         buffer and layout coordinates has been reintroduced, but is a 
9724         bit different than before.)
9725
9726         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9727         handle the adjustments ourselves, and scroll as necessary using
9728         the new gdk_window_scroll().
9729         
9730         The advantage of this is that when we are incrementally revalidating,
9731         we are essentially rearranging things around the visible portion
9732         of the screen. With the old setup, the visible portion of the
9733         screen was moved around in the layout, so scrolling and redrawing
9734         to track that caused jumping of the display. Since we now
9735         control the scrolling ourselves, we can suppress this and
9736         only redraw when things actually change.
9737
9738 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9739
9740         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9741         the region not just redisplay it after-all, since we store the
9742         cursors in the LineDisplay. (Ugly interactions here between
9743         GtkLayout and GtkTextBTree here.)
9744         
9745         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9746
9747 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9748
9749         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9750         Added function to scroll contents of a window while keeping the
9751         window constant. Works by XCopyArea or guffaw-scrolling depending
9752         on the details of how the window is set up. (guffaw-scrolling
9753         still needs to be filled in.)
9754
9755 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9756
9757         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9758         move the debugging that was tied to a global variable
9759         to that.
9760
9761         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9762
9763         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9764         validated flag, in line data instead of setting height/width to
9765         -1. This allows us to perform operations with partially invalid
9766         buffer (using the old size for invalid lines) and thus to do
9767         incremental vaidation. Keep height/width aggregates up to date
9768         when deleting text and rebalancing the tree.
9769
9770         * gtk/gtktextbtree.[ch]: Add functions validate a line
9771         (gtk_text_btree_validate_line), and to validate up
9772         to a number of pixels (gtk_text_btree_validate).
9773
9774         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9775         that indicates that something is changed and a revalidation
9776         pass is needed. Change ::need_repaint to ::changed, and
9777         make it take old and new yranges instead of a rectangle.
9778
9779         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9780         the line_data_destroy() function from 
9781         gtk_text_btree_add_view() to a virtual function in 
9782         GtkTextLayout
9783
9784         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9785         since we are handling partial repaints in a different fashion
9786         now.
9787
9788         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9789         of the selection instead of queueing a repaint on the
9790         entire widget.
9791
9792         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9793         get_selection_bounds() down to btree, make the function
9794         in buffer a wrapper around the btree function.
9795
9796         * gtk/gtktextlayout.[ch]: Add functions to check if the
9797         layout is valid and to recompute either a range of pixels
9798         aroudn a line or a certain total number of pixels.
9799
9800         * gtk/gtktextlayout.[ch]: Cache a single line display;
9801         now that we only redraw the needed portions, the hit rate
9802         for this cache is quite high.
9803         
9804         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9805         on the screen so that when re-laying-out the buffer, we can
9806         keep the same place. This requires connecting to ::value_changed
9807         on the adjustments
9808
9809         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9810         the buffer after we receive an ::invalidated signal.
9811         
9812 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9813
9814         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9815         to max of allocation and layout size, not just to the
9816         layout size.
9817
9818         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9819         Invalidate window so it gets redrawn properly.
9820
9821         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9822         to mean the entire window.
9823
9824         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9825         into public header.
9826
9827 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9828
9829         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9830         to get the name of a mark.
9831
9832         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9833         to find the paragraph from a y position.
9834
9835 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9836
9837         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9838         nodes have width/height >= 0, not > 0.
9839
9840 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9841
9842         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9843         Add a size_only flag, so when we only need the size, we don't create
9844         useless appearance attributes.
9845
9846         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9847         duplicate setting of font description.
9848
9849         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9850
9851 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9852
9853         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9854         EXTRA_DIST. It does not work well when the file that
9855         everything depends on is not in the tarball.
9856
9857 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9858
9859         * gtk/testgtk.c: Some hacks and fixes so that it basically
9860         works when not sitting in the GTK+ build tree.
9861
9862 2000-05-03  Havoc Pennington  <hp@redhat.com>
9863
9864         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9865         Properly determine the ordering of the tag root and the current
9866         line within the tree. Previous algorithm only worked if the tag
9867         root's immediate parent was the common root of both the current
9868         line and the tag root.
9869
9870 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9871
9872         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9873         alignment.
9874
9875         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9876         the widget text directional dynamically.
9877
9878         * gtk/gtktextview.[ch]: Added functions to get and set default
9879         wrap mode.
9880
9881 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9882
9883         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9884         in cursor location computation.
9885
9886 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9887
9888         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9889         vadjusment values properly when layout gets smaller.
9890
9891         * gtk/gtktextview.c (need_repaint_handler): Areas being
9892         passed in are far completely inaccurate, and sometimes
9893         too small, so, for now, just queue a redraw on the
9894         whole visible region.
9895
9896 2000-04-25  Havoc Pennington  <hp@redhat.com>
9897
9898         * gtk/gtktextbtree.c (summary_destroy): new function to 
9899         destroy tag summary nodes
9900         (gtk_text_line_next_could_contain_tag): this function was 
9901         totally broken if the line passed in wasn't below the tag
9902         root. Fix it.
9903         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9904         "wildcard" case, we have to do a linear scan. Blah.
9905         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9906         we have to do the linear scan
9907         (tag_removed_cb): When a tag is removed from the tag table, 
9908         remove the GtkTextTagInfo node from the btree.
9909         (gtk_text_btree_spew): Implement the spew function, for 
9910         our debugging pleasure.
9911
9912 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9913
9914         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9915         a problem with referring to the wrong buffer.
9916
9917         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9918
9919         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9920         font description to gtk_style_new() - otherwise things
9921         don't work without a .gtkrc file.
9922
9923         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9924         tags table if we create it ourself, too.
9925
9926         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9927         it was conflicting with XKB modifiers.
9928
9929         * gtk/gtktextview.[ch]: Add simple support for 
9930         GtkIMContext.
9931
9932 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9933
9934         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9935         with deletion from last commit.
9936
9937 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9938
9939         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9940         in the context from the current locale.
9941         
9942         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9943         context, not hardcoded value.
9944
9945         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9946         not logical.
9947
9948 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9949
9950         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9951         attributes - that doesn't handle partial-glyph selection
9952         properly. Instead use new pango_layout_line_get_x_ranges()
9953         functionality to draw the selection.
9954
9955         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9956         now properly handles out-of-range coordinates.
9957
9958         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9959
9960         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9961         public.
9962
9963         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9964         for paragraphs opposite to the base direction of the widget.
9965
9966         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9967
9968         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9969         causes Arabic words to reshape as you cursor through.
9970
9971         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9972         cursor position when moving vertically with the arrow keys and
9973         scrolling with page-up/page-down. (Arrow keys save only the X,
9974         scrolling saves both X and Y.)
9975
9976         This means you can line-up / line-down or page-up / page-down
9977         without losing your place, and also that moving vertically
9978         with the cursor keys keeps the same X position, not the same
9979         character count:
9980
9981         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9982         arrow keys move by display lines, not paragraphs.
9983
9984 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9985
9986         * gtk/gtklayout.c: Make sure that the bin window is at least
9987         as big as the allocation. (Should we also make sure that the
9988         bin window is big enough to completely cover widget->window?)
9989
9990         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9991         function to get the onscreen rectangle.
9992
9993         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9994         for offsets in window coordinates.
9995
9996 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9997
9998         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9999         confusion.
10000
10001         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10002         from the widget direction.
10003
10004         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10005         Add a "direction" attribute.
10006
10007         * gtk/gtktextview.c: global s/tkxt/text_view/.
10008
10009         * gtk/testtext.c: Added long block of text in Arabic, to test out
10010         the direction attributes. (Some problems with the shaping system
10011         for arabic become obvious - like the fact the cursor splits words
10012         into unjoined pieces.)
10013
10014 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10015
10016         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10017
10018         * gtk/gtktextlayout.c: Fix up alignment.
10019
10020         * gtk/testtext.c: Add some tests for centering, wrapping.
10021
10022 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10023
10024         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10025         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10026         If we wrote GTK+-specific layout-render function this could just replace
10027         the draw_layout() operation in the vtable.
10028
10029         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10030         pango_layout_get_cursor_pos() and use that function.
10031
10032         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10033         is a non-static symbol.
10034
10035         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10036         with gtk_text_btree_find_line_by_y()
10037
10038         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10039         renderer that handles GtkTextAppearance attributes.
10040
10041         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10042
10043           - Move the values in the style that don't affect geometry into a
10044             GtkTextAppearance structure.
10045           - Change underline to take a PangoUnderline and "font" a string
10046             representation of a font description
10047           - Add a "font_desc" attribute which takes a FontDescription structure.
10048
10049         * gtk/gtktextlayout.[ch]:
10050
10051           - Get rid of the display-line list per each line. Instead, we
10052             generate, on demand, a GtkTextLineDisplay structure which]
10053             contains a PangoLayout * and other necesary information
10054             (offsets, cursor locations) for displaying a paragraph.
10055           - Get rid of the code to wrap lines, create display chunks,
10056             etc. Instead, we just go through a paragraph and convert
10057             it into the necessary inputs to a PangoLayout.
10058           - Implement a new attribute type, GtkTextAttrAppearance. This
10059             holds a GtkTextAppearance, and is used to pass colors, 
10060             stipple, etc, through from the layout to the display without
10061             having to use lots and lots of individual attributes.
10062           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10063             in terms of PangoLayout functions.
10064         
10065         * gtk/gtktextview.c: 
10066          
10067           - Handle passing the necessary PangoContext to the layout
10068           - Some fixups in painting to deal with the automatic backing store
10069             and offsetting of GTK+-1.4
10070           - Add a style_set handler so that the default style reacts
10071             properly to theme changes.
10072         
10073         * gtk/gtktext?*.[ch]: Random code-style fixes.
10074
10075         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10076
10077 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10078
10079         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10080         in original form preparatory to Pango-ization and gdkimcontext-ization.
10081
10082 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10083
10084         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10085         so that we can derive from gtkimcontext in language bindings properly.
10086
10087 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10088
10089         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10090         Add a compose table including (almost) all the compose combinations
10091         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10092         data in the XIM implementation.
10093
10094         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10095         Moved functions to convert keyvalues from and to unicode here from
10096         the win32 port and made them public.
10097
10098 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10099
10100         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10101
10102 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10103
10104         * gtk/gtkimcontext.[ch]: Base class for new input context system
10105
10106         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10107         the real input context implementation to be loaded from modules
10108         and switched on the fly.
10109
10110         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10111         context that just does direct keysymbol => unicode translation.
10112
10113         * gtk/gtkentry.[ch]: Start switching editing over to using
10114         GtkInputContext. (No handling of preedit yet.)
10115
10116 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10117
10118         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10119         many substitutions. (klass should not be subsituted.)
10120
10121 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10122
10123         * configure.in: Add checks for Pango
10124
10125         * configure.in docs/Makefile.am: Add test for sgml2html
10126         and allow 'make dist' without building html, but print out
10127         warnings in that case. (For making snapshots)
10128
10129         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10130         Add Pango libraries and C flags
10131
10132         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10133         Add function (gdk_draw_layout) to draw a pango layout.
10134
10135         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10136         for getting Pango contexts for GDK.
10137
10138         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10139
10140         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10141         editing.
10142
10143         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10144         keysym => unicode translations. More languages can be added
10145         here, but real input-method support is needed.
10146
10147         * docs/Changes-1.4.txt: Added note about entry behavior.
10148         
10149         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10150         to set the reading direction for a widget and the global direction.
10151         Add test which allows toggling the global direction. Two private
10152         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10153
10154         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10155           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10156
10157         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10158
10159         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10160         underlining now handled by Pango.
10161
10162         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10163         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10164         is temporary.)
10165
10166         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10167         convenience functions for creating contexts and layouts for widgets.
10168
10169         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10170
10171 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10172
10173         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10174         titles to be active, even if they aren't visible.
10175         (gtk_clist_column_titles_passive):  Ditto.
10176
10177 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10178
10179         * gtkmenu.c:
10180         * gtkmenu.h:
10181         * gtktypeutils.h: Spelling/grammar fixes in comments.
10182
10183 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10184
10185         * gdk/nanox/*.h: add missing header files.
10186
10187 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10188
10189         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10190         send_event to TRUE.
10191         (gtk_drawing_area_size): queue a resize.
10192
10193 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10194
10195         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10196         the handlers, also invalidate them. bug nailed down by Karl Nelson
10197         <kenelson@ece.ucdavis.edu>.
10198
10199 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10200
10201         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10202         "(nil)" foundries, patch from Grigorios Magklis.
10203
10204         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10205         on non-available fonts, based on a patch by Grigorios Magklis
10206         <maglis@cs.rochester.edu>.
10207
10208 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10209
10210         * gdk/x11/gdkregion-generic.c: If a region does not have any
10211         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10212         instead of GDK_OVERLAP_RECTANGLE_IN.
10213
10214 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10215
10216         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10217         OFFSCREEN, as it is no longer necessary.
10218
10219 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10220
10221         * gtk/gtkcolorsel.c: Patch from David Santiago
10222         <mrcooger@cyberverse.com> to change things so that the 
10223         indicator of the active palette entry is done independently,
10224         not via the focus, since it should always be visible.
10225
10226 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10227
10228         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10229         refcount leaks as in the X11 backend.
10230
10231         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10232         cosmetics.
10233
10234         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10235         backend. Add _gdk_windowing_window_destroy().
10236
10237         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10238         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10239         either, but these probably do exist on nanox?)
10240         
10241         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10242         which isn't necessarily defined by <math.h>.
10243
10244         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10245         ancestry past GtkObject.
10246
10247         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10248         from DLL on Win32.
10249
10250         * gtk/gtk.def: Update corresponding to recent changes.
10251
10252         * gtk/makefile.{cygwin,msc}: Updates.
10253
10254 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10255
10256         * docs/Changes-1.4.txt: A bit of editing.
10257
10258         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10259         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10260         to clear the update area for the window, and clear it
10261         when hiding a window.
10262
10263         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10264         if window destroyed.
10265
10266         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10267
10268         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10269         gdk_window_destroy() to the generic code, since there was a lot of 
10270         window-system-independent logic it in. Add a function:
10271         
10272          _gdk_window_destroy() 
10273
10274         to the internal API to destroy a window without unreferencing it.
10275         Add a function:
10276
10277          _gdk_windowing_window_destroy()
10278
10279         That does the windowing-system-dependent part of destroying 
10280         the window.
10281
10282 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10283
10284         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10285
10286 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10287
10288         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10289         Make gtk_widget_shape_combine_mask() keep a reference count on
10290         the pixmap since it keeps it around.
10291
10292 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10293
10294         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10295         leak.
10296
10297         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10298         leak with event filters.
10299
10300 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10301
10302         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10303         signal handlers with the right data arguments. (Fixes
10304         some warnings when a widget was repeatedly set as a drag
10305         destination.)
10306
10307         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10308         window so we can avoid avoid setting the DND properties on the
10309         toplevel window repeatedly.
10310
10311 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10312
10313         * gdk/win32/gdkwin32.h: Define more message types missing from
10314         mingw headers.
10315
10316         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10317         call gdk_window_destroy_notify(). It was never called. This
10318         probably meant that the GdkWindow was never freed. Thanks Owen for
10319         noticing (!).
10320
10321         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10322         window as destroyed before calling DestroyWindow(). DestroyWindow()
10323         causes a call to the window procedure (gdk_WindowProc), which
10324         calls gdk_event_translate(), which calls
10325         gdk_window_destroy_notify(), which gets confused unless the window
10326         is set as destroyed.
10327
10328         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10329         this function to indicate it's win32 only. Put inside #ifdef
10330         G_ENABLE_DEBUG.
10331
10332         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10333         debugging function. (gdk_event_translate:) Add a default branch
10334         that uses the above function to print debug messages with all
10335         Windows messages symbolically.
10336
10337         * gdk/win32/gdkprivate-win32.h: Declare it, and
10338         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10339
10340 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10341
10342         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10343         public header file.
10344
10345 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10346
10347         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10348
10349         * gtk/gtktext.c: made the adjustments no-construct args, simply
10350         provide default adjustments.
10351         (gtk_text_destroy): release adjustments.
10352
10353         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10354         adjustment argument non-construct.
10355
10356         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10357         instead of in finalize.
10358         (gtk_progress_get_text_from_value): 
10359         (gtk_progress_get_current_text): 
10360         (gtk_progress_set_value): 
10361         (gtk_progress_get_percentage_from_value): 
10362         (gtk_progress_get_current_percentage): 
10363         (gtk_progress_set_percentage): 
10364         (gtk_progress_configure): ensure an adjustment is present.
10365
10366 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10367
10368         * gtk/gtkcolorsel.[hc]:
10369         * gtk/gtkcolorseldialog.[hc]:
10370         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10371         their parent implementation, use bit fields for boolean values, don't
10372         create unused widgets, usage of glib types, braces go on their own
10373         lines, function argument alignment, #include directives etc. etc. etc..
10374
10375         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10376
10377 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10378
10379         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10380
10381         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10382         of NULL.
10383
10384         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10385         to freed data.
10386         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10387
10388         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10389         to NULL when the toplevel is getting destroyed.
10390         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10391         (gtk_menu_destroy): 
10392         (gtk_menu_init): store the information of whether we have to
10393         readd the initial child ref_count during destruction in a new
10394         GtkMenu field needs_destruction_ref_count.
10395
10396         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10397         here, those reading: learn from my mistake! ;)
10398         in order for set_?adjustment to support a default adjustemnt if
10399         invoked with an adjustment pointer of NULL, the code read (pseudo):
10400         if (v->adjustment) unref (v->adjustment);
10401         if (!adjustment) adjustment = adjustment_new ();
10402         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10403         now imagine the first unref to actually free the old adjustment and
10404         adjustment_new() creating a new adjustment from the very same memory
10405         portion. here, the latter comparision will unintendedly fail, and
10406         all hell breaks loose.
10407         (gtk_viewport_set_hadjustment):
10408         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10409         after unreferencing it.
10410
10411         * gtk/gtkcontainer.[hc]: removed toplevel registration
10412         functions: gtk_container_register_toplevel(),
10413         gtk_container_unregister_toplevel() and
10414         gtk_container_get_toplevels() which had wrong semantics
10415         anyways: it didn't reference and copy the list.
10416
10417         * gtk/gtkwindow.c: we take over the container toplevel registration
10418         bussiness now. windows are registered across multiple destructions,
10419         untill they are finalized. the initial implicit reference count
10420         users are holding on windows is removed with the first destruction
10421         though.
10422         (gtk_window_init): ref & sink and set has_user_ref_count, got
10423         rid of gtk_container_register_toplevel() call. add window to
10424         toplevel_list.
10425         (gtk_window_destroy): unref the window if has_user_ref_count
10426         is still set, got rid of call to
10427         gtk_container_unregister_toplevel().
10428         (gtk_window_finalize): remove window from toplevel list.
10429         (gtk_window_list_toplevels): new function to return a newly
10430         created list with referenced toplevels.
10431         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10432
10433         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10434         adjustment a non-construct arg.
10435         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10436         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10437         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10438
10439         * gtk/gtkrange.c: added some realized checks.
10440         (gtk_range_destroy): get rid of the h/v adjustments in the
10441         destroy handler instead of finalize. remove timer.
10442         (gtk_range_get_adjustment): demand create adjustment.
10443
10444         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10445         we simply create them on demand now and get rid of them in
10446         the destroy handler.
10447         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10448         destroy handler instead of finalize.
10449         (gtk_viewport_get_hadjustment): 
10450         (gtk_viewport_get_vadjustment): 
10451         (gtk_viewport_size_allocate): demand create h/v adjustment
10452         if required.
10453
10454         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10455         gtk_widget_real_destroy () functionality.
10456         (gtk_widget_real_destroy): reinitialize with a new style, instead
10457         of setting widget->style to NULL.
10458
10459 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10460
10461         * gtk/gtkcalendar.c:
10462         * gtk/gtkbutton.c: ported _get_type() implementation over to
10463         GType, either to preserve memchunks allocation facilities,
10464         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10465
10466         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10467         over. prepare for ::destroy to be emitted multiple times.
10468         removed reference tracer magic. chain into GObjectClass.shutdown()
10469         to emit ::destroy signal.
10470
10471         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10472         fundamental.
10473
10474         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10475         cludge.
10476
10477         * gtk/gtksocket.c:
10478         * gtk/gtkplug.c:
10479         * gtk/gtklayout.c:
10480         * gtk/gtklabel.c:
10481         * gtk/gtkargcollector.c:
10482         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10483         not being a fundamental anymore, and to work with the new
10484         type system (nuked fundamental type varargs clutter).
10485
10486         * gtk/*.c: install finalize handlers in the GObjectClass
10487         part of the class structure.
10488         changed direct GTK_OBJECT()->klass accesses to
10489         GTK_*_GET_CLASS().
10490         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10491
10492         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10493         GType. made most of the GTK_*() type macros and Gtk* typedefs
10494         simple wrappers around macros and types provided by GType.
10495         most notably, a significant portion of the old API vanished:
10496         GTK_TYPE_MAKE(),
10497         GTK_TYPE_SEQNO(),
10498         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10499         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10500         GTK_TYPE_ARGS,
10501         GTK_TYPE_CALLBACK,
10502         GTK_TYPE_C_CALLBACK,
10503         GTK_TYPE_FOREIGN,
10504         GtkTypeQuery,
10505         gtk_type_query(),
10506         gtk_type_set_varargs_type(),
10507         gtk_type_get_varargs_type(),
10508         gtk_type_check_object_cast(),
10509         gtk_type_check_class_cast(),
10510         gtk_type_describe_tree(),
10511         gtk_type_describe_heritage(),
10512         gtk_type_free(),
10513         gtk_type_children_types(),
10514         gtk_type_set_chunk_alloc(),
10515         gtk_type_register_enum(),
10516         gtk_type_register_flags(),
10517         gtk_type_parent_class().
10518         replacements, where available are described in ../docs/Changes-1.4.txt.
10519         implemented compatibility functions for the remaining API.
10520
10521         * configure.in: depend on glib 1.3.1, use gobject module.
10522
10523 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10524
10525         * TODO.xml: Various updates to current status.
10526
10527 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10528
10529         * gtk.m4: Print out version when test succeeds.
10530
10531 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10532
10533         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10534         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10535         
10536         (Original triangle color selector from Simon Budig
10537         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10538         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10539         Santiago <mrcooger@cyberverse.com>)
10540
10541         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10542         out into a separate widget.
10543
10544         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10545         and opacity controls.
10546
10547 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10548
10549         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10550         snuck in prematurely.
10551
10552 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10553
10554         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10555         had deleted a ! operator by mistake, which caused
10556         GDK_SELECTION_CLEAR events never to be generated, which caused
10557         only the first copy to the clipboard from an gtkeditable to
10558         actually cause a copy to the Windows clipboard.
10559
10560 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10561
10562         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10563         compilation, too. Current mingw gcc distributions include the
10564         necessary headers. Also the necessary IIDs are now in mingw
10565         headers/libraries, and own definitions unnecessary.
10566
10567         More hacking on OLE2 DND, still doesn't work though, and thus
10568         ifdeffed out.
10569
10570         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10571         here, too.
10572
10573 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10574
10575         * gdk/nanox/*: nano-X port work in progress.
10576         * gdk/simple.c: simple test for Gdk.
10577         * README.nanox: notes about the port: read this first!
10578         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10579         with nano-X.
10580
10581 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10582
10583         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10584         gdk_window_clear() into common code, implement in terms of
10585         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10586         not redirected to the backing rectangle.
10587
10588 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10589
10590         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10591         EXTRA_DIST. It does not work well when the file that
10592         everything depends on is not in the tarball.
10593
10594 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10595
10596         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10597         with recursion where process_updates() is called from
10598         an expose handler. (GtkTextView is highly broken in
10599         doing this, but it should work, so it is a nice test
10600         case.)
10601
10602 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10603
10604         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10605         handle the case where updates are queued during processing of
10606         updates.
10607
10608 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10609
10610         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10611         window is on gdk_display - use that instead of segfaulting.
10612
10613 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10614
10615         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10616         broken and require an empty arg, give it to them.
10617
10618 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10619
10620         * gtk/gtklabel.h: indentation fixes.
10621
10622 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10623
10624         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10625         draw too narrow or too low arcs, they seem to fail, at least with
10626         some display drivers.
10627
10628         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10629
10630         Large changes to the Win32 backend, partially made necessary by
10631         the changes to the backend-independent internal
10632         structures. Attempts to implement similar backing store stuff as
10633         on X11. The current (CVS) version of the Win32 backend is *not* as
10634         stable as it was before the no-flicker branch was merged. A
10635         zipfile with that version is available from
10636         http://www.gimp.org/win32/. That should be use by "production"
10637         code until this CVS version is usable. (But note, the Win32
10638         backend has never been claimed to be "production quality".)
10639
10640         * README.win32: Add the above comment about versions.
10641
10642         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10643
10644         * gdk/gdk.def: Update.
10645
10646         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10647         presumably be replaced by some more better mechanism as 1.4 gets
10648         closer to release shape.
10649
10650         * gdk/makefile.{cygwin,msc}: Update.
10651
10652         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10653         internal headers. Change code according to changes in these. Use
10654         gdk_drawable_*, not gdk_window_* where necessary.
10655
10656         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10657         our old DND.
10658
10659         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10660         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10661         Use correct function name in warning messages.
10662
10663         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10664         GSourceFuncs gdk_event_prepare and gdk_event_check.
10665         (gdk_event_get_graphics_expose): Do implement, use
10666         PeekMessage. Thanks to Hans Breuer.
10667         (event_mask_string): Debugging function to print an GdkEventMask.
10668         (gdk_pointer_grab): Use it.
10669
10670         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10671         (old) book I used claimed was Hangul actually is CJK Unified
10672         Ideographs Extension A. Also, Hangul Syllables were missing.
10673         Improve logging.
10674
10675         * gdk/win32/gdkgc-win32.c: Largish changes.
10676
10677         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10678         g_win32_getlocale() from GLib, and not setlocale() to get current
10679         locale name.
10680
10681         * gdk/win32/gdkprivate-win32.h
10682         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10683         gdkwin32.h, similarily as in the X11 backend.
10684
10685         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10686         assignment was used instead of equals in if test. Thanks to Hans
10687         Breuer.
10688
10689         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10690         the X11 version.
10691
10692         * gdk/win32/makefile.{cygwin,msc}
10693         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10694         path to the Win32 headers that works also with the mingw compiler.
10695
10696         * gtk/gtkstyle.c: Include <string.h>.
10697
10698 2000-04-26  Havoc Pennington  <hp@redhat.com>
10699
10700         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10701         replacing the broken gtk_label_get ()
10702
10703 2000-04-15  Havoc Pennington  <hp@pobox.com>
10704
10705         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10706         this keeps scanner scripts from getting confused.
10707
10708         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10709         data, rather than void
10710
10711 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10712
10713         * gtk/gtkclist.c (gtk_clist_motion)
10714         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10715         with is_hint FALSE, get x and y from the event. They used to be
10716         used uninitialised. The Win32 backend never sends motion events
10717         marked as hints. This for instance fixes the annoying file and
10718         font selector behaviour in the Win32 version.
10719
10720 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10721
10722         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10723         gtk_private_n_signals variables, they are used by some software,
10724         sigh.
10725
10726         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10727         installation directory from the Registry, where the installer
10728         should have put it.
10729
10730 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10731
10732         * gdk/x11/Makefile.am: Fix problem with installation directory for
10733         gdkx.h
10734
10735         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10736         <mrcooger@cyberverse.com> so that when selecting menus with the
10737         mouse, the first item will not be selected, but when selecting
10738         with an accelerator, or navigating left-right on a menubar with
10739         the menus popped up, the first item will be selected.
10740
10741 2000-04-05  Dan Damian  <dand@dnttm.ro>
10742
10743         * configure.in: Added "ro" to ALL_LINGUAS.
10744
10745 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10746
10747         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10748         indentation.
10749
10750         * Makefile.am (EXTRA_DIST): Fix typo.
10751
10752         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10753         to catch gdkconfig.h
10754
10755         * gtk/gtkitemfactory.c: Added FIXME.
10756
10757 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10758
10759         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10760         s/return_if_fail/return_val_if_fail/g and add a return value.
10761
10762 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10763
10764         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10765         merge slipup.
10766
10767         * gdk/gdkinput.h: Fix missing line from merge.
10768
10769 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10770
10771         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10772         instead of gdkprivate.h.
10773
10774 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10775
10776         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10777         parent class to correctly be GtkDialogClass.
10778
10779 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10780
10781         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10782         toplevel windows and their immediate children by their parents,
10783         since the size of toplevel windows is out of our immediate
10784         control and we don't get any real benefit from trying to track
10785         this size for clipping.
10786
10787         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10788         for input_only windows.
10789
10790         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10791         to fix some hacks and make sure that we don't try to set the
10792         background of input only windows.
10793
10794 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10795
10796         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10797         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10798         stuff that we've traditionally exposed.
10799
10800         * gdk/**.c: Use gdkinternals.h where appropriate.
10801
10802         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10803         not include gdkprivate-x11.h, move all stuff of conceivable public
10804         interest into gdkx.h; keep all really private stuff in
10805         uninstalled header gdkprivate-x11.h.
10806
10807         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10808         image->image_put on windows through a new function _gdk_window_draw_image()
10809         to allow us to do backing store for images. (Sort of ugly)
10810
10811         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10812         contexts locally so that we can offset them properly when drawing 
10813         onto backing pixmaps.
10814
10815         * gdk/gdkinput.h: Reindented
10816
10817         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10818         pixmap or color for the window, so we can properly initialize
10819         our double-buffer pixmaps, and also so that we temporarily set
10820         a background of None while scrolling.
10821
10822         * gdk/gdkregion.h: Revise region boolean operators to have an
10823         interface that is actually convenient - switch from creating new
10824         regions on every op, to "methods" that modify existing regions
10825         (A = A OP B). 3 argument forms which allow dest == src, would also
10826         be possible, but the current interfaces seem to map nicely
10827         onto what needs to be done. (There is quite a lot of region
10828         code in GDK now.)
10829
10830         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10831         operator.
10832
10833         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10834         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10835         to 32 bit coordinates, modify it to be mostly GTK+ style
10836         and to have interfaces that match gdkregion.h.
10837
10838         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10839         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10840         create a backing pixmap and redirect all drawing to
10841         that backing pixmap until a matching gdk_window_end_paint().
10842
10843         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10844         Create a special drawable class for GtkWindow's that 
10845         redirects the drawing to the backing pixmap as necessary
10846         and then calls the real operations in _gdk_windowing_window_class.
10847
10848         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10849         Store invalid region for each window. Generate expose events for invalid
10850         region in an idle. This replaces both the expose compression
10851         and the redrawing queuing in GTK+. It is both more efficient and
10852         simpler than either one individually and far more so then the
10853         combination.
10854
10855         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10856         Emulate 32 bit coordinates for windows with 16 bit coordinates
10857         by offsetting drawing, guffaw scrolling techniques and
10858         mapping/unmapping child windows as necessary.
10859
10860         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10861         where, when invalid regions are processed, the region is stored,
10862         and if expose events come in that are detectably duplicate
10863         the processed exposes (by comparison of event serial numbers),
10864         the stored region is subtracted out of those exposes.
10865
10866         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10867         regions newly exposed when scrolling or resizing windows.
10868         This, combined with forcing processesing of queued invalidated
10869         regions, gives nice flicker-free scrolling.
10870
10871         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10872         invalidated regions after every scroll.
10873
10874         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10875         emulation in GDK. Its, for all practical purposes just a
10876         GtkViewport/GtkFixed hybrid now.
10877
10878         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10879         (16-bit) structures as necessary instead of just casting.
10880
10881         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10882         in terms of the structures from gdkregion-generic.c, using appropriate
10883         offsets from GDK to X11 coordinates. Cache clip mask and
10884         origin and ts origin locally and only flush to the server
10885         when drawing, to avoid constantly setting and resetting these
10886         values when offsetting GC's for scrolling and backing pixmaps.
10887
10888         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10889
10890         * gtk/gtkcontainer.c: Call process_all_updates at end
10891         of resizing to reduce flicker. (Avoids having redraw
10892         lag arbitrarily behind resize under some circumstances)
10893
10894         * gtk/gtkentry.c: Remove old backing store code, and simply take
10895         advantage of the new backing store capabilities of GDK.
10896
10897         * gtk/gtkmain.c: Simple implementation of widget backing
10898         store - simply push a paint while handling each expose.
10899         (Should really be configurable widget for widget.)
10900         
10901         * gtk/gtkwidget.c: Remove all the old complicated redraw
10902         code, and simply invalidate the GDK windows from
10903         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10904         debugged complexity ... gone to the winds.)
10905
10906         Remove all the code for suppressing expose events while
10907         resizes are pending; this isn't needed since the invalid
10908         areas won't be processed until after the resizes are
10909         processed, since they are in a lower priority idle.
10910
10911 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10912
10913         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10914         and height of dest rectangle for non-intersecting rectangles.
10915
10916 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10917
10918         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10919         for GdkRectangle.
10920
10921 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10922
10923         * gdk/gdk{events,image,private,types,window}.h
10924          gdk/x11/gdkinputprivate.h: Change all coordinates
10925          from int16 to int. Also, Change width and height from
10926          unsigned to signed to avoid all the stupid C 
10927          signedness bugs.
10928
10929 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10930
10931         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10932         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10933         Add some more detailed checking.
10934
10935         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10936         New function to retrieve the depth of a drawable.
10937
10938         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10939         field, reorder fields to save memory. 
10940
10941 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10942
10943         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10944         of the background image instead of scaling the background down to
10945         a line.
10946
10947         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10948         which temporarily set slider to wrong size.
10949
10950         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10951         queue_clear().
10952
10953 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10954
10955 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10956
10957         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10958
10959 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10960
10961         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10962         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10963
10964         * gdk/win32/gdkfont-win32.c
10965         * gdk/win32/gdkproperty-win32.c
10966         * gdk/win32/gdkselection-win32.c
10967         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10968         now declared such.
10969
10970 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10971
10972         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10973
10974 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10975
10976         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10977         is called without trapping X errors.
10978
10979 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10980
10981         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10982         way into the fontset lists.
10983
10984 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10985
10986         * gtk/gtkthemes.h: add extern "C" scope.
10987
10988 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10989
10990         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10991         to make appends to the list constant. (gtk-guy-990901-0.patch)
10992
10993 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10994
10995         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10996         for the typename hash table.
10997
10998 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10999
11000         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11001         to make sure we never divide by zero. 
11002         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11003
11004 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11005
11006         * gtk/gtkfontsel.c: Apply patch from
11007         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11008         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11009
11010         Also, some cleanups in atom handling.
11011
11012 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11013
11014         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11015         not GtkWidget.
11016
11017 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11018
11019         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11020         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11021         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11022         more guint wrap-around bugs before going to bed.
11023
11024 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11025
11026         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11027         guint wrap arounds in allocation.width.
11028
11029         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11030         process untill we fit the allocation given.
11031
11032 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11033
11034         * gtk/gtkwidget.c:
11035         (gtk_widget_unrealize): guard widget access with ref/unref
11036         around signal emission.
11037         (gtk_widget_hide): same here, but also check its destroyed
11038         state before queueing a resize.
11039
11040 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11041
11042         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11043         of gtk_default_insensitive_bg as insensitive base color.
11044
11045         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11046         to the widget's state.
11047         (gtk_text_realize): same here.
11048         (gtk_text_state_changed): same here.
11049         (draw_bg_rect): compare background color against base[] from
11050         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11051
11052 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11053
11054         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11055         grabs are active, unless a delete event is send to the toplevel
11056         of the currently grab holding widget.
11057
11058 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11059
11060         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11061         debugging g_print's.
11062
11063 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11064
11065         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11066         ever make the scrolled-window requisition ever depend on the 
11067         visibility state of the scrollbars for the AUTOMATIC policy. 
11068         This breaks the GTK+ requisition model, and causes loops.
11069
11070 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11071
11072         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11073         the default font to avoid problems with XFree86-4.0 where the
11074         default charset is iso10646-1, not iso8859-1.
11075
11076 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11077
11078         * acinclude.m4
11079         * config.guess
11080         * config.sub
11081         * ltconfig
11082         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11083
11084         * gtk/Makefile.am: minor cosmetic consistency tweak
11085
11086 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11087
11088         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11089         the activate_time to 0, so that we handle a quick
11090         press/release press/release properly and don't suppress
11091         the second release. (Red Hat bug #7545)
11092
11093 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11094
11095         * gtk/gtkctree.c (row_delete):
11096         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11097         bugs with destruction notifier, *always* update internal
11098         structures *before* calling user code.
11099
11100 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11101
11102         A few more fixes for bug #5487, #2051, #2677.
11103         * gtk/gtkclist.c : 
11104         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11105         not GDK_BUTTON_PRESS.
11106         (resync_selection): resync only if selection_mode is
11107         GTK_SELECTION_EXTENDED
11108         * gtk/gtkctree.c (resync_selection): same here
11109
11110 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11111
11112         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11113         gdk_drag_get_selection() and gtk_menu_detach().
11114
11115         [ From Jeroen Ruigrok/Asmodai ]
11116
11117 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11118
11119         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11120         page->tab_label can be NULL.
11121
11122 2000-01-25  Havoc Pennington  <hp@pobox.com>
11123         
11124         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11125         arg is boolean
11126
11127         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11128
11129         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11130
11131         * gdk/gdkproperty.c (gdk_property_get): return boolean
11132
11133         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11134
11135         * gdk/gdkim.c (gdk_im_ready): return boolean
11136
11137         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11138
11139         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11140         glib clash, should fix glib)
11141
11142         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11143         (gdk_get_show_events): return gboolean, and canonicalize 
11144         to TRUE/FALSE
11145
11146         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11147         colormap is private
11148         (gdk_colors_alloc): gboolean whether to be contiguous
11149         (gdk_color_equal): return gboolean since we are a predicate
11150         and not a qsort() (this looks semi-wrong due to glib breakage,
11151         IMO glib should be fixed)
11152         
11153         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11154         (gdk_get_use_xshm): return gboolean
11155         (gdk_pointer_is_grabbed): return gboolean
11156
11157         * gdk/gdk.h: Change prototypes to match all the above changes,
11158         and re-run egtk-format-protos as required.
11159
11160 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11161
11162         * gtk/gtkctree.c (resync_selection): 
11163         * gtk/gtkclist.c (resync_selection):
11164
11165         Return immediately if clist->drag_pos < 0. This is a workaround
11166         for the corrupt state that the clist gets into when a
11167         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11168
11169         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11170         
11171         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11172         variable from recent commit.
11173
11174 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11175
11176         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11177
11178 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11179
11180         * gtk/Makefile.am: prefix all autogenerated source that get build in
11181         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11182         in builddir. since we subsequently cd into srcdir for autogeneration,
11183         the paths have to be stripped from the target file names, thusly we
11184         use $(@F) as target names now.
11185         put a comment about configure.in's --disable-rebuilds option,
11186         which can be used for non-writable source directories, for development
11187         setups though, srcdir has to be *writable*.
11188
11189 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11190
11191         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11192           Finish the job of allowing event to be NULL.
11193           (Fixes bug #4283, reported by Chris Blizzard)
11194
11195         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11196           things so that the cursor appears on screen, properly
11197           take into account INNER_BORDER.
11198           (Fixes bug #4754, reported by Antonio Campos)
11199
11200 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11201
11202         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11203           show the tab_label unless it itself is visible.
11204
11205           gtk/gtknotebook.c (gtk_notebook_size_request):
11206           Do a better job of making sure that the visibility
11207           of the tab label corresponds to whether it should
11208           be mapped or not.
11209
11210 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11211
11212         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11213           Use the requisition, not the allocation, since the
11214           allocation has not necessarily been computed yet.
11215           (Pointed out by Eugene Osintsev)
11216
11217 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11218
11219         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11220           style/base[GTK_STATE_INSENSITIVE] both to
11221           gtk_default_insensitive_bg!
11222           (Bug #2187, reported by Jonathan Blandford)
11223
11224         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11225           Add Alt_L, Alt_R to list of invalid accelerators.
11226           (Bug #3736, reported by Vlad Harchev)
11227
11228 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11229
11230         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11231         bugs which occured after an attempt to open 
11232         invalid home directory left cmpl_state->reference_dir == NULL.
11233
11234          - completion on files in home directory didn't work
11235          - completion on an empty string caused  segfault
11236
11237          (Bug #3678, reported by Steve Ratcliffe)
11238
11239         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11240         cut and paste error that was causing scales to
11241         be incorrectly positioned.
11242         (Bug #2956,
11243          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11244
11245 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11246
11247         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11248         when checking for dcgettext, if we've found we needed
11249         it for dgettext.
11250 +
11251 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11252
11253         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11254         queue_clear on NO_WINDOW widgets during a reparent,
11255         since at that point the window and widget heirarchies
11256         are out of sync. This stops crashing in some cases
11257         (the scrolled window reparent test, for instance), and
11258         _probably_ won't cause drawing errors.
11259
11260         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11261         test do what it was supposed to do and be robust against
11262         window closings, etc. (Bug #2443)
11263
11264 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11265
11266         * gtk/gtkentry.c: Fix return values on mouse events.
11267         (Bug #2686, Sky <seb_sky@yahoo.com>)
11268
11269         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11270         (pointed out by George Lebl)
11271
11272         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11273         (From Ettore Perazzoli  <ettore@helixcode.com>)
11274  
11275 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11276
11277         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11278         clicks between rows or outside calender area correctly.
11279         (Patch from Damon Chaplin)
11280
11281         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11282         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11283           Call destroy function when overwriting existing data. 
11284           (Pointed out by Damon Chaplin)
11285
11286 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11287
11288         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11289           which was causing problems on various systems with Xmu.
11290           This hasn't been needed for a very long time.
11291           (Fixes #1185 3167)
11292
11293 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11294
11295         * gdk/gdki18n.h: Include <ctype.h> when defining
11296           gdk_isw* in terms of is* as a fallback.
11297           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11298
11299 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11300
11301         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11302           realize the widget when it is size allocated!
11303           (old, old bug)
11304
11305         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11306           Removed unused call to gdk_window_get_size() that
11307           showed up when the above was fixed.
11308
11309 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11310
11311         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11312           fix up widget->window when the widget is a
11313           NO_WINDOW container widget.
11314
11315 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11316
11317         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11318           to account for the fact that feof() does _not_ 
11319           return TRUE on errors, and thus avoid infinite loops
11320           when trying to use gdk_pixmap_create_from_xpm()
11321           on unreadable values.
11322
11323 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11324
11325         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11326
11327 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11328
11329         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11330           gdk_gc_set_dashes to take gint8 instead of gchar to
11331           make it clearer that it is _not_ a NULL terminated string.
11332
11333         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11334           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11335           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11336           arguments.
11337
11338 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11339
11340         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11341         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11342         background size relative to our allocation, guard against small
11343         allocations, we may have not yet been size allocated.
11344
11345 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11346
11347         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11348         not just version == 3. We implement all 3 + most of 4 - 
11349         (we don't support matching text/plain;charset=iso-8859-1
11350         to a dest that expects text/plain). We'll still advertise
11351         3 to be safe, but any client implementing version >= 3
11352         must interoperate with 3.
11353         
11354 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11355
11356         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11357         background and gc members, add a warning in gtk_tooltips_set_color()
11358         indicating that this function is deprecated.
11359
11360 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11361
11362         * docs/gtkfaq.sgml: FAQ Update:
11363           - Minor cleanups (Emmanuel, me)
11364           - New questions:
11365                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11366                 How can I retrieve the text from a GtkMenuItem? (timj)
11367                 How do I validate/limit/filter the input to a GtkEntry? (me)
11368                 Memory does not seem to be released when I free the list
11369                         nodes I've allocated (timj)
11370
11371 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11372
11373         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11374         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11375         for which it is no use to call GetLastError onWin9x.
11376         (gdk_other_api_failed) New function, for general error
11377         reporting without calling GetLastError.
11378         (gdk_win32_api_failed) OTOH, this function always calls
11379         GetLastError. (gdk_win32_last_error_string) Remove this function,
11380         GLib has the equivalent now.
11381
11382         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11383         call them with function name, file name and line number in the
11384         arguments.
11385
11386         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11387         functions.
11388         
11389         * gtk/gtk.def: Add some missing entry points.
11390
11391         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11392         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11393         
11394         Fixes by Hans Breuer:
11395
11396         * gdk/makefile.msc: Update for debugging.
11397
11398         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11399         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11400         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11401         in the dash_list.
11402
11403         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11404         the x11 backend.
11405
11406         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11407
11408         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11409
11410 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11411
11412         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11413         just pixel value of background colour.
11414
11415         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11416         containing code snippet previously duplicated in a couple of
11417         places.
11418         
11419         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11420         gdk_colormap_color.
11421
11422         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11423         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11424         events for autorepeated Shift, Control and Alt keys. Use
11425         gdk_colormap_color.
11426
11427         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11428         pointer is inside the window the cursor of which we are setting,
11429         call SetCursor immediately.
11430
11431         * gdk/win32/makefile.cygwin
11432         * gtk/makefile.cygwin: If we don't have the build number stamp
11433         file, use zero.
11434
11435         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11436         gtk_paned_set_gutter_size as empty.
11437
11438         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11439         
11440 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11441
11442         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11443           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11444           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11445           docs/gtk_tut.sgml docs/gtk.texi TODO:
11446
11447           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11448
11449 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11450
11451         * gtk/gtkcalendar.c: Implement num_marked_dates,
11452           and don't emit mutiple day_selected signals on
11453           month_prev.
11454
11455 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11456
11457         * docs/make-todo (lineno): let title and logo be configurable so
11458         that GNOME can use this script too.
11459
11460         * TODO.xml: added logourl and a title
11461
11462 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11463
11464         * TODO.xml: Added some UI items, and an explanatory
11465         comment at the top of the file.
11466
11467 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11468
11469         * TODO.xml: some updates, added abunch of new entries.
11470         a note for those fiddeling with this file, when done
11471         with it, invoke:
11472         $ ./docs/make-todo TODO.xml >/dev/null
11473         and correct output errors before comitting changes.
11474
11475 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11476
11477         * TODO.xml: Added XML-structured TODO file.
11478         * docs/make-todo: python script to turn TODO.xml into
11479           pretty XML output. 
11480
11481 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11482
11483         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11484         the function to let it draw the seven dots, instead of the old,
11485         much maligned, method.
11486         (draw_dot): New function to draw a dot.
11487
11488         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11489         to draw the handle inside the border width as opposed to outside.
11490         Use paint function instead of gdk_draw_point.
11491
11492         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11493         to draw the handle inside the border width as opposed to outside.
11494         Use paint function instead of gdk_draw_point.
11495
11496         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11497         Change indenting to be more GTK like.
11498
11499 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11500
11501         * docs/gtk_tut.sgml: New section on GtkCalendar
11502         * examples/calendar: Update example code
11503
11504 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11505
11506         * docs/gtkfaq.sgml: FAQ Update
11507
11508 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11509
11510         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11511         to prevent the scroll event to be propagated upwards.
11512
11513 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11514
11515         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11516         OwnerGrabButtonMask from button entries for
11517         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11518
11519         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11520         to the event mask (which will result in button/press release
11521         being added to the event mask on Unix) so scrolling works
11522         for layouts in scroll windows.
11523
11524         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11525
11526         Patch from Anders Carlsson  <andersca@gnu.org> to add
11527         a scroll event.
11528
11529         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11530         scrolling to the "Test Scrolling" part of testgtk.
11531  
11532         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11533  
11534         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11535         it against GDK_SCROLL.
11536  
11537         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11538         way of mouse wheel scrolling.
11539  
11540         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11541  
11542         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11543  
11544         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11545  
11546         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11547         gdk_event_mask_table.
11548  
11549         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11550         GdkEventScroll handler.
11551  
11552         * gdk/gdkevents.h: Added GdkEventScroll structure.
11553  
11554 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11555
11556         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11557         and Anders Carlsson to change the Paned widgets so that they
11558         can be dragged from anywhere along the length. Also change
11559         the way that this is drawn to make this apparent.
11560
11561         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11562         from George Lebl to check that option_menu->menu is present
11563         before getting history.
11564
11565 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11566
11567         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11568         before the assertion for non-NULL segment list.
11569
11570         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11571         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11572         machine, but it might be display driver dependent. Sigh, so make
11573         sure the stipple is that size. Does Windows suck or what?
11574
11575         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11576         places.
11577
11578 2000-02-13  Havoc Pennington  <hp@pobox.com>
11579
11580         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11581         refcount to 1
11582         (gdk_cursor_new): init refcount to 1
11583
11584         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11585
11586 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11587
11588         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11589         so that we don't have to do unnecessary settings to the HDC.
11590
11591         * gdk/win32/gdkdrawable-win32.c
11592         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11593         gdk_gc_predraw.
11594
11595         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11596         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11597         GDI paths, call WidenPath to get the outline of the stroken path,
11598         and then fill the outline (with the brush that was built from the
11599         stipple).
11600
11601         * gdk/win32/gdkgc-win32.c: Factor out common code from
11602         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11603         gdk_win32_gc_values_to_win32values. Use correct colour for
11604         SetBkColor() (Until now the code actually used a random colour in
11605         the call to SetBkColor()... but that didn't show up as not many
11606         GDI APIs use the background colour. Pattern (opaque stippled)
11607         brushes do.)
11608
11609         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11610         gdk_win32_api_failed): New functions for error logging.
11611
11612         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11613         WIN32_API_FAILED to call them, passing function or file name and
11614         line number.
11615
11616         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11617
11618         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11619         GdkColor for foreground and background in GdkGCWin32Data.
11620
11621         * gdk/makefile.cygwin: Link in the resource object separately.
11622
11623         * gdk/win32/rc/gdk.rc
11624         * gtk/gtk.rc (New file)
11625         * gdk/win32/makefile.cygwin
11626         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11627         as in GLib.
11628
11629 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11630
11631         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11632         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11633         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11634         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11635         parameters given and cursor->ref_count. coding style fixups.
11636
11637         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11638         not GtkWidget.
11639         
11640         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11641         fix up widget macros and add _GET_CLASS() variant.
11642         
11643         * gtk/*.c: some GtkType fixups.
11644
11645 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11646
11647         * gdk/win32/gdkproperty-win32.c
11648         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11649         were reversed.
11650
11651 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11652
11653         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11654         g_filename_to_utf8 to convert the font names Windows gives us from
11655         whatever is the default codepage to UTF-8.
11656         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11657         in the other direction.
11658
11659         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11660         error in debugging output.
11661
11662 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11663
11664         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11665         and height parameters to gdk_window_clear_area(). Not minus one.
11666
11667 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11668
11669         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11670         checks if the widget passed to gtk_drag_get_data() was not the
11671         dest widget.
11672
11673 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11674
11675         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11676         g_filename_from_utf8 functions (which were added a moment ago to
11677         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11678         size buffers.
11679
11680         gtk_file_selection_get_filename returns the filename in the C
11681         runtime encoding. It calls g_filename_from_utf8, but copies the
11682         returned string to a static buffer, which is returned. I think
11683         this is better than returning the result from g_filename_from_utf8
11684         directly, which would mean all apps that use it would have to free
11685         the return value. Or should this function care about this issue at
11686         all? Maybe a new function with clearly defined semantics.
11687
11688         * gtk/gtkfilesel.h: Add comment about
11689         gtk_file_selection_get_filename returning the filename in the C
11690         runtime's encoding.
11691
11692         * README.win32
11693         * gdk/gdk.def
11694         * gdk/makefile.{cygwin,msc}
11695         * gtk/gtk.def: Updates.
11696
11697         * gdk/gdkcursor-win32.c: Initialise refcount.
11698
11699 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11700
11701         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11702
11703 2000-01-30  Havoc Pennington  <hp@pobox.com>
11704
11705         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11706         destroy
11707
11708         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11709
11710         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11711         implemented in platform-specific code
11712
11713         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11714
11715         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11716         underscore in front
11717
11718         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11719         put an underscore in front
11720
11721         * gdk/gdkcursor.c: new file, implements
11722         gdk_cursor_ref/gdk_cursor_unref
11723
11724         * gdk/gdkcursor.h: Refcount GdkCursor
11725
11726         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11727
11728 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11729
11730         * gdk/gdkwindow.h
11731         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11732
11733 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11734
11735         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11736         structures to properly inherit from GtkWidget not GtkBin.
11737
11738 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11739
11740         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11741         (bug #5178 - Peter Wainright)
11742         
11743         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11744         so that it will be installed.
11745         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11746
11747 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11748
11749         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11750         for the GtkStyleClass vtable const.
11751
11752         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11753         take a const string argument like GtkTranslateFunc. This will
11754         require changes in use code.
11755
11756 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11757
11758         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11759         semantics (to mimic the X11 backend, which just calls XClearArea)
11760         is to check for zero width (and height), and in that case use the
11761         window's width minus x (height minus y). This fixes for instance
11762         some redraw problems with gtkclist, which were easily noticeable
11763         in the gtk file selection widget.
11764
11765         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11766         windows.
11767
11768 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11769
11770         * configure.in
11771         * gdk/Makefile.am
11772         * gdk/x11/Makefile.am
11773         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11774         (bug #5177).
11775         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11776         out later.
11777
11778 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11779
11780         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11781         WM_MOVE for iconified or invisible windows. This fixes various
11782         problems when minimising windows. Thanks to Bernd Herd.
11783
11784 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11785
11786         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11787         backend's draw_lines method, not draw_points.
11788
11789 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11790
11791         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11792         before Owen's reorganisation: Don't have queued_events and
11793         queued_tail statics in this file, but use gdk_queued_events and
11794         gdk_queued_tail. This makes exposure event compression work again.
11795
11796         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11797         seem to be needed?
11798
11799 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11800
11801         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11802         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11803         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11804         doesn't do anything.
11805
11806         * gdk/gdk.def: Add gdk_xid_table_insert.
11807
11808         * gdk/win32/gdkprivate-win32.h
11809         * gdk/win32/gdkevents-win32.c
11810         * gdk/win32/gdkinput-win32.c
11811         
11812         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11813         extension_events field in the GdkWindowWin32Data struct. Use only
11814         the extension_events field in GdkWindowPrivate. Previously one was
11815         set, and the other one tested, which broke tablet
11816         functionality. Thanks to Keishi Suenaga for pointing this out.
11817
11818 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11819
11820         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11821         When handling a single character (text length == 1), don't handle
11822         it as if it was UTF-8.
11823
11824 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11825
11826         * Makefile.am: Distribute README.win32.
11827         
11828         * gdk/Makefile.am
11829         * gdk/win32/Makefile.am: Distribute Win32 files.
11830
11831         * gdk/makefile.msc: New file.
11832
11833         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11834         after label).
11835
11836         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11837         gdk_error_code as GDKVAR, as they are referred outside GDK.
11838
11839         * gdk/win32/makefile.msc: Update.
11840
11841         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11842         tweaks. Check only if at least one of those Unicode subrange bits
11843         we care for is set. If no code page bits are set, guess (wildly)
11844         based on the charset.
11845
11846         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11847
11848         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11849         non-NULL.
11850
11851         * gtk/gtkdnd.c
11852         * gtk/gtklayout.c
11853         * gtk/gtkplug.c
11854         * gtk/gtkselection.c
11855         * gtk/gtksocket.c
11856         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11857         appropriate. There must be a cleaner way to handle this?
11858
11859         * gtk/gtkrc.c: Must include windows.h on Win32.
11860
11861         * gtk/testgtk.c: No need to include gdkx.h.
11862
11863         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11864
11865 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11866
11867         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11868         the rbearing is set to the same as the width, but this should be
11869         fixed.
11870
11871 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11872
11873         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11874         function. If Windows doesn't tell us what Unicode subranges a font
11875         covers, guesstimate based on the codepages it covers. This will
11876         hopefully help those Windows versions or fonts that don't give us
11877         any useful Unicode subrange information with GetTextCharsetInfo.
11878         Call this function in gdk_font_load_internal.
11879
11880         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11881         minor changes.
11882
11883 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11884
11885         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11886         New function, long needed.
11887
11888 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11889
11890         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11891         only_if_exists argument of gdk_atom_intern to
11892         bool.
11893
11894 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11895
11896         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11897         Fix two copy&paste errors.
11898
11899         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11900         win32 has changed.
11901
11902         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11903         GdkWin32SingleFont struct.
11904
11905         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11906         subranges of loaded fonts. Clear font signature first, in case
11907         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11908         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11909
11910         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11911         Unoffset clip region.
11912
11913 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11914
11915         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11916         event->any.window before calling filter functions.
11917
11918 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11919
11920         * gtk/gtkgamma.h: Adapt cast macros to standard.
11921
11922 [ Merges from 1.2 ]
11923
11924 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11925
11926         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11927         If translation does not include a '/', use entire
11928         translation instead of crashing.
11929
11930 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11931
11932         * docs/gtk_tut.sgml:
11933         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11934
11935 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11936
11937         * gtk/gtkselection.c (gtk_target_list_remove): Use
11938         g_list_remove_link, not g_list_remove.
11939
11940         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11941         
11942 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11943
11944         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11945         statement upon unselection (how the heck did that slip in?).
11946
11947 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11948
11949         * gtk/gtktext.c (gtk_text_freeze): 
11950         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11951         in frozen state (and aparently crashes). patch provided by Anders
11952         Melchiorsen <and@kampsax.dtu.dk>.
11953
11954 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11955
11956         * fix insensitive default/focus widget activation,
11957         reported by Matt Goodall <mgg@isotek.co.uk>.
11958
11959         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11960         (gtk_window_activate_default):
11961         (gtk_window_activate_focus):
11962         return handled=FALSE for actiavtion of insensitive default
11963         widgets. return handled=TRUE for activation of insensitive
11964         focus widgets. don't activate in either case.
11965
11966 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11967
11968         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11969         and $glib_cflags to match library order and in the
11970         theory that an old version of GLib is more likely to
11971         be in the include directory for X then vice-versa.
11972         (Bug #2776)
11973
11974 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11975
11976         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11977         to determine the locale for fontsets, not LC_MESSAGES;
11978         the user may want English messages with a handling
11979         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11980         will still be broken) (Bug #2891)
11981
11982 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11983
11984         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11985
11986 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11987
11988         * gtk/gtkrc.ko: Changed the Korean default fontset.
11989
11990 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11991
11992         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11993         where when scrolling to the left or top double exposes
11994         were done, causing major slowdowns.
11995
11996 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11997
11998         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11999         names to lowercase and alphanumeric, before looking
12000         them up.
12001
12002         * gtk/Makefile.am: Install codeset variant gtkrc files
12003         with normalized names.
12004
12005 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12006
12007         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12008         popup menus when the menu is already visible, but its parent
12009         is still hidden, (happens after tornoff window got hidden).
12010
12011 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12012
12013         * gtk/Makefile.am (install-data-local): Fix
12014         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12015         deleted, causing error messages on install.
12016
12017 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12018
12019         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12020         the handle as well, since we now sometimes ignore
12021         exposes on the handle while resizing.
12022
12023 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12024
12025         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12026         extra g_free introduced in one of the last one or two 
12027         commits.
12028
12029 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12030
12031         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12032         consistent, put each style that a gtkrc.* file creates
12033         in a unique namespace, remove old files before installing.
12034
12035 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12036
12037         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12038         gtk_rc_init is called multiple times. (Yes, people who
12039         do that have bugs in their code.)
12040
12041 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12042
12043         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12044         Remove it since it's generated by the Makefile anyway
12045
12046 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12047
12048         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12049         device->info.axes for core pointer.
12050
12051 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12052
12053         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12054         idle_id, to deal with obsolete, broken C libraries.
12055
12056 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12057
12058         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12059         allocation->x/y twice!
12060
12061         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12062         consistent with gtk_vscale_pos_trough().
12063
12064 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12065
12066         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12067         be queueing a resize on a toplevel container between
12068         the time we show it and when we map it. So, we need
12069         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12070         use GTK_WIDGET_DRAWABLE() for child windows.
12071
12072 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12073
12074         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12075         (fixes bug #2144)
12076
12077 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12078
12079         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12080         container DRAWABLE (instead of VISIBLE), so we don't queue
12081         resizes on non-toplevel containers.
12082
12083 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12084
12085         * gtk/gtkselection.[ch]: Make the data argument
12086         const guchar *.
12087
12088 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12089
12090         * gtk/gtkwindow.c: Try to behave sensibly if 
12091         the focus widget is the window itself. (Should
12092         we allow this at all?)
12093
12094 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12095
12096         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12097         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12098         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12099         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12100         in prototypes and implementations consistent (Tomas Ogren).
12101
12102         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12103         before the widget is unparented (reported by damon).
12104
12105         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12106         since we provide unsigned data anyways.
12107
12108 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12109
12110         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12111         the call to gtk_tooltips_layout_text() until later.
12112
12113         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12114         Call gtk_widget_ensure_style() before using the style.
12115
12116 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12117
12118         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12119         for old widgets that don't propagate draws to all
12120         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12121
12122 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12123
12124         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12125         for a redraw but just the widget that requested the resize.
12126
12127 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12128
12129         * gtk/gtkcontainer.c: added new widget level method
12130         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12131         reallocate_redraws : 1 to reflect the setting, exported this through
12132         the argument system as a boolean ::reallocate_redraws.
12133
12134         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12135         on the widget because the allocation changes, do so as well for
12136         widget->parent if the parent has reallocate_redraws set to TRUE.
12137         with that containers requesting reallocation redraws get automatically
12138         redrawn if their children changed allocation (this unfortunately
12139         affects also other children that didn't change allocation, but we
12140         cannot work around that before 1.3).
12141
12142 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12143
12144         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12145         _and_ height are >0 (not _or_).
12146
12147         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12148         instead of gtk_container_queue_resize(), which is a core gtk internal
12149         function (must have been on crack when i queued that).
12150
12151         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12152         we can check more reliably if we want to discard expose events.
12153         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12154         flag.
12155         
12156         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12157         we simply trust these events. for deciding whether to discard exposes,
12158         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12159         
12160 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12161
12162         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12163         queues of areas that are completely off screen.
12164
12165         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12166         logic for handleboxes.
12167
12168         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12169         check on width/height.
12170
12171 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12172
12173         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12174         we are fine with using $@ the way we do (if we actually encounter
12175         brokeness with $@ in VPATH builds because of additional path prefixes,
12176         we need to use $(@F) actually).
12177
12178 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12179
12180         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12181         short lived bugs, that would allow language bindings to do surgeries
12182         to our guts.
12183
12184 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12185
12186         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12187         where comparison was being done against an uninitialized
12188         value causing intermittant results depending on
12189         compiler flags. Also make it clearer that we aren't
12190         ever initializing the child as 0x0 (though this will
12191         be caught in gtk_widget_size_allocate())
12192
12193 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12194
12195         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12196         gtk_window_unset_transient_for() call after we do checks
12197         involving the old transient parent.
12198         [ From Lance Capser <lmc@cyberhighway.net> ]
12199
12200 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12201
12202         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12203         an empty file.
12204
12205 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12206
12207         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12208         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12209
12210 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12211
12212         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12213         `$@' is valid only in the build dir, not after we've done 
12214         `cd $srcdir'.  Also use `test -f' instead of less portable
12215         `test -e'.
12216
12217 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12218
12219         * gtk/gtktext.c (correct_cache_insert): Rewrite
12220          for simplicity, and hopefully correctness.
12221          (Fixes bug #1322, which was a segfault when
12222           on some insertions with the properties around
12223           the insertion set up just wrong.)
12224
12225         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12226          a "changed" signal, clamp the new value to the adjustment
12227          bounds to avoid segfaulting if someone tries to change
12228          the adjustment to a bogus value. (Bug #1795)
12229
12230 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12231
12232         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12233         for children, for toplevel windows handle them
12234         like delete_event.
12235
12236         * gtk/gtkplug.c: Add an unrealize handler so that
12237         we unref plug->socket_window when we are done
12238         with it.
12239
12240 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12241
12242         * gtk/gtktext.c (clear_area): Fix stupid signedness
12243          problem that was causing background to sometimes
12244          be misaligned.
12245
12246 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12247
12248         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12249         
12250         * gtk/gtkmenu.c (gtk_menu_position): Make
12251          sure we never position menus with negative x, y,
12252          since gtk_widget_set_uposition() can't handle that.
12253
12254         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12255          Modify the positioning code a bit so that we always
12256          put the top-left corner onscreen. (This is for
12257          UI reasons, gtk_menu_position() now takes care of
12258          gtk_widet_set_uposition() brokeness.)
12259
12260 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12261
12262         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12263
12264 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12265
12266         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12267           RC style that is passed in. The lack of the ref
12268           before was a bug. If people worked around this
12269           bug, this will introduce a slight memory leak
12270           in their code. The code should typically look like:
12271
12272             rc_style = gtk_rc_style_new ();
12273             [...]
12274             gtk_widget_modify_style (widget, rc_style);
12275             gtk_rc_style_unref (rc_style);
12276
12277         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12278           the style if it was already set.
12279
12280         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12281           style if it was set before.
12282
12283 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12284
12285         * gtk/testgtk.c (main): Add a check to see if we
12286           are being run from the correct directory and
12287           to quit nicely if we are not.
12288
12289         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12290           static.
12291
12292 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12293
12294         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12295
12296         * gtk/gtkwindow.c:
12297         queue resizes unconditionally (gtk_widget_queue_resize will figure
12298         what to do if the window is not realized).
12299         (gtk_window_move_resize): only recenter the window
12300         for GTK_WIN_POS_CENTER_ALWAYS.
12301         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12302         the same way as GTK_WIN_POS_CENTER.
12303
12304 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12305
12306         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12307         with (!(info->last_flags & GDK_HINT_POS)) instead of
12308         (!info->last_flags & GDK_HINT_POS).
12309
12310         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12311         new_height unconditionally, because we use these values even if
12312         !default_size_changed && !hints_changed.
12313         comented the (default_size_changed || hints_changed) case with
12314         respect to resize rejects from the window manager.
12315
12316         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12317         in the zvt condition hack, since this includes the window hints, set
12318         the hints after the handling_resize case.
12319
12320         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12321         window is initially shown with to the geometry.
12322
12323 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12324
12325         * gtk/gtkwindow.c (gtk_window_move_resize):
12326         s/size_changed/default_size_changed/g so i know what's
12327         really going on (frying brain on smaller flame now).
12328
12329 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12330
12331         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12332         we have size_changed upon handling_resize. this is a gross
12333         workaround for the broken zvt widget and should be removed in
12334         1.3 again (search for FIXME).
12335         Owen provided an accurate comment for this:
12336
12337         /* We could be here for two reasons
12338          *  1) We coincidentally got a resize while handling
12339          *     another resize.
12340          *  2) Our computation of size_changed was completely
12341          *     screwed up, probably because one of our children
12342          *     is broken. It's probably a zvt widget.
12343          *
12344          * For 1), we could just go ahead and ask for the
12345          * new size right now, but doing that for 2)
12346          * might well be fighting the user (and can even
12347          * trigger a loop). Since we really don't want to
12348          * do that, we requeue a resize in hopes that
12349          * by the time it gets handled, the child has seen
12350          * the light and is willing to go along with the
12351          * new size. (this happens for the zvt widget, since
12352          * the size_allocate() above will have stored the
12353          * requisition corresponding to the new size in the
12354          * zvt widget)
12355          *
12356          * This doesn't buy us anything for 1), but it shouldn't
12357          * hurt us too badly, since it is what would have
12358          * happened if we had gotten the configure event before
12359          * the new size had been set.
12360          */
12361
12362 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12363
12364         * gtk/gtkrc.c: deal properly with the fact that RC
12365           style lists may include rc styles more than once.
12366
12367         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12368           unused static function.
12369
12370         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12371           stack of directories of RC files currently being
12372           parsed and implicitely add them to pixmap path.
12373           
12374           This fixes a bug where the directory would get
12375           appended then overwritten by pixmap_path declarations.
12376
12377           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12378
12379         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12380           theme's exit function. (Patch from Peter Wainwright,
12381           bug #1454)
12382
12383         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12384           Add a destroy() handler to take care of removing
12385           group for menu item. (Fixes bug #1197)
12386
12387         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12388           in warning message.
12389
12390 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12391
12392         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12393         roundtrip to figure window's width and height, since we know that
12394         anyways from widget->allocation.
12395
12396 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12397
12398         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12399           the hints after we request the new size.
12400
12401 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12402
12403         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12404           GTK_WIDGET_REALIZED() assertion - we can compute the
12405           hints before we are realized.
12406
12407         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12408           hint changing so that we have a value of hints_changed
12409           when we decide whether to constrain the window size.
12410
12411         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12412
12413         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12414         change back to G_MAXINT.
12415
12416 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12417
12418         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12419         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12420         contain uncluttered values.
12421         (gtk_window_compute_hints): simply assert that window is realized
12422         and that geometry_info is valid, since we rely on this anyways.
12423         (gtk_window_constrain_size): major cleanups to the code.
12424         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12425         for the base size, instead of the minimums. use 32767 as max width
12426         and height (like in gtkwindow.c) instead of G_MAXINT.
12427
12428 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12429
12430         * cleaned up the GtkContainer.need_resize flag handling mess, we
12431         only need to force resize requests when we were prematurely
12432         realized, or our widget tree was modified when we were temporarily
12433         hidden. handling these cases directly upon showing the window (i.e.
12434         while the GdkWindow is still unmapped) avoids the need to wait for
12435         a configure event response and therefore makes the GUI more snappier
12436         and avoids blank windows during the roundtrip.
12437
12438         * gtk/gtkwidget.c:
12439         (gtk_widget_hide): 
12440         (gtk_widget_show): don't queue resizes on toplevels, they know how
12441         to deal with matters.
12442
12443         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12444         flag directly for not visible resize containers and spare us unecessary
12445         signal emissions.
12446
12447         * gtk/gtkwindow.c:
12448         (gtk_window_realize): if we need to enforce premature size allocation,
12449         queue a container resize so we are correctly resized later on.
12450         (gtk_window_init):
12451         (gtk_window_size_request):
12452         don't freak around with the ->need_resize flag,
12453         gtk_container_queue_resize() will care about that.
12454         (gtk_window_show):
12455         handle initial resizing issues here, we can handle matters better in
12456         this place, especially since we know that our GdkWindow is still
12457         unmapped.
12458         (gtk_window_move_resize):
12459         don't care about ->need_resize at all.
12460         handle size changes properly that occoured while we waited for a
12461         configure event.
12462
12463 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12464
12465         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12466         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12467         Move the hint setting code from gtk_widget_set_uposition
12468         to here; set the hints so that we respect any previously
12469         set geometry hints.
12470
12471         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12472         change the window hints here or move the window here,
12473         let that happen in gtk_window_move_resize().
12474
12475 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12476
12477         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12478         to already queued resizes (and therefore redraws) on a widget, check
12479         its anchestry as well.
12480
12481         * gtk/gtkcontainer.c:
12482         (gtk_container_queue_resize): clear resize widgets for resize
12483         containers before aborting prematurely. this is especially important
12484         for toplevels which may need imemdiate processing or their resize
12485         handler to be queued.
12486         (gtk_container_dequeue_resize_handler): added new internal function for
12487         gtkwindow.c.
12488
12489         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12490         configure event, take possible changes in window position into account
12491         as well.
12492         if we request a new window size, queue up a resize handler that will
12493         last until the configure event response arrives.
12494         combined the ->need_resize case (initial show) with the general size
12495         (hints) changed case and added even more comments.
12496         if !auto_shrink, only revert to the old allocation if the new size
12497         is smaller than the current allocation.
12498
12499 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12500
12501         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12502                            gtk_window_set_geometry_hints
12503                            gtk_window_set_default_size):
12504         When hints are set, queue a resize so that the hints will
12505         be eventually reset on the toplevel.
12506
12507         * gtk/gtkwindow.c (gtk_window_show): Use
12508         gtk_window_compute_default_size(). Clear the need_resize flag
12509         on the initail map so that we don't unnecessarily trigger the
12510         resize code.
12511
12512         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12513         into separate functions. Compare the hints we are setting
12514         with what we set last time so that we can accurately
12515         tell when we need to reset the hints.
12516
12517         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12518         function to figure out the size from requisition
12519         and default_size.
12520
12521         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12522         from fvwm to constrain a size to the geometry hints.
12523
12524         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12525         to compare two sets of geometry hints.
12526
12527         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12528         from gtk_window_set_hints(), just compute the hints,
12529         don't set them.
12530
12531         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12532         code from gtk_window_move_resize() to separate function,
12533         rationalize a bit.
12534
12535 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12536
12537         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12538         structure into a new private structure.
12539
12540         * gtkrc.c: Split GtkRcStyle into public/private.
12541         In the private part, add a list of pointers to the
12542         RcStyle lists this RcStyle participates in.
12543
12544         * gtkrc.c: When a RcStyle is free, remove all
12545         lists referencing it from the 
12546         realized_style_ht hash, and free those lists.
12547         
12548         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12549         gtk_rc_init(), since that adds the default styles
12550         to the list of parsed RC files again.
12551
12552         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12553         
12554 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12555
12556         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12557         checks that ensure that a widget's allocation is at least 1 in width
12558         and height. (GNOME note: this doesn't affect old panel code anymore,
12559         because GtkSocket will request width and height of at least 1 since
12560         Fri Jul 23).
12561
12562         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12563         allocated yet (happens if the user realizes the window prematurely),
12564         size request and allocate it.
12565         (gtk_window_size_allocate): guard against guint underflows.
12566
12567 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12568
12569         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12570         in gtk_built_sources, so gtk.defs gets built prior to all other
12571         sources.
12572
12573 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12574
12575         * gtk/Makefile.am:
12576         invoke indent on gtkmarshal.*. 
12577         rewrote source generation rules, use COPYING as oldest source tag for
12578         a piggyback rule to generate all sources from (don't touch it ;).
12579         major cleanups, strip spaces on build rules for GNU Make.
12580
12581         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12582         source and target files from commandline arguments. don't invoke indent.
12583
12584 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12585
12586         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12587         notebook after switch to avoid drawing problems.
12588         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12589         
12590         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12591         show them instead. 
12592         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12593
12594 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12595
12596         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12597         notebook after switch to avoid drawing problems.
12598         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12599         
12600         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12601         show them instead. 
12602         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12603
12604 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12605
12606         * gtk/gtkwindow.c:
12607         we use window->need_resize from configure_event now, to indicate that
12608         the gtkwindow should keep its allocation (e.g. because the user resized
12609         the window through window manager handles). resize_count is now reliably
12610         used to figure whether we got the allocation we requested from the
12611         window manager.
12612         configure events get queued as resizes now, the real stuff (size
12613         computation and allocation) now only goes on in gtk_window_move_resize().
12614         GtkWindow's requisition now contains its *real* requisition (like all
12615         other widgets), *not* taking usize into account.
12616         geometry_info->last_{width|height} is now updated from set_hints() only
12617         so it always contains the last hints we set for the window manager.
12618         made some event handlers return TRUE instead of FALSE.
12619         the overall code should be much more straight forward now, and the
12620         significant code portions are accompanied by comments now.
12621         (gtk_window_set_hints):
12622         removed requisition argument and made it
12623         fetch the requisition through gtk_widget_get_child_requisition.
12624         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12625         does that now.
12626         (gtk_window_show):
12627         ensure that the widget is realized before calling 
12628         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12629         ensure that we got properly size requested and allocated before
12630         realization.
12631         (gtk_window_configure_event):
12632         ignore plain window moves, or reallocate the widget tree through the
12633         resize queue otherwise.
12634         (gtk_window_move_resize):
12635         mostly rewrote this function to figure window manager hints more
12636         reliably, coalesce window moves and resizes to reduce configure events
12637         and do actuall size allocations.
12638
12639 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12640
12641         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12642         that have a resize pending, because a redraw is already queued for them.
12643
12644         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12645         hack to clear resize_widgets.
12646
12647         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12648         for resize containers prior to size allocation. (this is also a bit
12649         ugly, but avoids side effects for stopped emissions and is thus more
12650         reliable).
12651         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12652
12653         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12654         function from gtk_tooltips_expose, as we connect to ::expose_event
12655         *and* ::draw now.
12656
12657 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12658
12659         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12660         checks.
12661         (gtk_target_list_unref): Likewise.
12662
12663         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12664
12665 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12666
12667         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12668         guard against division by zero. (Fixes bug #1339)
12669
12670 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12671
12672         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12673         Prevent the trivial leak of information of allowing
12674         word motion when the entry is not visible.
12675
12676 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12677
12678         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12679         modality to error dialog as well as confirmation dialogs.
12680         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12681
12682 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12683
12684         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12685         tree->view_lines.
12686         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12687
12688         * gtk/Makefile.am (install-data-local): Solaris apparently
12689         has various troubles with ln -f; use rm first instead.
12690         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12691
12692 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12693
12694         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12695         use `cp' followed by `rm' (the `rm' was already there).
12696
12697 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12698         
12699         * configure.in: Fix autoconf warnings about cross compilation by
12700         trying to provide sane defaults for AC_TRY_RUN.
12701         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12702         put them into $(srcdir) when generated. Also add a dependency of
12703         gtksignal.h on gtkmarshal.h for -j builds. 
12704         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12705
12706 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12707
12708         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12709         GDK_THREADS_{LEAVE,ENTER} pair.
12710         (From Paul Fisher <pnfisher@redhat.com>)
12711
12712 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12713
12714         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12715         width and height are always >0 (owen).
12716
12717 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12718
12719         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12720         change that assured that a widget's allocated with and height are
12721         always >1, since this breaks *buggy* panel code. unfortunately this
12722         back-breaks the gimp's color selector.
12723
12724         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12725         allocation is always >0 in width and height, before sending the
12726         configure event; this is a *gross* hack to get the gimp back to work.
12727         
12728         * marked both cases with TODO-1.3
12729
12730 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12731
12732         * gtk/gtktext.c: Don't display wrap indicators when
12733         text is not editable and word wrap is on.
12734
12735 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12736
12737         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12738         option menus here as they are not derived from menu shell, assure that
12739         the option menu has a menu we can add items to.
12740
12741 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12742
12743         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12744         width/height to (gint) before calculations and check against < 0 to
12745         avoid guint wraparounds.
12746
12747 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12748
12749         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12750         width and height is never zero. sanity check both dimensions against
12751         32767 and issue a warning if the allocation is greater than that.
12752
12753 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12754
12755         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12756         to g_main_pending() as well.
12757
12758 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12759
12760         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12761         call to g_main_iteration() - since that will regrab
12762         GTK+ lock to process events.
12763
12764 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12765
12766         * gtk/gtkwindow.c
12767         - Regularize with the rest of GTK+ by making widget->requisition
12768           not reflect the set_usize()
12769         - Always recompute geometry hints, then check if they
12770           changed before sending them to the X server. The
12771           previous checks for changes would fail in a number
12772           of circumstances. 
12773
12774 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12775
12776         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12777
12778 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12779
12780         * gtk/gtkdnd.c:
12781         - Code cleanups
12782         - Instantaneously update on modifier key presses
12783         - Allow cancellation of the drag with Escape.
12784
12785 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12786
12787         * gtk/testgtk.c (create_handle_box): Set the policy
12788         to auto_shrink - otherwise the appearance is rather
12789         strange when flipping between horizontal and vertical.
12790
12791 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12792
12793         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12794         (gtk_window_set_default_size): don't change a value if it's < 0.
12795         queue a resize.
12796
12797 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12798
12799         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12800
12801 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12802
12803         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12804         add an extra "/" when concating "/" + filename.
12805         (From Matt Grossman <mattg@oz.net>)
12806
12807 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12808
12809         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12810         for fg_gc if we set it for drawing pixmap.
12811
12812 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12813
12814         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12815         
12816         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12817         already set, call old engine's destroy function and
12818         unref the old engine.
12819
12820 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12821
12822         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12823
12824 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12825
12826         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12827
12828 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12829
12830         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12831         expand behaviour changed.
12832
12833         * gtk/gtklabel.c (gtk_label_set_pattern):
12834         (gtk_label_set_justify):
12835         (gtk_label_set_line_wrap):
12836         don't bother invoking queue_clear, the reallocation does
12837         that for us, always free_words so the upcoming resize will
12838         relayout the label's contents.
12839
12840 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12841
12842         * applied argument implementation patches from Elena Devdariani
12843         <elena@cogent.ca>.
12844
12845         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12846         ::space_style, ::relief
12847         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12848         * gtk/gtkpreview.c: ::expand
12849         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12850         * gtk/gtknotebook.c: ::homogeneous
12851         * gtk/gtklabel.c: ::wrap
12852         * gtk/gtklist.c: ::selection_mode
12853         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12854         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12855         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12856         * gtk/gtkclist.c: ::sort_type
12857         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12858         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12859
12860 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12861
12862         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12863         comment.
12864
12865 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12866
12867         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12868         counting right when we have to attach a new style
12869         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12870
12871         * gtk/gtkstyle.c: Documented the refcounting
12872         peculularities of gtk_style_attach.
12873
12874 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12875
12876         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12877         window types.
12878
12879         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12880         of GTK_TOPLEVEL for creating the window.
12881
12882 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12883
12884         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12885         the last argument (reported by Per Winkvist).
12886         
12887 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12888
12889         Fixes for invisible XOR lines (Frank Loemker
12890         <floemker@TechFak.Uni-Bielefeld.DE>)
12891         
12892         * gtk/gtkclist.c (gtk_clist_realize): Always use
12893         a non-zero pixel for GDK_XOR.
12894
12895         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12896         Use GDK_INVERT instead of GDK_XOR.
12897
12898 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12899
12900         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12901         signals if h/voffsets differ from adjustment values.
12902         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12903
12904 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12905
12906         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12907         ::selection-done emissions up to the topmost menu shell.
12908
12909 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12910
12911         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12912         the user data on the window before destroying it.
12913
12914         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12915         unrealize handler to take care of destroying 
12916         notebook->panel properly. 
12917         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12918
12919         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12920         of g_new and g_realloc to stop memory leak. (Actually,
12921         we could just use g_realloc(), but I'm not 100% sure
12922         that is portable).
12923         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12924
12925 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12926
12927         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12928
12929         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12930         for fontsets.
12931
12932         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12933         with bin/button confusion.
12934
12935 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12936
12937         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12938         and show how preselection of radio items is done.
12939
12940 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12941
12942         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12943         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12944         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12945         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12946         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12947         * gtk/gtktable.c (gtk_table_attach): 
12948         * gtk/gtklist.c (gtk_list_insert_items): 
12949         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12950         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12951         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12952         * gtk/gtkbin.c (gtk_bin_add): 
12953         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12954         * gtk/gtkfixed.c (gtk_fixed_put): 
12955         * gtk/gtklayout.c (gtk_layout_put):
12956         general fixups to container_add logic. always realize child if
12957         child->parent is realized, only map the child and queue a resize
12958         if child and child->parent are both visible.
12959
12960 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12961
12962         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12963         instead of gtk_container_foreach to walk and unrealize children, so
12964         composite children get also unrealized.
12965         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12966         (gtk_widget_map): assert that the widget is visible (basic constrain).
12967         (gtk_widget_real_map): assert that the widget is realized (basic
12968         constrain).
12969
12970 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12971
12972         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12973
12974 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12975
12976         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12977         file for iso-8859-2 locales.
12978
12979         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12980
12981 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12982
12983         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12984          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12985          Remove some suspicious and useless lines. 
12986
12987 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12988
12989         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12990         width,height = 0, 0 to mean - here to edge of window,
12991         instead of -1, -1, since the former is all we support.
12992
12993 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12994
12995         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12996         when removing from quit_functions list.
12997
12998 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12999
13000         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13001
13002 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13003
13004         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13005          When redrawing characters on non-visible entry, use appropriate
13006          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13007
13008 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13009
13010         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13011         from drag coordinates.
13012         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13013         use drag_dest_cell.
13014
13015         * gtk/gtktree (drag_dest_cell)
13016         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13017         (Bug #1129)
13018
13019 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13020
13021         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13022         translate_* fields.
13023         (gtk_item_factory_finalize): invoke translate_notify independant from
13024         translate_data.
13025         (gtk_item_factory_set_translate_func): likewise.
13026         (gtk_item_factory_destroy): only remove ifactory pointer from those
13027         widgets that belong to us (stupid me).
13028
13029 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13030
13031         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13032         rc_style list when lookup succeeeds.
13033
13034 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13035
13036         * gtk/gtkctree.c (resync_selection): 
13037         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13038         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13039         bug.
13040
13041 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13042
13043         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13044         Add some missing GDK_THREADS_ENTER()/LEAVE around
13045         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13046
13047 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13048
13049         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13050         rather than emit_by_name.
13051
13052         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13053         on the widget across multiple signal emissions.
13054         (gtk_editable_delete_text): same here.
13055         (gtk_editable_class_init): set widget_class->activate_signal after
13056         editable_signals[ACTIVATE] has been created.
13057
13058 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13059
13060         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13061         position here prematurely -- we might not have the
13062         right ->min_position and ->max_position yet.
13063
13064 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13065
13066         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13067         Add error traps so if the other end of the connection
13068         dies, we survive.
13069
13070         * gtk/gtkselection.c (gtk_selection_notify): Clean
13071         up properly when selection property retrieval fails.
13072         
13073         * gtk/gtkselection.c (gtk_selection_request): Correctly
13074         reject SelectionRequest notifies where the handler
13075         returns no data.
13076
13077 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13078
13079         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13080         when we've previously highlighted.
13081
13082         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13083         emit two "drag_leave" signals for Motif drops.
13084
13085         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13086         back the correct status messages when dropping from
13087         Motif onto a proxy window that is rejecting the
13088         drop.
13089
13090 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13091
13092         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13093         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13094         to compare two argument values. added gtk_arg_to_valueloc() to set a
13095         variable from an arg through its location (pointer).
13096
13097         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13098         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13099         as gfloat*, uchars are collected as guchar*, ints are collected as
13100         gint*, etc...
13101
13102 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13103
13104         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13105         Include <string.h> instead of <strings.h>.
13106
13107         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13108         (actually, a lot more duplicate includes occur if
13109          you trace through the sequence of #include's)
13110         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13111         
13112 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13113
13114         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13115         gtk-a-higuti-990322-[0-3]
13116
13117         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13118         that was causing -DX_LOCALE not to work.
13119
13120         * gtk/gtkrc.c (gtk_rc_init):
13121         X_LOCALE will never have LC_MESSAGES defined
13122
13123 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13124
13125         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13126         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13127
13128         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13129         left/right as well (gtk-michael-980726-0.patch.gz).
13130
13131         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13132         for pointer values, use gchar instead of char. fixed uline allocation
13133         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13134         chunks instead of G_ALLOC_ONLY.
13135         (gtk_label_size_request): always alter requisition as passed and leave
13136         widget->requisition alone.
13137         (gtk_label_set_text): allow NULL strings.
13138         (gtk_label_new): likewise.
13139
13140 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13141
13142         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13143
13144 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13145
13146         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13147         *and* mapped (i.e. drawable).
13148         (gtk_bin_expose): only send exposes to drawable children.
13149
13150         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13151         (gtk_box_expose): only send exposes to drawable children.
13152
13153         * gtk/gtkhscale.c (gtk_hscale_draw): 
13154         * gtk/gtkvscale.c (gtk_vscale_draw):
13155         hm, this is an ugly one. we first compute the size of our trough area
13156         here (window relative) and then check intersection with the draw_area
13157         which is parent relative because we're a NO_WINDOW widget, so we need
13158         to offset the trough area by allocation.x and allocation.y before the
13159         check. (this must not be done for the background area though, since
13160         that's already computed parent relative).
13161
13162 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13163
13164         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13165         unrealize title buttons.
13166
13167 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13168
13169         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13170         (gtk_clist_column_title_active): 
13171         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13172
13173         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13174         zero initialize event, removed superfluous gdk_window_get_pointer call
13175
13176         * gtk/gtklist.c (gtk_list_vertical_timeout)
13177         (gtk_list_horizontal_timeout): removed superfluous
13178         gdk_window_get_pointer call
13179
13180 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13181
13182         * plugging problems reported by "Bruce Mitchener, Jr."
13183         <bruce@puremagic.com> due to a purify session.
13184
13185         * gtk/gtkstyle.c:
13186         (gtk_style_ref): 
13187         (gtk_style_unref): assert ref_count to be > 0.
13188
13189         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13190         the requisition.
13191         (gtk_clist_set_shift): likewise.
13192
13193         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13194         adjustments.
13195
13196         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13197         event before sending it and set send_event to TRUE (which needs to
13198         be done for *all* synthesized events).
13199         (gtk_list_vertical_timeout): likewise.
13200
13201         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13202         leaks.
13203
13204         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13205         to TRUE when synthesizing events.
13206
13207 [ *** end of merges from 1.2 *** ]      
13208         
13209 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13210
13211         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13212         (or copied from gdkconfig.h.win32 on Win32, sigh).
13213
13214         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13215
13216         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13217
13218         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13219
13220         * gdk/gdkconfig.h.win32: New file.
13221
13222         * gdk/win32/makefile.cygwin: Build just a static archive here.
13223
13224         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13225         for the DLL from the static archive built above.
13226
13227         * gdk/gdk.def: Moved here from the win32 subdirectory.
13228
13229         * gdk/win32/*: Adapt for the changed private struct organisation.
13230
13231         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13232
13233 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13234
13235         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13236         for wheel mice (buttons 4 and 5).
13237
13238 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13239
13240         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13241         drawables use just the pixel field in the foreground and
13242         background GdkColor of the GdkGC.
13243
13244         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13245         GdkColors containing uninitialized (red,green,blue) fields, and
13246         just the pixel field filled in, and furthermore in the
13247         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13248         It thus turns out that we really don't need to have the full
13249         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13250         it later to have just the pixel values.
13251
13252 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13253
13254         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13255
13256 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13257
13258         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13259         New question on GtkLabel background colors.
13260
13261         * docs/gtk_tut.sgml:
13262           - Correct the example code callback
13263             function definitions.
13264           - Update the gtkdial example code, from Frans van Schaik.
13265           - Update setselection.c to current API.
13266
13267         * examples/Makefile examples/*/*.c: Update to code
13268         listed in tutorial.
13269
13270 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13271
13272         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13273         subrange table (from the "Developing International Software for
13274         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13275         block... Get the loaded font's charset correctly.
13276
13277         (Note that this, and the other *-win32.c files, still really are
13278         the old ones, the win32 subdirectory is not ready for compilation
13279         yet after the reorg.)
13280
13281 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13282
13283         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13284         check.
13285
13286 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13287
13288         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13289         on results of XQueryDeviceState().
13290
13291 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13292
13293         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13294         we need to accesss only ->children. We need an accessor
13295         for the children.
13296
13297         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13298         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13299         to get rid of gdkx.h include.
13300         
13301         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13302         and random references to 'None'.
13303
13304         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13305         Get rid of unused #include <gdk/gdkx.h>
13306
13307         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13308         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13309         gdkconfig.h.
13310
13311 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13312
13313         * gdk/win32/gdkdraw.c
13314         * gdk/win32/gdkfont.c
13315         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13316         following yesterday's changes. (Unrelated to Owen's reorg.)
13317
13318 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13319
13320         * gdk/x11/gdkinput-gxi.c: Add missing include,
13321           fix GdkWindowPrivate => GdkDrawablePrivate.
13322
13323         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13324
13325         * gdk/x11/Makefile.am (xinput_sources): Add missing
13326         backslash to fix building with --with-xinput=none
13327
13328 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13329
13330         Move all X specific code into the x11/ directory.
13331         Aside from shuffling things around, did the following:
13332
13333        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13334          gdk_arg_context_* - a simple argument parsing system
13335          in the style of popt.
13336
13337        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13338          gdk/x11/gdkprivate-x11.h:
13339          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13340          add ->klass and ->klass_data fields. The klass_data
13341          field points to an auxilliary structure that is
13342          windowing system dependent.
13343
13344        * gdk/gdkfont.c: Make most of the measurement functions
13345          simply wrappers around gdk_text_extents().
13346
13347        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13348          _gdk_font_strlen() function that hides the weird
13349          behavior in gtk+-1.[02] where a string is interpreted
13350          differently for 8-bit and 16-bit fonts.
13351
13352        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13353          to store common code for synthesizing double/triple
13354          press events.
13355         
13356        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13357          Make all the function that modify an existing GC
13358          simply wrappers around gdk_gc_set_values().
13359          
13360        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13361          for throwing out later.
13362
13363        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13364          GdkImagePrivate and GdkColormapPrivate to have a
13365          windowing system dependent part (GdkFontPrivateX etc.)
13366          that "derives" from the system-independent part.
13367
13368        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13369          Got rid of the included-source-files for XInput in
13370          favor of automake conditionals. (Which didn't exist
13371          when XInput support was originally added.)
13372
13373        * gdk/gdkrgb.c: Remove the visual id from the debugging
13374          statements since that is X11 specific; print out
13375          type/depth info instead.
13376          
13377
13378 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13379
13380         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13381         loading duplicates of hashed fonts.
13382
13383         * gdk/gdk.c (gdk_keysym_convert_case): rename
13384         gdk_XConvertCase to gdk_keysym_convert_case, allow
13385         results to be NULL in the GTK+ style.
13386
13387         * gdk/gdkcompat.h: Started compatibility header
13388         for renames.
13389
13390 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13391
13392         * gdk/win32/gdkprivate.h: New font private structures, related to
13393         fontsets.
13394
13395         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13396         gdk_font_list_free(). On X11, will just be wrappers to
13397         XListFonts() and XFreeFontNames(). On Win32, the code previously
13398         in gtkfontsel.c is now here.
13399
13400         New function gdk_font_xlfd_create(). On X11 will get the FONT
13401         property of the font (for GDK_FONT_FONTs), or call
13402         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13403         builds a XLFD style name from the font information in the LOGFONT
13404         struct(s).
13405
13406         New function gdk_font_xlfd_free(), which correspondingly frees the
13407         string returned by gdk_font_xlfd_create().
13408
13409         Implement fontsets on Win32. Add a function that iterates over a
13410         wide char string and calls a callback function for each substring
13411         of wide chars from the same Unicode subrange (and thus probably
13412         available in the same real font).
13413
13414         Improve the XLFD emulation a bit.
13415
13416         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13417
13418         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13419         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13420         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13421         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13422         ImmGetCompositionStringW() to get the composed Unicode chars.
13423
13424         * gdk/win32/gdkgc.c
13425         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13426         struct changes.
13427
13428         * gdk/win32/gdk.def: Add the new functions.
13429
13430 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13431
13432         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13433         get the Platform SDK to get <dimm.h>.
13434
13435         * gdk/win32/gdkevents.c: More event handling fixes and
13436         simplification. Never generate motion events with is_hint true. We
13437         used to do that on bogus grounds earlier. Windows sends
13438         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13439         moved, ignore these.
13440
13441         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13442
13443         * gdk/win32/gdkglobals.c
13444         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13445         the TrackMouseEvent function, and use it.
13446
13447         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13448         char before calling WideCharToMultiByte in order to get a string
13449         for the window title.
13450
13451         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13452
13453         * gdk/win32/gdk.def: Remove obsolete functions.
13454
13455         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13456         /nodefaultlib and /defaultlib switches.
13457
13458         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13459
13460 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13461
13462         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13463         EuroSign).
13464
13465         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13466         same type as GdkWChar, especially on Win32.
13467
13468         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13469
13470         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13471         before passing to Windows GDI for drawing etc. Convert to the
13472         system default codepage before passing to Windows as window
13473         titles.
13474
13475         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13476         support changing input locale on the fly.
13477
13478         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13479         on-the-fly changes. Convert incoming characters from the current
13480         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13481         on the current input language. Use keysym<->Unicode mapping tables
13482         and functions borrowed from xterm sources.
13483
13484         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13485         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13486         Manager) if available. IMEs and the Active IMM are available under
13487         the disguise of Chinese, Korean and Japanese support for IE and
13488         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13489         support is present in all editions (as long as you install it).
13490
13491         Call DispatchMessage from gdk_events_queue() (and thus
13492         gdk_WindowProc()), instead of duplicating the code in
13493         gdk_WindowProc().
13494
13495         Reworked the grab handling and propagation code, factored out
13496         duplicated code snippets into separate functions. Other cleanups,
13497         too.
13498
13499         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13500         the <dimm.h> header describing the Active IMM.
13501
13502         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13503         just do the same as for "single" fonts.
13504
13505         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13506         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13507         the new keysyms from gdkkeysyms.h.
13508
13509         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13510         fontset, so that gtkentry uses wide characters.
13511
13512         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13513         GTk+'s system directory "gtk+", not "gtk".
13514
13515 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13516
13517         * docs/gtkfaq.sgml: FAQ update
13518
13519 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13520
13521         * gdk/win32/gdkprivate.h: Add more font private data.
13522
13523         * gdk/win32/gdkfont.c
13524         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13525         fonts and strings. Now works much better. You still have to
13526         have a correct font selected, though. No fontset emulation yet.
13527
13528 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13529
13530         * gtk/maketypes.awk: Use G_OS_WIN32.
13531
13532         * gtk/gtk.def: Add some missing entry points. Also some non-public
13533         ones, but PyGTK porter claims to need them.
13534
13535         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13536         built-in type generation.
13537
13538 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13539
13540         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13541         GDK_FONT_FONT fonts (which is all we have for now, we don't
13542         emulate fontsets). The X11 version uses plain XDrawString in that
13543         case, too. The string passed to gdk_draw_text_wc seems to be in
13544         fact (at least, when used by gtkentry and gtktext) either in a
13545         single-byte charset, or a DBCS. Not Unicode.
13546
13547         This fixes the problem in gtkfontsel, where even if you had
13548         selected a font with a non-Latin1 charset (windows-greek, for
13549         instance), the preview still used Latin-1 glyphs.
13550
13551         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13552         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13553         (gdk_font_load): Recognize the demibold etc weights, even if we
13554         don't have the corresponding constants in the headers.
13555         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13556         version. Should save font resources a bit, when we don't have
13557         multiple HFONTs for the same font.
13558
13559         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13560         version.
13561
13562 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13563
13564         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13565         X values
13566
13567 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13568
13569         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13570         layout support (as mentioned on
13571         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13572
13573 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13574
13575         * gtk/fnmatch.c
13576         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13577
13578 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13579
13580         * configure.in (ALL_LINGUAS): Added Galician (gl)
13581
13582 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13583
13584         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13585
13586         * gdk/win32/gdkcompat.c: New file, actually provide an
13587         implementation for the deprecated functions. (Just temporarily.)
13588
13589         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13590
13591         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13592
13593         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13594
13595 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13596
13597         * configure.in: Added "uk" to ALL_LINGUAS.
13598         
13599 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13600
13601         * configure.in: correct checking for BeOS check
13602
13603         * gdk/gdktypes.h
13604         * gtk/fnmatch.c
13605         * gtk/gtkfilesel.c
13606         * gtk/gtkitemfactory.c
13607         * gtk/gtkmain.[ch]
13608         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13609
13610 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13611
13612         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13613         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13614         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13615         by Bulgarian). 
13616
13617 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13618
13619         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13620         Fix a reference to window_private->destroyed.   
13621
13622         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13623         (ugly) setting of an internal GdkWindow member to use
13624         a _slightly_ cleaner macro.
13625
13626         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13627         GdkDrawablePrivate and GdkWindowPrivate.
13628         Add extra macros for accessing GDK_DRAWABLE_ components.
13629
13630         * *.[ch]: Massive adjustments for the above, use the
13631         new macros in a lot of places.
13632
13633 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13634
13635         * gdk/gdktypes.h: Make GdkDrawable the base type,
13636         not GdkWindow.
13637
13638 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13639
13640         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13641
13642 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13643
13644         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13645
13646 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13647
13648         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13649         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13650
13651         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13652
13653         * docs/gtk-config.1: Now autogenerated.
13654         * docs/Changes-1.4.txt: started
13655         
13656 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13657
13658         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13659         to #ifdef also here.
13660
13661         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13662         Owen did to the X11 backend.
13663
13664         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13665         ScrollWindowEx when blitting inside a window, it can't be correct
13666         in the general case.
13667
13668         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13669         WM_GETMINMAXINFO is easier.
13670
13671         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13672         depth equal to the bitspixel value, not the visual's depth.
13673
13674         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13675         to 24 even if the bitspixel value is 32.
13676
13677         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13678         need to check for depth==32 when bpp==32, depth will always be 24.
13679
13680 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13681
13682         * docs/Changes-1.4.txt: Started
13683         
13684         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13685
13686         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13687         
13688         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13689         into C file.
13690         
13691         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13692         header to gdkinputprivate.h.
13693
13694         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13695         unused since before 1.2.
13696
13697 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13698
13699         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13700         expand possible hex escapes in the font family (put there by
13701         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13702         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13703         On Win32, add hex escapes here, too.
13704
13705 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13706
13707         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13708         to #ifdef GDK_WINDOWING_X11.
13709
13710 [ Merges from gtk-1-2 ]
13711
13712 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13713
13714         * configure.in: fixed "GNU Make" check to pass with new make version
13715         3.77.95.
13716
13717 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13718
13719         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13720         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13721         AM_PATH_GTK() macros don't get confused by the -pre1.
13722
13723 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13724
13725         * configure.in (REBUILD): Change check for perl5
13726           to check explicitely for v >= 5.002. (5.001
13727           does not work with our scripts.)
13728
13729 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13730
13731         * configure.in: evaluate $PERL for the perl version check. added
13732         --disable-rebuilds to give the user an option to completely disable
13733         any source autogeneration rules.
13734
13735 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13736
13737         * configure.in: evaluate $ac_make when checking for GNU Make.
13738
13739 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13740
13741         * docs/Makefile.am: added generation.txt.
13742
13743         * Makefile.am: require automake 1.4, build README from README.in and
13744         INSTALL from INSTALL.in in dist-hook.
13745         
13746         * README.in:
13747         * INSTALL.in: new files to autogenerate README and INSTALL from.
13748
13749         * configure.in: figure whether we have GNU Make
13750
13751         * docs/generation.txt: minor additions/corrections.
13752
13753 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13754
13755         * docs/gtkfaq.sgml: FAQ Update
13756
13757 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13758         
13759         * configure.in: Fix autoconf warnings about cross compilation by
13760         trying to provide sane defaults for AC_TRY_RUN.
13761
13762 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13763
13764         * ltconfig
13765         * ltmain.sh: upgrade to libtool 1.3.3
13766
13767 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13768
13769         * INSTALL: Indicate that the --with-glib= configure
13770         time flag is unsupported.
13771
13772 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13773
13774         * docs/generation.txt: Added a file that gives
13775         documenation about the autogeneration process for
13776         various autogenerated files.
13777         
13778 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13779
13780         * configure.in (LIBS): Look for libgmodule in the
13781         right location.
13782
13783 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13784
13785         * docs/gtk_tut.sgml: Removed references to
13786         code examples in my directory on gtk.org as
13787         they should all be in the tutorial now.
13788
13789         * docs/gtk_tut.sgml: Added sources for dial-test
13790         and scribble-xinput programs that were previously
13791         missing.
13792
13793 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13794
13795         * TODO: Added entry about menu keyboard navigation, removed
13796         some finished items.
13797
13798 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13799
13800         * acinclude.m4: Standardize on func_dgettext
13801         not func_gettext, so that the checks for dgettext
13802         actually are paid attention to.
13803
13804 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13805
13806         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13807         directly, rather than repeating the checks for
13808         gettext.
13809
13810         * INSTALL: Added information about gettext and
13811         NLS support.
13812
13813         * acinclude.m4 (LIBM): Check for dgettext, not
13814         just gettext. This should hopefully fix things wrt
13815         systems with old versions of GNU gettext installed.
13816
13817 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13818
13819         * configure.in (LIBS): Look for libgmodule in the
13820         right location.
13821
13822 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13823
13824         * autogen.sh: add --enable-maintainer-mode
13825
13826         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13827
13828 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13829
13830         * docs/gtk-config.1.in:
13831           docs/Makefile.am:
13832           configure.in: gtk-config is now generated.
13833
13834         * docs/gtk-config.1: Removed, now generated.
13835
13836 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13837
13838         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13839         handle CreateNotify itself, still put out a debuging message for
13840         --gdk-debug=events. made the ReparentNotify debugging message more
13841         verbose.
13842         wrap xcoords translation for ConfigureEvents into an error trap,
13843         a destroy event may already be pending, and in that case, the
13844         actuall coordinate values are not at all critical.
13845
13846 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13847
13848         * gdk/gdkcc.c: Stop leaking the color_hash all over
13849         the place. Simplify and improve the logic.
13850
13851 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13852
13853         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13854         for prototypes and function implementations consistent (reported
13855         by Tomas Ogren).
13856
13857 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13858
13859         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13860         send_event set in debugging output.
13861         (gdk_compress_exposures): default initialize the event so we don't
13862         operate on bogus values (namely send_event).
13863
13864 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13865
13866         * gdk/gdkwindow.c: When we receive an unexpected
13867         destroy notify on one of our windows, don't just
13868         warn about it, also mark our windows as destroyed.
13869
13870 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13871
13872         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13873           name => font and name => fontset hashes. The 
13874           name => fontset hash is a _big_ win since we
13875           weren't previously caching fontsets at all and loading
13876           fontsets is expensive. The name => font hash
13877           is less of a win, but it does save us from doing
13878           repeated XQueryFont calls on the same font.
13879
13880         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13881           list so we can remove font/fontset from hash.
13882
13883 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13884
13885         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13886           and slightly confusing test. [ XInternAtom (,,TRUE)
13887           will never return None ].
13888
13889 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13890
13891         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13892           gdk/gdkwindow.c (gdk_window_set_hints):
13893
13894         Don't omit setting the properties if flags == 0 -
13895         there may be an existing set of properties there
13896         already. (Very old bug. Would it be better to
13897         delete the property instead?)
13898
13899         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13900           spelling error in comment.
13901
13902 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13903
13904         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13905           to avoid stomping over gdk_error_warnings.
13906
13907         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13908           as (bits_per_pixel + 7) / 8. This gives the same
13909           result as before for multiples of 8, but actually
13910           a "reasonable" value for 1bit or 4bit displays.
13911
13912 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13913
13914         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13915         GNU Make.
13916
13917 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13918
13919         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13920         discarding configure events.
13921
13922 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13923
13924         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13925         refcount is greater than zero.
13926
13927         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13928
13929         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13930
13931         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13932
13933         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13934
13935 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13936
13937         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13938         that format 32 => sizeof(item) == 4. It really is
13939         sizeof(long).
13940
13941 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13942
13943         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13944         core dump at all on X IO errors, only core dump
13945         if --enable-debug for X errors.
13946
13947 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13948
13949         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13950         unknown window:" message. disabled ConfigureNotify discarding code,
13951         because it led to events being processed out of order.
13952
13953 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13954
13955         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13956
13957         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13958         we export this function, supress error warnings and don't reset the
13959         error code in the first half of this function.
13960
13961         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13962         code (instead of just -1) so gdk_error_trap_pop() reveals something
13963         actually informative about the error that happened.
13964
13965         * gdk/*.c:
13966         don't rely on gdk_error_code being -1 if an error occoured, but just
13967         gdk_error_code != 0.
13968
13969 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13970
13971         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13972         pointer *before* invoking the filter function, so we at least don't
13973         crash if a filter is removed that is currently executed. window filters
13974         *really* need to be made truely reentrant at some point.
13975
13976 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13977
13978         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13979         PropertyNotify debug messages.
13980
13981 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13982         
13983         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13984         
13985         * gdk/gdkim.c: Fix cut-and-paste errors for 
13986         x/y and PreeditAttributes/StatusAttributes.
13987
13988 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13989
13990         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13991         G_MAXINT to 2^16 to alleviate overflow problems in
13992         various window managers.
13993
13994 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13995
13996         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13997         for fontsets.
13998
13999 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14000
14001         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14002         Initialize size_hints.x and size_hints.y because kwm
14003         brokenly pays attention to them.
14004         (Bug #1181 -  Lars Heete <hel@admin.de>)
14005
14006 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14007
14008         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14009         return value of gdk_list_visuals(). 
14010         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14011
14012 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14013
14014         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14015         XSetIMValues to (void *) when comparing to NULL, to workaround
14016         the problem of some compilers barfing since older X headers don't
14017         have the prototype for it.
14018
14019 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14020
14021         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14022         for pseudocolor where colormap->colors was double
14023         allocated.
14024
14025         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14026         color value in the hash table with the pixel filled
14027         in so when we do later hash table lookups, the color
14028         value is correct.
14029         
14030 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14031
14032         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14033         making the call
14034
14035 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14036
14037         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14038         pointed out by Morten Welinder <terra@diku.dk>.
14039
14040 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14041
14042         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14043           default filter from the list
14044
14045 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14046
14047         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14048           default filter from the list
14049
14050 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14051
14052         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14053
14054         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14055         g_strdup_printf instead of calcing the length separately
14056
14057 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14058
14059         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14060         that we don't do in many other places. (Fixing duplicate 
14061         #include of config.h)
14062
14063         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14064         Otherwise, #ifndef XINPUT_NONE check in the latter
14065         doesn't work. (Bug #546)
14066
14067 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14068
14069         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14070         "None" case insensitive.
14071
14072 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14073
14074         * gdk/gdkselection.c: 
14075         Add error traps so if the other end of the connection
14076         dies, we survive.
14077
14078 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14079
14080         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14081         dest_xid field into two fields - one for the window
14082         to send in messages, one to indicate the last looked
14083         up window for caching purposes. This is needed, so
14084         that Leave messages get the correct window.
14085
14086 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14087
14088         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14089         Fix warning created by people mucking around
14090         with the gsource API.
14091
14092         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14093         Change mapping between GIOCondition and GdkInputCondition
14094         to match the way the Linux kernel does it. This should
14095         fix problems where closed pipes were no longer signalling
14096         GDK_INPUT_READ on systems with a native poll().
14097
14098 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14099
14100         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14101         explicitly for the string "None" - it is in the XPM
14102         spec and some servers treat unknown colors in odd ways
14103         (like asking the user!)
14104
14105 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14106
14107         * gdk/gdkevents.c: made "->" into a "." of previous change so
14108         it compiles
14109
14110 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14111
14112         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14113         window field of the event structure before calling
14114         user filters.
14115
14116 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14117
14118         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14119         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14120
14121 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14122
14123         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14124         intermediate text property - prevents major memory
14125         leak when gdk_use_mb.
14126         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14127
14128 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14129
14130         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14131         gtk-a-higuti-990322-[0-3]
14132
14133         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14134         sizeof(wchar_t) != sizeof (GdkWChar)
14135
14136         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14137         that was causing -DX_LOCALE not to work.
14138
14139         * gtk/gtkrc.c (gtk_rc_init):
14140         X_LOCALE will never have LC_MESSAGES defined
14141
14142         * gdk/gdk.c (gdk_init_check):
14143         Remove --xim-preedit and --xim-status from argv properly.
14144
14145         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14146         that the client window is present on the X server
14147         before we pass it to the input method.
14148
14149 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14150
14151         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14152         if --display is specified on the command line, than
14153         the drag window will not be created on that display.
14154         
14155 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14156
14157         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14158         lookups with only_if_exists == TRUE were inserting
14159         bogus values into the atom cache.
14160
14161 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14162
14163         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14164         then reset it to NULL.
14165
14166         * gdk/gdkcolor.c:
14167         (gdk_colors_free): 
14168         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14169         key for g_hash_table_remove() in both functions, this prevents us
14170         from accessing possibly uninitialized portions of a GdkColor structure
14171         where we are only interested in its pixel value.
14172
14173 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14174
14175         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14176         font hash table, if we have a GdkFontPrivate entry for this font
14177         already, simply increment its reference count, provided by Olaf Dietsche
14178         <olaf.dietsche+list.gtk@netcologne.de>.
14179
14180 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14181
14182         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14183         just to be sure.
14184
14185         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14186         unused variables, leftovers from the X11 version.
14187
14188         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14189
14190         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14191         downcase fields on X11.
14192
14193 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14194         
14195         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14196         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14197
14198 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14199
14200         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14201
14202         * gtk/makefile.msc: Correct path to libintl.
14203
14204         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14205         use of gint vs. int, and gint vs. gboolean in headers and
14206         definitions. Use GtkType for the *_get_type functions. Note that
14207         these changes preserve binary compatibility.
14208
14209         * gdk/gdk.c
14210         * gdk/win32/gdk.c
14211         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14212
14213         * gtk/gtkmain.c
14214         * gtk/gtkclist.c
14215         * gtk/gtkmenufactory.c
14216         * gtk/gtknotebook.c
14217         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14218         vs. gboolean.
14219
14220         * gtk/gtkcolorsel.[ch]
14221         * gtk/gtkcombo.[ch]
14222         * gtk/gtkdrawingarea.[ch]
14223         * gtk/gtkgamma.[ch]
14224         * gtk/gtkhandlebox.[ch]
14225         * gtk/gtkhpaned.[ch]
14226         * gtk/gtkhruler.[ch]
14227         * gtk/gtkplug.[ch]
14228         * gtk/gtkpreview.[ch]
14229         * gtk/gtkruler.[ch]
14230         * gtk/gtksocket.[ch]
14231         * gtk/gtkstatusbar.[ch]
14232         * gtk/gtktoolbar.[ch]
14233         * gtk/gtkvbbox.[ch]
14234         * gtk/gtkvpaned.[ch]
14235         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14236         functions.
14237
14238         * gtk/gtkgamma.h: Fix bug, missing () in call of
14239         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14240
14241 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14242
14243         * gdk/gdkcolor.c (gdk_colormap_new)
14244         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14245         colormap->colors was allocated twice.
14246
14247         * gdk/win32/gdk.c: Remove some unused stuff.
14248
14249         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14250         colormap.
14251
14252         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14253         * gtk/gtklabel.h (gtk_label_get_type)
14254         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14255         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14256         in a couple of places, not guint.
14257
14258 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14259
14260         * configure.in,po/et.po: added Estonian language file
14261
14262 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14263
14264         * configure.in,po/da.po: added Danish file
14265
14266 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14267
14268         * docs/gtkfaq.sgml: Minor FAQ Update
14269
14270 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14271
14272         * docs/gtkfaq.sgml: FAQ update
14273
14274 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14275
14276         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14277         way to get window contents continually refreshed while resizing. I
14278         didn't like the effects myself, so it's not on by default.
14279
14280         * gdk/win32/gdkprivate.h: New flag variable
14281         gdk_event_func_from_window_proc, FALSE by default.
14282
14283         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14284         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14285         are passed --gdk-event-func-from-window-proc.
14286
14287         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14288         and we have am event_func, call it instead of enqueing the event.
14289
14290 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14291
14292         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14293         Kelley: Set expose_count in GdkEventExposes correctly.
14294
14295         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14296         MULTIPLE_WINDOW_CLASSES).
14297
14298         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14299         for bug in NT, apparently NT *does* draw the end pixel, too, in
14300         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14301
14302 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14303
14304         Improvements by Hans Breuer: 
14305
14306         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14307
14308         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14309         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14310         window contents while dragging" is turned on. Allocate at least
14311         one unique class for every GdkWindowType. If support for single
14312         window-specific icons is ever needed (eg. Dialog specific), every
14313         such window should get its own class.
14314
14315 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14316
14317         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14318         error that caused crashes.
14319
14320 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14321
14322         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14323         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14324         bugs when for instance part of the window was outside the
14325         display. Thanks to Philippe Colantoni for finding and fixing this.
14326
14327 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14328
14329         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14330         endpoint calculations which were totally wrong. (A little RTFMing
14331         helps a lot ;-)
14332
14333         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14334         from a separate directory, not from gettext, because of licensing
14335         issues (we want to use the LGPL version).
14336
14337         * README.win32: Mention the intl from glibc vs from gettext issue.
14338
14339 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14340
14341         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14342         in the key event handling: Now AltGr chars work again. Also,
14343         now Alt-digits are passed up as well as Control-digits.
14344         Pass keypad plus and minus as normal plus and minus.
14345
14346 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14347
14348         * docs/gtkfaq.sgml: FAQ Update
14349
14350 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14351
14352         * README.win32
14353         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14354         the Wintab SDK.
14355
14356         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14357         OK, but getting closer. Guard against bogus tilt data from Wacom
14358         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14359         enable easier building without Wintab.
14360
14361         * gdk/win32/gdkinput.h
14362         * gdk/win32/gdkevents.c 
14363         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14364         
14365         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14366         code. As we have just one visual on Win32, no sense to have it in a
14367         table, and no need for the hash table.
14368
14369         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14370         better on white background.
14371
14372 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14373
14374         * README.win32: Update gcc build instructions. Mention gettext is
14375         GPL.
14376
14377         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14378         supported cursor size with GetSystemMetrics.
14379
14380         * gdk/win32/gdkfont.c
14381         * gtk/gtkfontsel.c: Guard against some font weight and charset
14382         symbols being undefined (in mingw32 headers).
14383
14384         * gdk/win32/makefile.cygwin
14385         * gtk/makefile.cygwin
14386         * gtk/gtkthemes.c: No longer need to have differently named
14387         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14388
14389 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14390
14391         * docs/gtkfaq.sgml: Long awaited FAQ update.
14392
14393 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14394
14395         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14396         it. Obscure bit manipulation needed.
14397
14398         * gdk/win32/gdkevents.c: Logging.
14399         
14400         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14401         style (file name include compiler name) for theme engines.
14402
14403 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14404
14405         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14406
14407         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14408         events. The key.string wasn't zero-terminated, still we strdup'ed
14409         it in gdk_event_copy(). Synthesize crossing events for button
14410         events before possible propagation.
14411
14412         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14413
14414         * gdk/win32/makefile.cygwin
14415         * gtk/makefile.cygwin: Use new DLL naming style for the
14416         GCC-compiled ones.
14417
14418         * gdk/win32/makefile.msc
14419         * gtk/makefile.msc: Cosmetics mostly.
14420
14421         * gtk/gtk.def: Add missing entry points.
14422
14423         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14424
14425 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14426
14427         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14428         or height is zero. Don't print a warning if Pie or Arc fails, they
14429         always fail (?) for very narrow ellipses.
14430
14431         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14432         the part or the destination window corresponding to source area
14433         outside of the source drawable's boundary.
14434
14435         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14436         anything if less than two points.
14437
14438         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14439         return NULL. Gtk cut-and-paste inside a single program works
14440         better this way. (It always gets the clipboard contents from
14441         Windows, not from its own copy, which is cleared anyway. I can't
14442         say I fully understand what happens... Emulating the X selection
14443         and property stuff is a bit of a mess.)
14444
14445         * gdk/win32/gdkevents.c
14446         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14447
14448         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14449         that never got deleted). Revamp gdk_region_shrink.
14450
14451         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14452         after use.
14453
14454         * gtk/gtk.def: Add some missing entry points.
14455
14456         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14457         component.
14458
14459 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14460
14461         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14462         Control-digits specially.
14463
14464 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14465
14466         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14467
14468 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14469
14470         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14471         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14472         finding this.)
14473
14474 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14475
14476         * gtk+.spec.in: Corrected some typos in files section.
14477         
14478 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14479
14480         * README.win32: Mention using GNU gettext.
14481         * config.h.win32: Enable NLS stuff.
14482         * gtk/makefile.msc: Use GNU gettext.
14483         * gdk/win32/gdkdnd.c: Minor header reorg.
14484         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14485         cosmetics.
14486         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14487         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14488
14489 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14490
14491         * acinclude.m4
14492         * config.guess
14493         * config.status
14494         * ltconfig
14495         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14496
14497 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14498
14499         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14500         SafeAdjustWindowRectEx. Don't override all calls to
14501         AdjustWindowRectEx by it, but use it only in two places: When
14502         creating a new top-level window and when moving a top-level
14503         window.
14504
14505         Use screen coordinate rectangle, not client rectangle, in
14506         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14507         when we try to place a window so that the decoration (mainly,
14508         title bar) isn't visible.
14509
14510         These changes fix the bug that showed up for instance as the
14511         GIMP's saved top-level windows moving right and down (by an amount
14512         equal to the window decoration) for each session. This bug showed
14513         up also in testgtk's "Saved Position".
14514
14515         gdk_window_resize also redone a bit.
14516
14517 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14518
14519         * gtk/testgtkrc: Add (commented out) Windows-style theme
14520         include line.
14521
14522         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14523
14524 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14525
14526         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14527         gdkx.h to a gdk subdirectory, so that applications can include
14528         these with <gdk/*.h> without trouble.
14529
14530         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14531         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14532         have their bitmap destroyed.
14533
14534         * gdk/win32/gdk.def: Add gdk_root_parent.
14535
14536 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14537
14538         * configure.in
14539           gtk-config.in
14540           ltconfig
14541           ltmain.sh     
14542           gtk/Makefile.am: changes to compile nicely (with xlib) 
14543           on BeOS
14544
14545 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14546
14547         * acinclude.m4
14548         * config.guess
14549         * config.sub
14550         * ltconfig
14551         * ltmain.sh: upgrade to libtool 1.3
14552
14553 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14554
14555         * gtk/gtkclist.c:
14556         * gtk/gtkctree.c: merges from gtk-1-2
14557
14558 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14559
14560         Support added for building using a GNU toolchain on Win32,
14561         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14562
14563         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14564         * config.h.win32: Changes for gcc.
14565         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14566         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14567         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14568         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14569         Protect shl stuff unavaiilable with mingw32 headers.
14570         * gdk/win32/gdkevents.c: Fix typo.
14571         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14572         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14573         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14574         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14575         the mingw32 headers.
14576         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14577         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14578         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14579         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14580         Test for NATIVE_WIN32, not _MSC_VER.
14581         * gtk/gtkmain.c: No use warning about developer version on Win32,
14582         there aren't any non-developer versions anyhow.
14583         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14584         * gtk/makefile.msc: Use pthread from another directory. Minor other
14585         changes. 
14586
14587 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14588
14589         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14590           default filter from the list
14591
14592 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14593
14594         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14595          when gtk_widget_grab_default() is called for a widget that
14596          is not within a GtkWindow.
14597
14598 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14599
14600         * docs/gtk_tut.sgml, examples/clist.c: use a
14601           scrolled window in the clist example. Minor
14602           tutorial fixes.
14603
14604 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14605
14606         * docs/gtk_tut.sgml: Style check from David King
14607           <dking@youvegotmail.net>
14608
14609 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14610
14611         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14612         compile with unknown value of GDK_WINDOWING
14613
14614 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14615
14616         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14617         after the rule is fired.
14618         (install-exec-local): Install gdkconfig.h only if the contents are
14619         different from the currently installed gdkconfig.h.
14620
14621 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14622
14623         * gdk/Makefile.am (configexecincludedir): Rename from 
14624         configincludedir so that gdkconfig.h will be installed 
14625         as part of `make install-exec'. 
14626
14627 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14628
14629         * acinclude.m4
14630         * config.guess
14631         * config.sub
14632         * ltconfig
14633         * ltmain.sh: upgrade to libtool 1.2f
14634
14635         * autogen.sh: libtool is not required to autogen gtk+
14636
14637         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14638         needed)
14639
14640 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14641
14642         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14643         declaring gdk variables exported/imported from the DLL. New image
14644         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14645         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14646         GDK_DRAG_PROTO_OLE2.
14647
14648         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14649         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14650         declared only for the Win32 version, but could be in the X11
14651         version as well. (Needed for a Xlib-less gdk_imlib.)
14652         gdk_color_hash should have only one parameter. Declare
14653         gdk_threads_mutex with GDKVAR.
14654         
14655         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14656         just one parameter.
14657
14658         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14659         per pixel, not bits.
14660
14661         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14662         Fetch bpp (which means bits-per-pixel here) from another place on
14663         Win32. Accept also depth==32 (which we might get on Win32) with
14664         bpp==32.
14665
14666         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14667         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14668         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14669         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14670         in the backend-dependent directory, not in the common gdk
14671         directory.
14672
14673         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14674         headers.
14675
14676 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14677
14678         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14679         want to use the Gtk+ devel version (which is true, and yes - even i am
14680         currently working with the 1.2.x branch). so everyone reading this, you
14681         probably want to issue
14682         cvs checkout -r glib-1-2 glib
14683         and
14684         cvs checkout -r gtk-1-2 gtk+
14685         as your next two comands.
14686
14687 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14688
14689         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14690         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14691
14692         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14693         file. strongly deprecated the GTK_HAVE_* macros, we provide
14694         GTK_CHECK_VERSION() for people that need to check for certain
14695         Gtk+ versions.
14696
14697         * gtk/gtkcompat.h: removed this from CVS.
14698         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14699         idea right from the start, it just didn't seem like that back then.
14700
14701 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14702
14703         * merges from gtk-1-2:
14704
14705 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14706
14707         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14708         item factory class has been created.
14709         (gtk_item_factory_parse_rc): likewise.
14710
14711         * gtk/gtkmenu.c:
14712         keep proper references for old_active_menu_item.
14713         (gtk_menu_reparent): unset the usize of the new parent,
14714         so the menu can sanely be size requested and we don't get nasty screen
14715         artefacts upon next reparentation.
14716         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14717         enter notify. only synthesize enter notifies if the pointer really is
14718         inside the event window.
14719         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14720         (gtk_menu_popup): move the background setting stuff into
14721         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14722
14723         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14724         gtk_menu_shell_select_item() to select the new item.
14725         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14726         do the right thing for deselection as well.
14727
14728 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14729
14730         * gtk/gtkwidget.[hc]:
14731         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14732         are locked.
14733
14734         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14735         existing accelerators if the widget's accelerators are locked.
14736
14737 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14738
14739         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14740
14741         * gtk/gtkmenu.c: truely forward key press and key release events to
14742         the menu widget from the toplevel or tearoff window. we can't simply
14743         connect to that, we need to stop further processing of the events as
14744         well.
14745
14746 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14747
14748         * gtk/gtkmenu.c:
14749         (gtk_menu_key_press): pass event->keyval, event->state to
14750         gtk_accelerator_valid, instead of event->keyval twice.
14751         refuse to install single letter accelerators for menus that use
14752         single letter shortcuts.
14753
14754         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14755         gtk_menu_ensure_uline_accel_group().
14756
14757         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14758         which will always return an uline accel group, made
14759         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14760         yet created.
14761
14762 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14763
14764         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14765
14766         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14767         Leave button sensitive, trap  button_press, button_release,
14768         motion_notify, enter_notify and leave_notify events instead.
14769         (gtk_clist_column_title_active): disconnect event handler.
14770         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14771         Guillaume Laurent <glaurent@worldnet.fr>
14772
14773 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14774
14775         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14776         width/height mixups.
14777
14778         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14779         if needed.
14780
14781 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14782
14783         * gtk/testgtk.c (create_item_factory): unref the item factory after
14784         window's destruction.
14785
14786         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14787         count on the menu shell around the menu item's activation, since the
14788         signal emission may cause menu shell destruction.
14789
14790         * gtk/gtkitemfactory.c:
14791         the previous code leaked one accel group per menu. we use
14792         gtk_menu_get_uline_accel_group() now to fix that, and with that
14793         also create the underline accelerator group of the menus only if
14794         required (i.e. an underline accelerator has been specified).
14795         (gtk_item_factory_construct):
14796         (gtk_item_factory_create_item): removed code that would create an
14797         extra accel group for the menu (and leak references).
14798         (gtk_item_factory_create_item): adapted the underline accelerator
14799         installation code to properly feature gtk_menu_get_uline_accel_group().
14800
14801         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14802         menu->accel_group, this may return NULL if the accelerator group
14803         hasn't been set yet.
14804         added gtk_menu_get_uline_accel_group() to retrive the underline
14805         accelerator group of the menu, this will be created on demand
14806         and proper care is taken about its reference count.
14807
14808         * gtk/gtkitemfactory.h:
14809         * gtk/gtkitemfactory.c:
14810         dumped the approach of keeping a widgets by action list on the
14811         factory since the factory<->widget destroy negotiation didn't work
14812         and would be hard to get going at all. instead we keep a list of
14813         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14814         persistant throughout a program's life time).
14815         also, i removed the static const gchar *key_* variables, and made
14816         them inline strings (they weren't actually used anyways).
14817         (gtk_item_factory_add_item): update ifactory->items.
14818         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14819         the item factory pointer from the remaining ifactory widgets).
14820         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14821         list to find the widget.
14822         (gtk_item_factory_get_item): new function that works around
14823         gtk_item_factory_get_widget() limitations, this function will only
14824         return menu items, even for <Branch> entries.
14825
14826 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14827
14828         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14829         font hash table, if we have a GdkFontPrivate entry for this font
14830         already, simply increment its reference count, provided by Olaf Dietsche
14831         <olaf.dietsche+list.gtk@netcologne.de>.
14832
14833         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14834         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14835
14836 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14837
14838         * gtk/gtkcontainer.c:
14839         (gtk_container_add_with_args):
14840         (gtk_container_addv):
14841         (gtk_container_add): before adding a child to a conatiner, make sure
14842         it is (default) constructed, this is neccessary because under certain
14843         circumstances the child will get relized and mapped immediatedly, in
14844         which case it has to be constructed already.
14845
14846 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14847
14848         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14849         values > 1 as TRUE also.
14850
14851 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14852
14853         * README.win32: New file.
14854                 
14855         * configure.in: Check for lstat.
14856
14857         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14858         completeness.
14859
14860         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14861
14862         * gtk/gtk.def: Removed CRs.
14863
14864         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14865         ..\gdk\win32).
14866
14867         * gdk/win32/makefile.msc: Correct upwards relative paths.
14868         
14869 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14870
14871         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14872           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14873           it was connecting a void function to expose_event and the int
14874           returning function to the draw signal
14875
14876 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14877
14878         * configure.in:
14879         Use correct path to libgmodule.la when ref'ing uninstalled copy
14880         of glib.  (Already in stable branch, Bug #417)
14881
14882 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14883
14884         Win32 merge and general portability stuff:
14885                 
14886         * acconfig.h,configure.in: Check for <sys/time.h>.
14887
14888         * gdk/win32: New directory (actually, been there for a while).
14889         
14890         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14891         NATIVE_WIN32, and use these. Always case fold on Win32. No
14892         backslashed escapes on native Win32.
14893
14894         * gtk/{gtk.def,makefile.msc}: New files.
14895
14896         * gtk/Makefile.am: Add above new files.
14897         
14898         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14899         instead of <strings.h>.
14900
14901         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14902         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14903         <unistd.h> appropriately.
14904
14905         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14906         Use ABS() (from <glib.h>) instead of abs().
14907         
14908         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14909         of gtk (and thus glib) headers, so that WIN32 will be
14910         defined. With MS C, include <direct.h> for mkdir prototype.
14911
14912         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14913         some casts, needed by MS C.
14914
14915         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14916         implemented).
14917
14918         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14919         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14920         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14921
14922         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14923                 
14924         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14925         the event is not a hint, or its window is not the slider. Needed
14926         on Win32, at least.
14927
14928         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14929         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14930         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14931         a subdirectory of the Windows directory as gtk system
14932         configuration directory.
14933
14934         * gtk/gtkselection.c: No chunks on Win32.
14935
14936         * gtk/gtksocket.c: Not implemented on Win32.
14937
14938         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14939
14940         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14941
14942         * gtk/maketypes.awk: Declare variables with a macro that expands to
14943         necessary export/import magic in the case of Win32.
14944                 
14945         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14946
14947 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14948
14949         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14950         since those were meant only for gdki18n.h.  
14951         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14952         for widechar tests.
14953         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14954
14955 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14956
14957         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14958         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14959
14960         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14961         installed) to CFLAGS.
14962
14963         * gdk/Makefile.am: Add rules for gdkconfig.h.
14964
14965         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14966         APIs.
14967
14968         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14969         gdkx.h anyway when compiling for X11.
14970         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14971         general): Merge in Win32 version.
14972         
14973         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14974         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14975         expansion (if we don't have HAVE_PWD_H), allow for drive
14976         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14977         included code from Craig Setera's port to Win32 (the one that uses
14978         X11, and the cygwin dll), even if it probably will be abandoned.
14979
14980         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14981         the user entered one herself.  This way one can complete *.h and
14982         don't get matches on any .help files, for instance.
14983         
14984 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14985
14986         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14987         font hash table, if we have a GdkFontPrivate entry for this font
14988         already, simply increment its reference count, provided by Olaf Dietsche
14989         <olaf.dietsche+list.gtk@netcologne.de>.
14990
14991         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14992         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14993
14994 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14995
14996         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14997         the number of calls to gdk_draw_point() (and thus to X) by
14998         clipping the points by hand.
14999
15000         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15001         the clip parameter.
15002         (gtk_handle_box_paint): Only paint the handle if the expose area
15003         intersects it.
15004
15005 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15006
15007         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15008
15009 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15010
15011         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15012         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15013
15014 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15015
15016         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15017          textmode (O_TEXT) for OS/2 version.
15018
15019 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15020
15021         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15022         GtkSpinButton, "input" and "output", to make the output more flexible.
15023         The user has to provide a mapping between adjustment->value and the
15024         output string (and vice versa, if the spin button is editable). 
15025         See testgtk for examples.
15026
15027 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15028
15029         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15030         new one.
15031         
15032         * configure.in: set gtk+ version to 1.3.0.