]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Remove leaks.
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-03-30  Alexander Larsson  <alexl@redhat.com>
2
3         * gtk/gtkbutton.c (gtk_button_get_property):
4         * gtk/gtklabel.c:
5         Remove leaks.
6         
7         * gtk/gtkcontainer.c:
8         * gtk/gtkhscale.c:
9         * gtk/gtkhscrollbar.c:
10         * gtk/gtklayout.c:
11         * gtk/gtkmisc.c:
12         * gtk/gtkprogress.c:
13         * gtk/gtkprogressbar.c:
14         * gtk/gtkrange.c:
15         * gtk/gtktable.c:
16         * gtk/gtkviewport.c:
17         * gtk/gtkvscale.c:
18         * gtk/gtkvscrollbar.c:
19         * gtk/gtkwidget.c:
20         Property patches, based on patches from John Margaglione and Lee Mallabone.
21
22 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
23
24         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
25         adjustment. Cleaned redundant preconditions (spin != NULL). Added
26         inline API function docs.
27         (gtk_spin_button_new_with_range): New convenience constructor.
28         (gtk_spin_button_set_increments): New adjustment helper.
29         (gtk_spin_button_set_range): New adjustment helper.
30
31         * gtk/testgtk.c : added test of the new convenince constructor and
32         value_changed signals.
33
34 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
35
36         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
37         listen to the reorder signal.
38
39 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
40
41         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
42         to get the aux info structure fo the widget.
43
44         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
45         above function.
46
47         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
48
49         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
50         to get the size of the window manager frame, basically the same
51         code that gdk_window_get_root_origin() had
52         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
53
54         * gtk/gtkwindow.c (gtk_window_set_default_size): use
55         gdk_window_resize() if the window is realized and resizeable
56
57         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
58         typo so that setting gravity works
59
60         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
61         allocation if auto_shrink is on, even if the default size
62         has not changed.
63
64         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
65         g_return_if_fail
66
67 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@webwynk.net>
68
69         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
70         reordering/sorting work.  Now pretty much works.
71
72         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
73         reorder mostly work.  Still need to get the parity correct.
74
75         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
76         signal, so I can listen for the sort_column_changed signal so I
77         can change my "sort_indicator" property.  Cool.
78
79 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
80
81         [ Patch from Havoc Pennington, hp@redhat.com ]
82
83         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
84         Add functions gdk_window_begin_resize_drag/begin_move_drag
85         to start resizing or moving a toplevel window. This
86         is done either using the _NET_WM_MOVERESIZE protocol,
87         or, if that isn't present, by emulation.
88
89         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
90         to export the above to GTK+-land.
91
92         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
93         
94         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
95         Move this function into gdkwindow, since we need it
96         when implementing fallback resizing.
97
98         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
99         Fix typo when setting gravity.
100
101         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
102         Add an optional (but on by default) resize grip for resizing 
103         the parent window.
104
105 01-03-29  Alexander Larsson  <alexl@redhat.com>
106
107         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
108         Don't return TRUE from the event handler, that blocks all
109         event signals on the tooltip widget. Now you can press buttons
110         in toolbars again.
111
112 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
113
114         * gtk/testtext.c (create_buffer): Add missing NULL on
115         valist.
116
117         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
118         c-n-p problem with INCONSISTENT property.
119
120         [ Patch from Havoc Pennington  <hp@redhat.com> ]
121
122         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
123         hook.
124
125         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
126         signal as a hook for extending the default popup menu
127
128         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
129         use radio menu items for the input method menuitems
130
131         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
132         inserted unicode from Ctrl-Shift-hex input method
133
134         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
135         validatation here, already done at GtkTextBuffer level.
136
137         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
138         popup_menu run action signal and Shift+F10 and Menu keybindings.
139
140         * gtk/gtkentry.c: implement a default handler for popup_menu
141
142         * gtk/gtktextview.c: implement a default handler for popup_menu
143
144         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
145         from a key event
146         
147         * gtk/gtklabel.c: remove "trailer" cruft
148
149 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
150
151         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
152         handle reordering of trees.  Seems to mostly work w/ the exception
153         of the parity flag.
154
155         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
156         signal.
157
158 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
159
160         * gtk/gtkwidget.h: c++ fixes.
161
162 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
163
164         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
165         memory.
166
167 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
168
169         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
170         Nils Barth fixing event return values. (#51041)
171
172         * gtk/gtkwidget.c: Fix some return values for default
173         functions.
174
175         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
176         return values for trough_keys functions.
177
178         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
179         value for add_accelerator (shoudl have been a void
180         return.)
181
182         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
183         Fix return type of EVENT.
184
185         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
186         signal return a boolean.
187
188 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
189
190         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
191         reordered signal.
192
193         * tests/testtreesort.c (main): fix spelling.
194
195 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
196
197         * gtk/gtkliststore.c: More work on implementing sortable
198         interface.
199
200 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
201
202         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
203         reference the widgets in the resulting list. (#11821)
204         This makes this consistent with gtk_container_children.
205
206         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
207         uses of gtk_window_list_toplevels.
208
209 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
210
211         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
212         a virtual function to set whether the IM context should use 
213         the preedit string. (#51922)
214         
215 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
216
217         * gdk/gdkpango.h: Remove stale FIXME comment.
218
219 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
220
221         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
222         Fixed bug that returned NULL if a filename was selected.
223
224 2001-03-24  Havoc Pennington  <hp@pobox.com>
225
226         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
227         to contain the word "theme"
228
229 2001-03-24  Havoc Pennington  <hp@pobox.com>
230
231         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
232         slower but finer-grained
233         (gtk_hsv_focus): get initial focus on the ring or triangle 
234         according to tab direction
235
236         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
237
238 2001-03-23  Havoc Pennington  <hp@pobox.com>
239
240         * gtk/gtkhsv.c: make this somewhat key-navigable
241
242         * gtk/gtkfontsel.c: mnemonics
243
244         * gtk/gtkgamma.c: mnemonics
245
246         * gtk/gtkcolorsel.c: add mnemonics to labels
247
248 2001-03-22  Havoc Pennington  <hp@pobox.com>
249
250         Applied big patch from Seth Lytle to fix event handler return
251         values, slightly modified.
252
253         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
254         handled.
255         (gtk_calendar_key_press): return TRUE for GDK_space triggers
256         select_day
257
258         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
259         (gtk_clist_button_release): return TRUE if handled
260
261         * gtk/gtkcolorsel.c (mouse_release):
262         (palette_activate): 
263         (palette_press): 
264         (palette_new): 
265         (mouse_press): 
266         (get_screen_color): 
267         fixed return type (void to gboolean), return TRUE,
268         added GTK_SIGNAL_FUNC cast
269
270         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
271         (void to gboolean), and return TRUE
272         (gtk_combo_button_release): changed return value to TRUE after
273         gtk_grab_add on combo->popwin
274
275         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
276         collapse or expand
277
278         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
279         button/motion
280
281         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
282         press/release and motion that trigger act
283
284         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
285
286         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
287         for GDK_Return
288         
289         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
290         (gtk_list_button_release): return TRUE if selection
291
292         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
293         press
294
295         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
296         (gtk_menu_shell_button_release): chain parent_menu_shell retval
297
298         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
299         nothing triggered
300         (gtk_notebook_button_release): return TRUE if we do anything
301
302         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
303         (gtk_spin_button_button_release): return TRUE or chained retval
304
305         * gtk/gtktext.c (gtk_text_button_press): 
306         (gtk_text_button_release): return TRUE
307         (gtk_text_key_press): remove redundant retval code
308         
309         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
310         and sensitive
311         (gtk_tree_item_subtree_button_click): changed type to gint, and return
312         TRUE if sensitive
313
314         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
315         return TRUE
316
317 2001-03-23  Havoc Pennington  <hp@redhat.com>
318
319         * gtk/testgtk.c: fix warnings
320
321         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
322
323         * gtk/gtktextview.c: fix warnings
324
325         * gtk/gtktext.c (find_cursor_at_line): fix warning
326
327         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
328
329         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
330         of this function
331
332         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
333         fix warning
334
335         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
336
337         * gtk/gtkfontsel.c: fix warning
338
339         * gtk/gtkcolorsel.c: fix warnings
340
341 2001-03-23  Havoc Pennington  <hp@redhat.com>
342
343         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
344
345         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
346
347         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
348         and deprecated gtk_check_menu_item_set_show_toggle().
349         
350         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
351
352         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
353
354         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
355
356 2001-03-23  Havoc Pennington  <hp@redhat.com>
357
358         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
359         some docs
360
361 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
362
363         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
364         this.
365
366         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
367         set_cell to set_value
368
369         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
370         set_cell to set_value
371
372 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
373
374         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
375         fix braino.
376         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
377         support.
378
379         * gtk/gtktreeview.c: Addition of initial sortable support.
380
381         * gtk/gtktreestore.c: Addition of initial sortable support.
382
383         * gtk/gtkliststore.c: Addition of initial sortable support.
384
385         * gtk/gtkmarshal.list: yet another marshaller.
386
387         * gtk/gtktreedatallist.[ch]: shared code between the store models
388         for handling sorting headers.
389
390 2001-03-22  Havoc Pennington  <hp@redhat.com>
391
392         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
393         (gtk_container_unset_focus_chain): Add ability to override the 
394         focus chain for a container explicitly
395
396 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
397
398         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
399         added PROP_MNEMONIC_WIDGET.
400
401         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
402         (gtk_window_remove_mnemonic): 
403         (gtk_window_add_mnemonic): fixed assertions.
404         (gtk_window_activate_mnemonic): constrain modifier checks to those
405         permitted by gtk_accelerator_get_default_mod_mask().
406         got rid of gtk_window_get_default_accel_group().
407
408         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
409         activatable widgets either by focussing or a warning.
410         added a signal accumulator to ::activate_mnemonic which stops the
411         emission once a handler returned TRUE.
412
413 2001-03-22  Havoc Pennington  <hp@pobox.com>
414
415         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
416         the stock item label
417
418         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
419
420         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
421
422         * demos/gtk-demo/*.c: Add mnemonics all over the place
423
424         * gtk/gtklabel.h: mark parse_uline deprecated
425
426 2001-03-21  Alexander Larsson  <alexl@redhat.com>
427
428         * gtk/gtkitemfactory.[ch]:
429         Add support for stock and normal imagemenuitems.
430         
431         * gtk/testgtk.c:
432         Add some tests for mnemonics, stock toolbars, stock
433         and image menuitems in itemfactory and gdk_window_scroll.
434
435 2001-03-21  Alexander Larsson  <alexl@redhat.com>
436
437         * gtk/gtkbutton.[ch]:
438         * gtk/gtkdialog.c:
439         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
440         removed accel_group argument. Renamed gtk_button_new_accel() to
441         gtk_button_new_with_mnemonic() and removed accel_group argument.
442
443         * gtk/gtkcheckbutton.[ch]:
444         New function gtk_check_button_new_with_mnemonic().
445
446         * gtk/gtkentry.c:
447         Override activate_mnemonic and just grab focus.
448
449         * gtk/gtkitemfactory.c:
450         Don't add menu uline accel group, instead use mnemonics support.
451
452         * gtk/gtklabel.[ch]:
453         New support for mnemonics.
454
455         * gtk/gtkmarshal.list:
456         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
457
458         * gtk/gtkmenu.[c]:
459         * gtkmenushell.c:
460         Use mnemonics instead of accel groups for uline
461         support in menu items.
462         Removed gtk_menu_get_uline_accel_group() and
463         gtk_menu_ensure_uline_accel_group().
464
465         * gtk/gtkmenuitem.c:
466         Override activate_mnemonic to handle switching between
467         menu items if there are collisions.
468         
469         * gtk/gtknotebook.c:
470         Connect to activate_mnemonic on the tab_label, so that
471         activating it switches to that notebook page.
472
473         * gtk/gtkwidget.[ch]:
474         Add activate_mnemonic signal. New function
475         gtk_widget_activate_mnemonic() to emit it.
476         Default implementation does activate/grab_focus.
477
478         * gtk/gtkwindow.[ch]:
479         Add support for mnemonics in windows.
480         New functions:
481         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
482         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
483
484         * gtk/testgtk.c:
485         Update to function name changes.
486         
487 2001-03-21  Alexander Larsson  <alexl@redhat.com>
488
489         * gtk/gtkimagemenuitem.[c]:
490         Add gtk_image_menu_item_new_from_stock()
491
492 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@webwynk.net>
493
494         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
495         Fix buglet in meeting.
496
497 2001-03-19  Havoc Pennington  <hp@redhat.com>
498
499         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
500         add a bunch of accessor functions. This is because we have
501         reasonable expectations of extending what fields it contains in
502         the future.
503
504         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
505         changes
506
507         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
508         GtkIconSource   
509
510 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
511
512         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
513         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
514
515         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
516           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
517           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
518           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
519         Change float to double everywhere with the exception of 0<->1.0 alignment
520         and GtkCurve.
521
522 2001-03-19  Tor Lillqvist  <tml@iki.fi>
523
524         * gdk/win32/gdkdrawable-win32.c
525         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
526         output.
527
528         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
529         gdkwin32.h.
530
531 2001-03-18  Tor Lillqvist  <tml@iki.fi>
532
533         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
534         print_event_state, print_event): Use preprocessor macro to make
535         code more compact. Print also GDK_WINDOW_STATE events.
536         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
537         
538         * gtk/gtk.def
539         * gtk/makefile.mingw.in: Update.
540
541         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
542         to catch also Cygwin.
543
544 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
545
546         * gtk/gtkspinbutton.[hc]: added rc-style argument
547         GtkSpinButton::shadow_type.
548         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
549         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
550         rc-style settings.
551
552         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
553
554         * gtk/gtkwidget.c: quark cleanups.
555
556         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
557         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
558         to create_rc_style() (we don't do cloning in standard OO sense).
559         added per rc style properties.
560         
561         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
562         property values and for caching those. some cleanups.
563         
564         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
565         
566         * gtk/gtksettings.[hc]: new file for global rc-file properties
567         (at least currently, should get extended to support X properties
568         and other communication mechanisms).
569         
570         * gtk/gtkwidget.[hc]: added style property support:
571         (gtk_widget_class_install_style_property_parser): install style
572         property pspec with parser function for rc-file values other
573         than LONG, DOUBLE or STRING.
574         (gtk_widget_class_install_style_property): same as above without
575         parser (parsers are going to be needed quite infrequently).
576         (gtk_widget_style_get_property): retrive style property value.
577         (gtk_widget_style_get_valist): same as above with varargs support,
578         has NOCOPY semantics.
579         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
580
581 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
582
583         * demos/gtk-demo/main.c (row_activated_cb): modified to use
584         "row_activated" signal.
585
586         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
587         stupidity.  Lets actually pass in the row with this signal...
588
589 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
590
591         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
592
593         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
594
595         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
596         everything into the ::destroy function, and freed a lot more.
597
598 2001-03-16  Havoc Pennington  <hp@redhat.com>
599
600         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
601         instead of gint16, to avoid overflow issues, since sizes > 16-bit
602         are now allowed.
603
604 2001-03-16  Havoc Pennington  <hp@redhat.com>
605
606         * Applied patch from Nils Barth (bug # 51041) to 
607         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
608         in various places.
609
610 2001-03-15  Havoc Pennington  <hp@redhat.com>
611         
612         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
613         for properties to set on the tag.
614
615         * gtk/testtext.c: fixups to reflect create_tag change
616         
617         * gtk/gtktexttag.c (gtk_text_tag_set_property):
618         background/foreground stipple are objects, not boxed.
619
620         * demos/gtk-demo/textview.c: intellihancing
621
622 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
623
624         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
625         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
626
627 2001-03-16  Alexander Larsson  <alexl@redhat.com>
628
629         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
630         Fix sign error with queued region translations.
631
632 2001-03-15  HideToshi Tajima  <tajima@happy>
633
634         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
635         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
636         * gtk/gtkentry.c (update_im_cursor_location): 
637         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
638         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
639         set_cursor_pos to set_cursor_location in GtkInputContext class
640
641 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
642
643         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
644         the location of the cell relative to its area.
645         * gtk/gtkcell*: modified for above change
646         * gtk/gtktreeview.c: modified for above change.
647
648 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
649
650         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
651          (gtk_tree_view_finalize): actually unref the model.  Thanks to
652         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
653
654 2001-03-14  Havoc Pennington  <hp@redhat.com>
655
656         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
657         
658         * gtk/gtk.h: remove gtkdata.h
659
660         * gtk/Makefile.am: remove gtkdata
661         
662         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
663         not "disconnect" on the adjustments.
664         
665         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
666         GtkData
667
668         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
669         not GtkData
670
671         * configure.in: handle case where X render exists, but Pango lacks
672         Xft support.
673
674 2001-03-15 Alexander Larsson  <alexl@redhat.com>
675
676         * gtk/gtktoolbar.[ch]:
677         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
678         to add stock items to toolbars.
679
680         * gtk/Makefile.am:
681         Remove ../gdk/gdkim.h from gdk_headers.
682
683 2001-03-15  Sven Neumann  <sven@gimp.org>
684
685         * gdk/gdkim.h: removed
686         
687         * gdk/gdkprivate.h
688         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
689
690 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
691
692         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
693         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
694         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
695         set_cursor_pos() virtual method
696
697         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
698         (gtk_im_context_xim_set_cursor_pos): add implementation for
699         set_cursor_pos() method
700
701         * gtk/gtkentry.c (recompute_idle_func): set current cursor
702         position to input methods
703
704 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
705
706         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
707         code a lot.
708
709         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
710         g_mem_chunk.
711         (_gtk_tree_data_list_alloc): use g_mem_chunk.
712         (_gtk_tree_data_list_node_to_value): Fix to switch on
713         G_TYPE_FUNDAMENTAL.
714         (_gtk_tree_data_list_value_to_node): Fix to switch on
715         G_TYPE_FUNDAMENTAL.
716         (_gtk_tree_data_list_node_copy): Fix to switch on
717         G_TYPE_FUNDAMENTAL.
718
719 2001-03-12  Havoc Pennington  <hp@redhat.com>
720
721         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
722         to convert to new property API. Also, change default_width and
723         default_height get_property to return 0 as the flag value for
724         "unset"; -1 is not a valid value for these fields.
725
726 2001-03-12  Havoc Pennington  <hp@redhat.com>
727
728         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
729         enum with registration for icon sizes, instead of strings.
730
731         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
732         gtkwidget.c: Fix to reflect GtkIconSize
733         
734 2001-03-12  Alexander Larsson  <alexl@redhat.com>
735
736         Make GtkFB compile and link.
737         
738         * gdk/linux-fb/gdkdrawable-fb2.c:
739         window->mapped to GDK_WINDOW_IS_MAPPED(). 
740         
741         * gdk/linux-fb/gdkwindow-fb.c:
742         window->mapped to GDK_WINDOW_IS_MAPPED(). 
743         Added gdk_window_shape_combine_region.
744         Added assorted placeholders for unimplemented new GdkWindow API calls.
745
746 2001-03-12  Alexander Larsson  <alexl@redhat.com>
747
748         * gtk/gtkfilesel.c:
749         Add more test when converting filenames from/to utf-8.
750         Don't allow entering text in the filename entry which isn't allowed in
751         a filename. Just beep instead.
752
753 2001-03-12  Alexander Larsson  <alexl@redhat.com>
754
755         * gtk/gtkclist.c:
756         Scroll using gdk_window_scroll(). Don't wait for exposes.
757         Move the column headers in an order that makes them flash less.
758
759 2001-03-10  Hans Breuer  <hans@breuer.org>
760
761         * gdk/gdk.def : updated
762
763         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
764         to offseting the clip_mask at the right place
765
766         * gdk/win32/gdkwindow-win32.c : don't create background brushes
767         for all the gdkClasses, especially not for the input_only case.
768         Otherwise flickering wont be avoidable, because we don't get
769         WM_ERASEBKGND message for these windows.
770
771         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
772         and fixed massive redraw problems apparently triggered by Alexanders 
773         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
774         but it seems to work quite well :-)
775
776         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
777         prototype
778
779 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
780
781         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
782         (gtk_list_store_set_cell): Fix a stupid typo.
783
784 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
785
786         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
787         select_all not work if you're in SINGLE mode (it doesn't make that
788         much sense, anyway.)
789
790         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
791         handle types more sanely.
792         (_gtk_tree_data_list_value_to_node): handle types more sanely.
793         (_gtk_tree_data_list_node_copy): handle types more sanely.
794
795         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
796         GValue better. Converts the type as well.
797
798         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
799         GValue better. Converts the type as well.
800
801 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
802
803         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
804         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
805         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
806         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
807
808         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
809         gdk_im/gdk_ic.
810
811 2001-03-09  Hans Breuer  <hans@breuer.org>
812
813         * gdk/gdk.def : updated
814
815         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
816         for their palette
817
818         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
819         removing
820
821         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
822         removing and implemented Havoc's GdkWindow state functions; 
823         stick/unstick only as no-op, cause I don't know how to emulate 
824         on win32 ...
825
826         * gtk/gtk.def : updated
827
828         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
829
830         * gtk/gtktypeutils.c : #include <string.h>
831
832         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
833
834 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
835
836         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
837         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
838         not a boxed.
839
840 2001-03-09  Alexander Larsson  <alexl@redhat.com>
841
842         * docs/Changes-2.0.txt:
843         Document expose event->region change and that gtk_widget_event
844         doesn't allow passing expose events.
845
846         * gdk/gdkevents.h:
847         Add region to expose event.
848         
849         * gdk/gdkevents.c:
850         Handle event->region in gdk_event_copy() and gdk_event_free().
851
852         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
853         Generate expose_event->region when creating expose events.
854
855         * gdk/x11/gdkevents-x11.c:
856         Generate expose events with regions when translating X events.
857
858         * gtk/gtkcontainer.[ch]:
859         Default expose handler that propagates expose events to NO_WINDOW
860         children. New function gtk_container_propagate_expose()
861
862         * gtk/gtkwidget.[ch]:
863         Moved gtk_widget_event implementation to gtk_widget_event_internal.
864         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
865         expose events. New function gtk_widget_send_expose() to send expose
866         events. New function gtk_widget_region_intersect() to calculate
867         window/region intersections.
868         
869         * gtk/gtkmain.c (gtk_main_do_event):
870         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
871         Use gtk_widget_send_expose() to send expose events.
872         
873         * gtk/gtkbin.c:
874         * gtk/gtkbox.c:
875         * gtk/gtkfixed.c:
876         * gtk/gtkimagemenuitem.c:
877         * gtk/gtklist.c:
878         * gtk/gtkpacker.c:
879         * gtk/gtktable.c:
880         * gtk/gtktree.c:
881         Remove expose handler, using the default container implementation
882         instead.
883         
884         * gtk/gtkbutton.c:
885         * gtk/gtkcheckbutton.c:
886         * gtk/gtkeventbox.c:
887         * gtk/gtkfixed.c:
888         * gtk/gtkhandlebox.c:
889         * gtk/gtklayout.c:
890         * gtk/gtklistitem.c:
891         * gtk/gtkmenu.c:
892         * gtk/gtkmenubar.c:
893         * gtk/gtkmenuitem.c:
894         * gtk/gtknotebook.c:
895         * gtk/gtkoptionmenu.c:
896         * gtk/gtkpaned.c:
897         * gtk/gtkscrolledwindow.c:
898         * gtk/gtktogglebutton.c:
899         * gtk/gtktoolbar.c:
900         * gtk/gtktreeitem.c:
901         * gtk/gtkviewport.c:
902         Chain expose handler to parent class handler. Use
903         gtk_container_propagate_expose() to propagate exposes.
904
905         * gtk/gtkclist.c (check_exposures):
906         * gtk/gtktext.c (process_exposes):
907         Use gtk_widget_send_expose instead of gtk_widget_event.
908
909 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
910
911         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
912
913 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
914
915         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
916         unref the nodes.   Fixes bug #50058.
917
918         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
919         "::ref_iter" to "::ref_node".
920         (gtk_tree_model_unref_node): change "::unref_iter" to
921         "::unref_node". Fixes bug #50064.
922
923 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
924
925         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
926         support for invisible cells.
927          (gtk_tree_view_bin_expose): ditto
928
929 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
930
931         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
932         on gobjects.
933
934         * tests/testtreefocus.c (main): New test file.
935
936         * tests/testtreeview.c: update to latest glib changes.
937
938         * tests/testtreecolumns.c: update to latest glib changes.
939
940 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
941
942         * gtk/testgtk.c: re-enabled event watcher emission hooks.
943
944 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
945
946         * *.c: added accumulator data argument to g_signal_newc()
947         functions.
948
949         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
950         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
951         * gtk/treestoretest.c (make_window):
952         s/g_signal_connect/g_signal_connectc/.
953
954         * gtk/gtktextbuffer.c: completed signal arg fixups,
955         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
956
957 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
958
959         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
960         G_CONST_RETURN.
961
962         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
963         ::hierarchy-changed signal when a widget changes
964         from anchored to unanchored or vice versa.
965         (anchored means 
966          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
967         Use a private flag to keep track of this efficiently.
968
969 2001-03-07  Havoc Pennington  <hp@redhat.com>
970
971         * gtk/testgtk.c (create_spins): uglify so that size request gets
972         tested.
973
974         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
975         request on values for upper/lower, completes #6152
976
977 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
978
979         * Makefile.am: Remove gtk-config-2.0 again.
980         (Grrrr, pkg-config. And stops make loops.)
981
982 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
983
984         * gtk/gtksignal.[hc]: removed old emission hook API.
985         
986         * docs/Changes-2.0.txt: fixed sections.
987         
988         * gtk/gtktextbuffer.c: signal arg fixups.
989
990 2001-03-07  Havoc Pennington  <hp@redhat.com>
991
992         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
993
994         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
995         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
996         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
997         validation and the redraw which is higher priority than the
998         validation.
999
1000 2001-03-07  Havoc Pennington  <hp@redhat.com>
1001
1002         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1003         (gtk_entry_set_property): remove trailer
1004
1005         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1006         (gtk_entry_get_width_chars): new functions, to set size request to 
1007         a given number of characters
1008
1009         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1010
1011         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1012         (gtk_dialog_get_has_separator): new function
1013         (run_delete_handler): fix to not emit "response" signal
1014         because we already did in the delete event handler installed
1015         at dialog creation time.
1016         
1017         * gtk/gtkdialog.h: add a has_separator property,
1018         add GTK_DIALOG_NO_SEPARATOR flag
1019
1020 2001-03-07  Havoc Pennington  <hp@redhat.com>
1021
1022         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1023         off decorations for a window.
1024
1025         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1026         changes
1027
1028         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1029         to get location of PangoLayout inside the label, closes #51198
1030
1031         * gtk/testgtk.c (create_bbox): fix up button box usage
1032
1033         * gtk/testcalendar.c (create_calendar): fix up button box usage
1034
1035         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1036
1037         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1038
1039         * gtk/gtkhbbox.h: deprecations
1040
1041         * gtk/gtkvbbox.h: deprecations
1042
1043         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1044         emulate deprecated gtk_button_box_get_spacing
1045
1046         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1047         the "set global default" functions
1048         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1049         GtkBox base class
1050
1051         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1052
1053         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1054         render the icon, return the missing image icon.
1055
1056         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1057         image icon if the load fails.   
1058
1059         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1060         when no image is found; should be the Netscape "missing image"
1061         icon eventually but for now is a random image
1062
1063         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1064         role for the session manager
1065
1066         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1067
1068         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1069         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1070
1071         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1072
1073 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1074
1075         * gtk/*.c: marshaller fixes.
1076         
1077         * gtk/gtkmarshal.list: extreme cleanup.
1078
1079         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1080         param spec for now.
1081
1082         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1083         where appliable.
1084
1085         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1086         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1087         which are not reference counted:
1088         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1089         PangoFontDescription, GtkTreeIter and GtkTreePath.
1090
1091 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1092
1093         * gtk/gtktreeselection.h: 
1094         * gtk/gtktreemodel.c:
1095         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1096         file should be included directly, and gobject/gmarshal.h
1097         as well as gtk/gtkmarshal.h even can't be included directly.
1098
1099         * Makefile.am: grr, install gtk-config-2.0.
1100
1101         * gtk/testgtk.c:
1102         * gtk/simple.c:
1103         * gtk/gtkmenu.c:
1104         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1105         passing "*signal*::*" args to gtk_widget_set().
1106         
1107         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1108         
1109         * gtk/*.c: removed trailer arg from property setters and getters.
1110         macro fixups.
1111
1112 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1113
1114         * gtk/gtklabel.c (set_markup): Removed warning
1115
1116 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1117
1118         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1119         field to allow you to hide cell renderers.
1120
1121         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1122
1123         * gtk/gtktreeview.c: Add support for invisible cells.
1124
1125 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1126
1127         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1128         Add "clicked" signal back to columns.
1129
1130         * ChangeLog: remove conflict markers.
1131
1132 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1133
1134         * gtk/gtkbutton.c: Add animation of activation by, on 
1135         activate, pressing the button, and adding a timeout that 
1136         releases the button after 250ms or on key release and
1137         emits ::clicked. (#51501)
1138
1139         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1140         action area, we connect to ::clicked instead of ::activate
1141         so the dialog stays up through the animation.
1142
1143 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1144
1145         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1146         check the ignore_enter flag for the menu shell that
1147         the item is actually a child of, not for attached
1148         submenus. (#51536)
1149
1150 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1151
1152         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1153         special key-press grab handling for widgets within
1154         GtkWindows. Otherwise, fall through to normal case.
1155
1156         This prevents key events being sent twice to GtkInvisible
1157         widgets, which can cause all sorts of mischief.
1158
1159 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1160
1161         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1162         widget is in effect, give the grab widget a first
1163         crack at KEY_PRESS/RELEASE events. (#424)
1164
1165 2001-03-06  James Henstridge  <james@daa.com.au>
1166
1167         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1168         offset for the window_state_event to point at window_state_event
1169         rather than no_expose_event.
1170
1171 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1172
1173         * gtk/gtkimmodule.h: fix busted /* comment */
1174
1175 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1176
1177         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1178         object properties.
1179
1180 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1181
1182         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1183         add object properties.
1184
1185         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1186         to add object properties.
1187
1188         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1189         object properties.
1190
1191         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1192         add object properties.
1193
1194         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1195         object properties.
1196
1197 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1198
1199         * gtk/gtktreemodel.c: renamed "child_toggled" to
1200         "has_child_toggled".
1201
1202         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1203         handle new signal name.
1204
1205         * gtk/gtktreestore.c: Updated to handle new signal name.
1206         * gtk/gtklisttore.c: Updated to handle new signal name.
1207         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1208
1209 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1210
1211         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1212         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1213
1214 2001-03-05  Michael Natterer  <mitch@gimp.org>
1215
1216         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1217         pixbuf-engine coincidentially also failed to make one of it's
1218         parent_class pointers static, causing overwriting of GtkLabel's
1219         parent_class pointer in pixbuf_style_class_init().
1220         (Will commit the fix to the pixbuf-engine too).
1221
1222 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1223
1224         * gdk/gdkwindow.h:
1225         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1226         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1227         gdk_window_set_icon_list for net wmspec functionality.
1228
1229         * gdk/x11/gdkwindow-x11.c:
1230         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1231         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1232         gdk_window_set_icon_list.
1233         Added gdk_wmspec_change_state helper function and used it in the code.
1234         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1235
1236         * gtk/gtkdialog.c (gtk_dialog_init):
1237         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1238
1239         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1240         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1241
1242         * gtk/gtkwindow.c:
1243         new function gtk_window_set_type_hint.
1244         On realize, set type hint and modal hint.
1245
1246         * gtk/gtkwindow.h:
1247         Added type_hint field and gtk_window_set_type_hint.
1248
1249 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1250
1251         * gtk/gtklabel.[ch]:
1252         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1253         New function gtk_label_get_accel_keyval () to get the underline accelerator
1254         of the label. Setting the label pattern overrides other attributes.
1255
1256 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1257
1258         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1259         Added missing initializers to gtk_rc_style_init().
1260
1261 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1262
1263         * gtk/gtktextview.c: fixed bug #51097 about setting 
1264         gtk_text_view_set_border_window_size() if the widget is 
1265         already realized.
1266
1267 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1268
1269         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1270
1271         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1272         comment. Won't do to have duplicated doc comments between
1273         the platform subdirs.
1274
1275 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1276
1277         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1278           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1279
1280         Detectable auto-repeat - make a repeating key generate
1281         press/press/press/release instead of press/release pairs.
1282
1283         If we have Xkb and XkbSetDectableAutoRepeat supports
1284         that, we do it that way. Otherwise, when we get
1285         a release event, we check ahead with XPending to see
1286         if the next key is a KeyPress with the same keycode
1287         and timestamp. (Not 100% reliable, but pretty close.)
1288           
1289 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1290         
1291         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1292         special key-press grab handling for widgets within
1293         GtkWindows. Otherwise, fall through to normal case.
1294  
1295         This prevents key events being sent twice to GtkInvisible
1296         widgets, which can cause all sorts of mischief.
1297  
1298 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1299  
1300         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1301         widget is in effect, give the grab widget a first
1302         crack at KEY_PRESS/RELEASE events. (#424)
1303  
1304 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1305
1306         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1307         to extend the selection. (Roughly based on patch
1308         from Jay Cox, #50939)
1309
1310         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1311         to properly handle previous GDK_BUTTON_PRESS. 
1312         (Patch from Jay Cox, #50938)
1313
1314         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1315         '\0' back along with the deleted text. (#51148)
1316
1317 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1318
1319         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1320         the group when extracting it from the X keyboard event.
1321
1322         * modules/input/Makefile.am modules/input/imipa.c: 
1323         Simple module for entering IPA. (Do we need a 
1324         gtk-stupid-input-tricks CVS module?)
1325
1326 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1327
1328         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1329         const.
1330
1331         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1332
1333         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1334         is no focus widget for the dialog currently, grab the focus as well
1335         as the default.
1336
1337         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1338         the action area's children to iterate through, not the
1339         dialog's children.
1340
1341 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1342
1343         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1344         Add plug-socket tests. (Won't work worth a darn until I commit
1345         the rest of the plug-socket changes, but no reason these
1346         can't go into CVS now.)
1347
1348 2001-03-02  Havoc Pennington  <hp@redhat.com>
1349
1350         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1351         _gdk_region_get_xrectangles()
1352
1353         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1354
1355         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1356
1357         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1358         function, contributed by Ron Steinke    
1359
1360         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1361         gdk_net_wm_supports
1362
1363         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1364         New function, contributed by Ron Steinke
1365
1366         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1367         used to line up the text in the entry when using the entry for
1368         editable sheet cell hacks
1369
1370         * gtk/testgtk.c (create_entry): test the activate_default setting
1371         on GtkEntry
1372
1373         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1374         cause the entry to activate the default button for a dialog when 
1375         activated
1376         (gtk_entry_get_activates_default): new function
1377
1378 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1379
1380         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1381         Hwang to move call to sync_selection() up a few lines
1382         to before the row list is modified, to fix crash when
1383         removing rows in the undo_selection list.
1384
1385         (Test case provided by Daniel Elstner:
1386
1387         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1388
1389 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1390
1391         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1392         of tree->root_tree in parent_set rather than _map(), 
1393         fixing #50892 in a bit better manner.
1394
1395 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1396
1397         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1398
1399 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1400
1401         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1402         gtk_default_draw_shadow.
1403
1404 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1405
1406         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1407         warning, make warnings more verbose, treat a error
1408         in shmat as permanent, and don't try again.
1409         (#51163, Ed Randall.)
1410
1411 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1412
1413         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1414         delay for the first click before starting to scroll.
1415         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1416
1417         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1418         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1419
1420 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1421
1422         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1423         cleanup to remove some references to unused
1424         ->xoffset, ->yoffset.
1425
1426 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1427
1428         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1429         mask. (#51039, fix from Martin Maierhofer)
1430
1431 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1432
1433         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1434         for unshifted + and shifted = for non-us keyboards.
1435         Make <Control>+ and <Control>- work as well as 
1436         <Control>KP_Plus, <Control>KP_Minus for recursive
1437         open/close.  (#2682, René Seindal)
1438
1439 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1440
1441         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1442         the active menu item before deactivating the menu,
1443         so gtk_menu_popdown doesn't change the history. (#50964)
1444         
1445 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1446
1447         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1448         draw lines with text_gc rather than black_gc.
1449         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1450
1451 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1452
1453         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1454         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1455         less interrelated then it was, but it still requires the
1456         GtkTreeView to map it.
1457
1458         * test/testtreecolumn.c: Now I can add a column to one view,
1459         remove it, add it to the another view, remove it, then re-add it
1460         to the first.  Nifty.
1461
1462 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1463
1464         * docs/tutorial/gtk-tut.sgml: Minor corrections
1465
1466 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1467
1468         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1469         GtkRowReference.
1470
1471 2001-02-28  Havoc Pennington  <hp@redhat.com>
1472
1473         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1474         draw_default
1475         (gtk_widget_draw_focus): remove this function; we could instead
1476         make it just gtk_widget_draw(), but in most cases I think the
1477         result would be broken user code, so think it's better to have
1478         that code not compile and get fixed
1479         (gtk_widget_draw_default): ditto
1480
1481         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1482         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1483         
1484         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1485         widgets lose/get the default, instead of calling draw_default
1486         
1487         * docs/Changes-2.0.txt: note about all this
1488
1489         Then fixed every widget in GTK, I won't list all the filenames.
1490
1491 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1492
1493         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1494         _gtk_tree_row_reference_deleted.
1495         (inserted_callback): Proxy out to
1496         _gtk_tree_row_reference_inserted.
1497         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1498         get around signal emission ordering problem.
1499
1500         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1501         fix to work with SINGLE 
1502         (_gtk_tree_selection_internal_select_node): Major sanitization on
1503         selections.  SINGLE now seems to work.
1504
1505         * tests/Makefile.am: add testtreecolumn.c:
1506
1507         * tests/testtreecolumn.c: New test.  Mostly points out selection
1508         bugs currently, but will test columns later.
1509
1510         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1511         selection bug.  I hate touching this code -- it's scary.
1512
1513 2001-02-26  Havoc Pennington  <hp@redhat.com>
1514
1515         * gtk/testgtk.c: test the window state stuff
1516
1517         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1518         window come to the user's attention as if it were just created
1519         (gtk_window_iconify): new function
1520         (gtk_window_deiconify): new function
1521         (gtk_window_stick): new function
1522         (gtk_window_unstick): new function
1523         (gtk_window_maximize): new function
1524         (gtk_window_unmaximize): new function
1525
1526         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1527
1528         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1529
1530         * gdk/x11/gdkevents-x11.c: create window state events when
1531         appropriate
1532         (gdk_wmspec_supported): new function
1533
1534         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1535         iconification before showing the window
1536         (gdk_window_deiconify): new function
1537         (gdk_window_stick): new function
1538         (gdk_window_unstick): new function
1539         (gdk_window_maximize): new function
1540         (gdk_window_unmaximize): new function
1541
1542         * gdk/gdkwindow.c: store the window state in the window; 
1543         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1544         window->mapped.
1545         (gdk_window_get_state): return the current window state
1546
1547         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1548         (gdk_event_get_state): handle GDK_WINDOW_STATE
1549         (gdk_synthesize_window_state): function to create the window state
1550         events
1551
1552         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1553         event, for changes to "window state" such as maximized, sticky, 
1554         etc.
1555         
1556         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1557         focuses a window
1558
1559         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1560         finds out if we support a given WM spec hint
1561
1562 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1563
1564         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1565
1566 2001-02-25  Hans Breuer  <hans@breuer.org>
1567
1568         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1569         cause we want to loose those prototypes only in the latter case
1570
1571         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1572         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1573         impl member variable instead
1574
1575         * gtk/gtk.def : updated
1576
1577         * gtk/gtklist.c : 
1578         * gtk/gtkmenus.c : include <string.h> for memset ()
1579
1580         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1581         for everthing built here, but for gtk-x.x.dll only. This solves
1582         problem of indifferent gtk type definitions
1583
1584 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
1585
1586         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1587
1588 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1589
1590         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1591         column that is exposed.
1592
1593         (_gtk_tree_view_update_size): Changed name from set_size, and
1594         changed function to do more work, and not force people calling it
1595         to figure out the size.  Simplifies a lot of code elsewhere.
1596
1597 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1598
1599         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1600         return solid masks for xpms that have no transparent color.
1601         This makes the ..._create_from_xpm... API backwards
1602         compatible.
1603
1604 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1605
1606         * README.win32: Update. Mention the gtk-1-3-win32-production
1607         branch.
1608
1609         * gdk/win32/bdfcursor.c: New file. A program that generates
1610         xcursors.h. Thanks to Stefan Ondrejicka.
1611
1612         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1613         compact format.
1614
1615         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1616
1617         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1618         function, uses xcursors.h.
1619         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1620         cursor from inline data instead of using LoadCursor() to generate
1621         it from a resource.
1622
1623         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1624         event, must check the Windows message for mouse button state, as
1625         the GDK event state might not have been built if it is
1626         undelivered. Remove one goto.
1627
1628         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1629         SetCursor() if the current cursor as returned by GetCursor() is
1630         the window's previous cursor. The ChildWindowFromPoint() test
1631         apparently didn't work correctly.
1632
1633         * gdk/win32/rc/*.cur: Remove.
1634
1635         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1636
1637         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1638
1639         * gtk/makefile.{mingw,msc}.in: Updates.
1640
1641 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1642
1643         * gtk/gtktreemodel.h: add functions for signal emission.
1644
1645         * gtk/gtktreestore.c: move to use above functions instead of
1646         g_signal_emit.
1647
1648         * gtk/gtkliststore.c: ditto
1649
1650 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1651
1652         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1653         GObject instead of GtkObject.
1654
1655         * gtk/gtkliststore.c: ditto.
1656
1657         * gtk/gtktreemodelsort.c: ditto.
1658
1659         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1660         GtkTreeModelIface, instead of in each model.
1661
1662 2001-02-21  Havoc Pennington  <hp@redhat.com>
1663
1664         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1665         unbreak this function
1666
1667         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1668         properties
1669
1670         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1671         properties
1672
1673         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1674         properties
1675
1676         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1677         mean unset the max length
1678
1679 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1680
1681         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1682         Changed name to be set_cell_data_func to make it clear what
1683         the functino does.  Close bug #51069.
1684
1685 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1686
1687         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1688         have memory actually freed.  Keeps box running longer.
1689
1690 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1691         
1692         * gtk/gtkseparatormenuitem.[ch]:
1693         Added new menu separator item. The drawing and size handling
1694         is still done in GtkMenuItem, but the API is a bit more sane.
1695         
1696         * gtk/Makefile.am:
1697         Add gtkseparatormenuitem.[ch].
1698
1699         * gtk/gtk.h:
1700         Add gtkseparatormenuitem.h.
1701         
1702         * gtk/gtkentry.c:
1703         * gtk/gtkmenufactory.c:
1704         * gtk/gtktextview.c:
1705         Use the new API for menu separators.
1706         
1707         * demos/gtk-demo/menus.c (create_menu):
1708         Add some GtkSeparatorMenuItem demo code.
1709
1710 2001-02-20  Havoc Pennington  <hp@redhat.com>
1711
1712         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1713         Lee Mallabone
1714
1715         * gtk/gtkarrow.c: Convert to new property API, patch from 
1716         Lee Mallabone
1717
1718 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1719
1720         * tests/testtreeview.c (toggled_callback): fix to reflect change
1721         in GtkTreeModelStore.
1722
1723 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1724
1725         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1726         function to create an icon set from a pixbuf.
1727
1728 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1729
1730         * gtk/gtkcellrenderertext.[ch]:
1731         Add a "markup" property.
1732
1733         * gtk/treestoretest.c:
1734         Use the markup property, remove some leftover stuff from
1735         GtkTreeModelMapping.
1736
1737 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1738
1739         * gtk/gtklabel.c (gtk_label_set_selectable):
1740         Queue a redraw if the selectable setting was changed.
1741
1742 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1743
1744         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1745         Actually copy the whole gc, not just the public parts.
1746         
1747         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1748         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1749         labels.
1750
1751 2001-02-19  Havoc Pennington  <hp@pobox.com>
1752
1753         * gdk/gdkwindow.c: docs
1754
1755         * gdk/gdkrgb.c: docs
1756
1757         * gdk/gdkregion-generic.c: docs
1758
1759         * gdk/gdkgc.c (gdk_gc_set_values): docs
1760
1761         * gdk/gdkdraw.c: docs
1762
1763         * gdk/gdkdrawable.h: deprecate drawable get/set data
1764
1765 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1766
1767         * demos/gtk-demo/dialog.c: Add simple new demo.
1768
1769 2001-02-19  Havoc Pennington  <hp@redhat.com>
1770
1771         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1772         insert_child_anchor signal, bug #50245
1773
1774         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1775         from create_child_anchor, so the anchor is passed in
1776
1777         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1778         (_gtk_widget_segment_new): have the child anchor object passed in, 
1779         instead of creating it.
1780
1781         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1782         to gtk_text_buffer_get_modified
1783
1784 2001-02-19  Havoc Pennington  <hp@redhat.com>
1785
1786         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1787         changed GLib without fixing GTK
1788
1789         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1790         functions to have an underscore in front. Most of them should 
1791         probably just go away, but for starters don't export them.
1792         Bug #50482
1793
1794 2001-02-19  Havoc Pennington  <hp@redhat.com>
1795
1796         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1797         excluded by default
1798
1799         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1800         clean up the old code a bit
1801
1802         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1803         inconsistent state
1804
1805         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1806         draw inconsistent state
1807
1808         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1809         (create_menu): add inconsistent test
1810
1811         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1812         new function
1813         (gtk_check_menu_item_get_inconsistent): new function
1814         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1815         state (using etched in for now)
1816
1817         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1818         draw inconsistent state
1819
1820         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1821         function, used when the user has selected a range of stuff in
1822         different states
1823         (gtk_toggle_button_get_inconsistent): accessor for that
1824         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1825         don't know what else to do)
1826
1827 2001-02-19  Hans Breuer <hans@breuer.org>
1828
1829         * gtk/gtk.def : updated exported symbols
1830
1831         * gtk/makefile.msc.in : updated
1832
1833         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1834         a colormap, when invoked from testgtk::entry. I'm not sure where
1835         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1836         avoids immediate crashing ...
1837
1838         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1839         any objections ?
1840
1841         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1842         0 parameter. At least msvc doesn't like macros with var args. 
1843         I simply removed the extra 0, was it a feature or a typo ?
1844
1845         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1846         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1847         because the value assignment to the internal struct wasn't working.
1848         I'm not absolutely sure. The problem could have been resolved by
1849         changing the "func" declartion in the struct, but was the pointer
1850         to the function pointer intended ?
1851
1852         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1853
1854         * gdk/gdk.def : updated exported symbols
1855
1856         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1857         only use SetDIBitsToDevice if there is a palette at the drawable
1858         and the image is GDK_VISUAL_PSEUDO_COLOR
1859
1860         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1861
1862         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1863
1864         * gdk/*/makefile.msc : updated
1865
1866 2001-02-19  Havoc Pennington  <hp@redhat.com>
1867
1868         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1869         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1870
1871         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1872         (gdk_key_repeat_restore): nuke
1873
1874         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1875         (gdk_init_check): no atexit func
1876
1877         * gdk/gdkrgb.h: mark some stuff deprecated
1878
1879         * gdk/gdkcolor.h: mark some stuff deprecated
1880         
1881         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1882
1883         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1884
1885 2001-02-16  Havoc Pennington  <hp@redhat.com>
1886
1887         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1888         scroll steps.
1889
1890         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1891         steps, and add Ctrl-arrow shortcuts for paging visually as with
1892         HScale, since Page Up and Page Down move logically.
1893
1894         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1895         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1896         
1897         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1898         steps
1899         (gtk_range_scroll): handle the visual steps
1900
1901         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1902         scroll steps
1903
1904         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1905         steps, not the logical ones.
1906
1907         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1908         (scroll_vertical): handle up/down steps
1909
1910 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1911
1912         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1913         Copy data and free data with free().
1914
1915         * gdk-pixbuf/gdk-pixbuf.c:
1916         * gdk-pixbuf/io-jpeg.c:
1917         * gdk-pixbuf/io-png.c:
1918         Use g_try_malloc/g_free instead malloc/free.
1919         
1920         * gdk-pixbuf/test-gdk-pixbuf.c:
1921         Must... initialize... gobject...
1922         
1923         * gdk-pixbuf/pixops/timescale.c:
1924         * gtk/gtkcalendar.c:
1925         Use g_malloc instead of malloc.
1926         
1927 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1928
1929         * gtk/testgtkrc:
1930         Comment out property assignments, these don't work yet.
1931
1932 2001-02-17  Havoc Pennington  <hp@pobox.com>
1933
1934         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1935         bit.
1936
1937 2001-02-17  Havoc Pennington  <hp@pobox.com>
1938
1939         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1940         shadowed variables that had broken size request in some cases,
1941         leading to bogus tooltips (#50996)
1942
1943 2001-02-06  Jon K Hellan  <hellan@acm.org>
1944
1945         Implement fast browsing of tooltips, bug #50619
1946         
1947         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1948         and last_popdown
1949         
1950         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1951         use_sticky_delay and last_popdown.
1952         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1953         time of popdown.
1954         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1955         is NULL.
1956         (gtk_tooltips_recently_shown): New static function.  Return true
1957         if < sticky_delay has elapsed since last popdown.
1958         (gtk_tooltips_event_handler): Display window after sticky_delay
1959         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1960         since last popdown.
1961         
1962 2001-02-17  Havoc Pennington  <hp@pobox.com>
1963
1964         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1965         instead of (). #6394
1966
1967         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1968         G_CONST_RETURN, make it return by reference, #50473
1969         
1970 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1971
1972         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1973         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1974         setup fields contain garbage (e.g. subwindow, breaking
1975         gdk_drawable_ref() upon event copy).
1976         (gtk_menu_stop_navigating_submenu_cb): same here.
1977
1978         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1979         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1980         * gtk/gtkclist.c (vertical_timeout): 
1981         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1982         default-zero-intialization for unions to memset(,0,), as unions are
1983         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1984         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1985
1986         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1987         g_closure_sink() warning.
1988
1989         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1990         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1991         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1992         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1993         
1994 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1995
1996         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1997         gtk_*_store_get, and moved to GtkTreeModel.
1998
1999         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2000
2001         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2002
2003         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2004
2005         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2006         set the func.
2007
2008         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2009         freeze/thaw notify between setting all the properties for a cell.
2010
2011         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2012
2013 2001-02-15  Havoc Pennington  <hp@redhat.com>
2014
2015         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2016         the X coordinates so they're with respect to the line, rather than 
2017         with respect to the layout.
2018
2019         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2020         Mallabone
2021
2022         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2023         and inverted test
2024
2025         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2026         #50806
2027
2028         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2029
2030         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2031         gtk_text_iter_is_end
2032
2033         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2034         rename gtk_text_buffer_get_end_iter
2035
2036         * gtk/testgtk.c (create_labels): Add test for selectable
2037
2038         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2039         the selection stuff. This code is kind of broken since it doesn't 
2040         use the theme engine.
2041
2042         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2043         fix infinite loop and y offset problem
2044         (gdk_draw_layout_line_with_colors): fix foreground color handling
2045
2046         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2047         that makes the label selectable.
2048         
2049         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2050         layout when the style is set, since fonts etc. could have changed.      
2051
2052 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2053
2054         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2055
2056         * gtk/gtktreemodelsimple.[ch]: removed.
2057
2058 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2059
2060         * gtk/gtktreemodelmapping.[ch]:
2061         New files. Implement GtkTreeModelMapping.
2062         
2063         * gtk/Makefile.am:
2064         Add gtktreemodelmapping.[ch].
2065         
2066         * gtk/gtk.h:
2067         Add gtktreemodelmapping.h
2068
2069         * gtk/treestoretest.c:
2070         Test the GtkTreeModelMapping
2071
2072 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2073
2074         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2075         have a demo, we might as well pass in real values.  Thanks to
2076         clahey for pointing this out.
2077
2078 2001-02-14  Havoc Pennington  <hp@pobox.com>
2079
2080         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2081         "static" to a private function
2082         (gtk_image_menu_item_class_init): remove destroy handler,
2083         add "image" object property
2084
2085 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2086
2087         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2088         Add a shortcut if the window and the current clip_region doesn't
2089         overlap. This is needed when there are a lot of windows in a
2090         window. The layout test in testgtk is a good test.
2091
2092         * gdk/linux-fb/gdkwindow-fb.c:
2093         Whitespace fix.
2094
2095 2001-02-13  Sven Neumann  <sven@convergence.de>
2096
2097         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2098
2099 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2100
2101         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2102         Don't reference last_cursor if it is null. Fixes crash when rotating
2103         the screen before having moved the mouse.
2104
2105         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2106
2107         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2108
2109         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2110         when using 90 or 270 degrees rotation.
2111
2112 2001-02-12  Havoc Pennington  <hp@pobox.com>
2113
2114         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2115         it always set the foreground, even if we were only using
2116         a stipple.
2117         (gdk_draw_layout_line_with_colors): new function, allow
2118         override colors
2119         (gdk_draw_layout_with_colors): new function, allow override
2120         colors
2121         (gdk_pango_layout_line_get_clip_region): function to get the clip
2122         region for a logical text range
2123         (gdk_pango_layout_get_clip_region): get the clip region for a
2124         logical text range
2125
2126         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2127         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2128         the right number of arguments.
2129
2130         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2131         enhance the function to check that node data corresponds to a 
2132         view still belonging to the tree.
2133
2134         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2135         GtkTreePath
2136         (gtk_tree_view_inserted): ditto
2137         (gtk_tree_view_child_toggled): ditto
2138
2139         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2140         simplify this code.
2141
2142         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2143         a PangoAttrList
2144
2145         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2146
2147         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2148
2149         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2150         size in the size request 
2151         (gtk_menu_bar_size_allocate): consider toggle size here
2152
2153         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2154         that displays a widget in the toggle slot
2155
2156         * gtk/testgtk.c: test GtkImageMenuItem
2157
2158         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2159         
2160         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2161         request and allocation
2162
2163         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2164
2165         * gtk/gtkcheckmenuitem.c
2166         (gtk_check_menu_item_toggle_size_request): ditto
2167         
2168 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2169
2170         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2171         reference.
2172
2173         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2174         and refuse to initialize GTK+ if they fail.
2175
2176 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2177
2178         * configure.in: Add check for gtk-doc version.
2179
2180 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2181
2182         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2183         where the xpad/ypad was only being used on one side!
2184
2185 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2186
2187         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2188         function, copied from X11 version.
2189
2190         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2191         DestroyCursor failures. The reason for the problem (despite the
2192         inconsistent messages from GetLastError()) was that
2193         DestroyCursor() cannot be called while a cursor is set in a
2194         window. Set the new cursor first and then destroy the old one.
2195         Thanks to jpe@archaeopteryx.com.
2196
2197         * gdk/win32/gdkcc-win32.c: Remove.
2198
2199         * gdk/win32/Makefile.am: Remove from here, too.
2200         
2201         * gdk/gdk.def
2202         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2203
2204         * gtk/gtk.def
2205         * gtk/makefile.mingw.in: Updates.
2206
2207 2001-02-08  Havoc Pennington  <hp@redhat.com>
2208
2209         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2210         add a widget to a bin that already has a child.
2211
2212         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2213
2214         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2215         
2216         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2217
2218         * gdk/gdk.h: remove gdkcc.h
2219
2220         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2221
2222         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2223         GdkPixbuf, since the previous implementation was GdkColorContext
2224         dependent.
2225
2226         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2227         
2228 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2229
2230         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2231         a sane value!
2232
2233 2001-02-08  Havoc Pennington  <hp@redhat.com>
2234
2235         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2236         lighten them.
2237
2238 2001-02-08  Havoc Pennington  <hp@redhat.com>
2239
2240         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2241         validation idle
2242
2243         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2244         cell renderer
2245
2246         * demos/pixbuf-demo.c (timeout): remove deprecated
2247         gtk_widget_draw
2248
2249         * demos/testpixbuf-save.c (main): remove deprecated
2250         gtk_drawing_area_size
2251
2252         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2253         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2254         at the start of the allocation.
2255         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2256         unsetup or NULL model.
2257
2258         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2259         even/odd/sorted cells in the tree view.
2260
2261         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2262         bugfixes
2263
2264         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2265         backgrounds with draw_flat_box using different detail for even/odd
2266         rows.
2267
2268         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2269         row, so we can draw the alternating colors thing
2270
2271         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2272         property from a synonym property, notify for the synonym.
2273         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2274         (gtk_text_tag_get_property): Always return the font, even if
2275         all its fields aren't set
2276
2277         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2278         store the attr list; it leaves us with no way to change attributes
2279         in _render according to the render flags, and no way to implement
2280         get_property. Instead store all the specific text attributes. 
2281         Separate whether an attribute is enabled from its value. Sync all
2282         properties with GtkTextTag, make them all consistent, etc.
2283
2284         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2285         renderers can highlight the sort row/column     
2286
2287         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2288         accessor functions to get values; this has the side effect of
2289         showing up which accessor functions were missing. Added those.
2290
2291         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2292         set_alignment, to be consistent with GtkLabel, GtkMisc
2293
2294         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2295         arrow.
2296
2297         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2298
2299         * gtk/gtktreesortable.h: updates in here
2300
2301 2001-02-07  Sven Neumann  <sven@convergence.de>
2302
2303         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2304         pango dimensions after painting the background. We used to draw
2305         gigantic flat boxes here.
2306
2307 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2308
2309         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2310         error introduced with earlier commit) (pointed out by
2311         Ollie Lho)
2312
2313 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2314
2315         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2316         which are no longer necessary.
2317
2318 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2319
2320         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2321
2322 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2323
2324         * gdk/gdk.def
2325         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2326         Provide dummy implementations.
2327
2328 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2329
2330         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2331
2332         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2333         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2334         deprecated this function.
2335
2336         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2337         argument.
2338
2339 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2340
2341         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2342
2343 2001-02-03  Havoc Pennington  <hp@pobox.com>
2344
2345         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2346         Mikael Hermansson with patch from Mikael (if there was a toggle
2347         start one after the first character in the range, this function
2348         was broken). Bug #50380
2349
2350 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2351
2352         * configure.in: Remove confusing comment about X11.
2353
2354 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2355
2356         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2357         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2358         
2359 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2360
2361         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2362         it breaks things on BSD. If you want to compile GTK+ with
2363         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2364         when configuring, since GTK+ simply can't be "pure ANSI" 
2365         in the header files it uses. (#8170, Greg Hudson)
2366
2367 2001-02-02  Havoc Pennington  <hp@redhat.com>
2368
2369         * gtk/gtkwindow.c: docs
2370
2371         * gtk/gtkwidget.c: docs
2372         (gtk_widget_set_colormap): add a reference to the colormap
2373         (gtk_widget_get_default_colormap): add a reference to the colormap
2374
2375         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2376
2377         * gtk/gtktextiter.c: docs
2378
2379         * gtk/gtkmain.c (gtk_propagate_event): docs
2380
2381         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2382         (gtk_paned_set_position): docs
2383
2384         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2385         sort interface, no implementation yet.
2386
2387         * demos/testpixbuf.c (new_testrgb_window): replace
2388         gtk_drawing_area_size() with gtk_widget_set_usize()
2389
2390         * demos/testpixbuf-drawable.c (main): ditto
2391         
2392         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2393
2394         * gtk/gtktextbuffer.c: docs
2395
2396         * gtk/gtkstock.c: docs
2397
2398         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2399
2400         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2401
2402         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2403         
2404         * gtk/gtkimage.c: add some docs in here
2405         (gtk_image_size_request): change name of
2406         gtk_widget_render_stock_icon
2407         (gtk_image_get_icon_set): don't dup returned string
2408         (gtk_image_get_icon_set): don't dup returned string
2409
2410         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2411         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2412         and gtkiconfactory.h functions
2413
2414         * gtk/gtkiconfactory.c: add some docs in here
2415
2416         * gtk/gtkmain.c (gtk_get_default_language): document
2417         (gtk_get_current_event): document
2418         (gtk_get_current_event_state): document
2419         (gtk_get_event_widget): document
2420
2421         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2422
2423         * gtk/gtkcontainer.c: Add some documentation
2424         (gtk_container_add): give a more explanatory warning on adding an
2425         already-parented widget, this is kind of a FAQ and also a common
2426         typo that's easier to debug with a nice warning 
2427
2428         * gtk/gtkcellrenderertoggle.c
2429         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2430         adding this, it's useless
2431         (gtk_cell_renderer_toggle_set_active): remove
2432         (gtk_cell_renderer_toggle_get_radio): add
2433
2434         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2435         the NULL cell renderer, that doesn't make any sense to me. 
2436
2437         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2438         demo code should never use deprecated features.
2439
2440         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2441         code should never use deprecated features.
2442
2443         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2444         gtk_widget_queue_clear_area deprecated
2445
2446         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2447         deprecated
2448
2449         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2450
2451         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2452         a GdkImage deprecated, replaced by new consistently-named
2453         functions       
2454
2455         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2456
2457         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2458
2459         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2460         deprecated
2461
2462         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2463         so it won't appear in docs and confuse people.
2464
2465         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2466
2467         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2468         macros deprecated. (can't mark the type itself deprecated, since
2469         GtkProgressBar is not deprecated and we need the type decl to use
2470         GtkProgressBar)
2471
2472         * gtk/gtkpixmap.h: Mark deprecated
2473
2474         * gtk/gtkoldeditable.h: Mark deprecated
2475
2476         * gtk/gtklist.h: Mark deprecated
2477
2478         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2479         for anything anymore.
2480
2481         * gtk/gtkctree.h: Mark deprecated
2482
2483         * gtk/gtkclist.h: Mark deprecated
2484
2485         * gtk/gtkpreview.h: Mark deprecated
2486
2487         * gtk/gtkpacker.h: Mark deprecated
2488
2489         * gtk/gtktipsquery.h: Mark deprecated
2490
2491         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2492
2493         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2494
2495         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2496
2497         * gtk/gtkruler.h: Add comment that it will move out of GTK
2498
2499         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2500
2501         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2502
2503 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2504
2505         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2506         gdk_colormap_sync private since it was never exported
2507         in a header file.
2508
2509         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2510         colormap->colors[] for StaticGray, StaticColor colormaps.
2511
2512         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2513         was being used as if it was image->bits_per_pixel.
2514
2515         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2516         for the image in the GdkImage structure since it isn't
2517         reconstructable, and we need it to handle packed types
2518
2519         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2520         the assumption that on Win32 image->bits_per_pixel == image->depth,
2521         always.
2522
2523         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2524
2525         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2526         warning message if no converter can be found. 
2527
2528 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2529
2530         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2531         chars to isupper() / tolower(). (#567)
2532
2533         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2534         to clear up 64-bit warnings. (#567)
2535
2536 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2537
2538         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2539         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2540
2541         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2542         since some people set $(libdir) separately. (#1290, David Kaelbling)
2543
2544 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2545
2546         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2547         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2548         MAXPATHLEN, but the code here depends on a fixed value.)
2549         (#4524)
2550
2551 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2552
2553         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2554         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2555
2556 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2557
2558         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2559         viewable there is no way that moving the node will cause the 
2560         focus row to become not viewable, so omit check on the visibility
2561         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2562
2563 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2564
2565         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2566         selection before inserting new text.
2567
2568 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2569
2570         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2571         Make the sensitivity of the reparented child track that of
2572         the original parent menu item. (#34218, David Hodson)
2573
2574         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2575         the case where the current item is destroyed properly.
2576
2577         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2578         some edge cases with child-less menuitems.
2579         
2580 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2581
2582         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2583         key pop down window. (#12074, Jon K Hellan)
2584
2585 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2586
2587         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2588         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2589         The solution here isn't perfect - you get an extraneous
2590         emission of "toggle", which could conceivably confuse an app,
2591         but better than the current situation. LXR search seems to
2592         indicate that no apps in GNOME CVS connect to "toggle".
2593
2594 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2595
2596         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2597         gtk_public_h_sources to directly here to avoid warning when
2598         building srcdir != builddir. (#9656)
2599
2600 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2601
2602         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2603         handlers in gtkrange.c return the proper values (TRUE == handled)
2604         (#10316).
2605
2606         This is just the tip of the iceberg, but gtkrange.c is the
2607         most common place where the propagation is problematical,
2608         and also a place where it is almost certainly safe to change
2609         this in the stable branch.
2610
2611         (You don't want right click popups on a range control or anything...)
2612
2613 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2614
2615         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2616         area on focus out, even if a background pixmap isn't set.
2617         (#13941)
2618         
2619 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2620
2621         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2622         to deal with setting the shape properly when scrolling arrows are
2623         turned on, but not visible because there is sufficient space.
2624         (#13432)
2625
2626 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2627
2628         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2629         items with submenus, destroy the item along with the submenu.
2630         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2631         properly.
2632
2633         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2634         later.
2635
2636 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2637
2638         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2639         the focus widget sometimes wasn't drawn with the default if there
2640         was no default widget.
2641
2642         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2643         unreference pixmaps. 
2644
2645         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2646         for some extra safety.
2647
2648 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2649
2650         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2651         the text of a cell to the old pointer value better, by
2652         copying the new text before freeing the old text. Some code
2653         cleanup. (#8079, Karl Nelson)
2654
2655 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2656
2657         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2658         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2659
2660 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2661
2662         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2663         item from a menu, check to see if it matches 
2664         menu->old_active_menu_item, and if so, unref and clear
2665         old_active_menu_item (Patch from Pavel Cisler)
2666
2667         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2668         menu_shell->active_menu_item, if it is the child being
2669         removed. (Patch based on that of Gene Ragan, #50337)
2670
2671 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2672
2673         * gdk/linux-fb/gdkselection-fb.c: 
2674         * gdk/linux-fb/gdkcolor-fb.c: 
2675         * gdk/linux-fb/gdkdrawable-fb2.c: 
2676         * gdk/linux-fb/gdkfont-fb.c: 
2677         * gdk/linux-fb/gdkim-fb.c: 
2678         * gdk/linux-fb/gdkinput.c: 
2679         * gdk/linux-fb/gdkkeyboard-fb.c: 
2680         * gdk/linux-fb/gdkmain-fb.c: 
2681         * gdk/linux-fb/gdkrender-fb.c: 
2682         A bunch of whitespace cleanup.
2683         
2684 2001-01-30  Havoc Pennington  <hp@pobox.com>
2685
2686         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2687         #ifdef GTK_ENABLE_BROKEN.
2688
2689         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2690         GTK_ENABLE_BROKEN just before including the broken headers.
2691         
2692         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2693         deprecated types registered.
2694
2695         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2696         we have to test the broken stuff.
2697
2698         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2699         
2700 2001-01-30  Havoc Pennington  <hp@redhat.com>
2701
2702         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2703         here where prev pointer was set to the wrong thing
2704
2705         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2706         (gtk_tree_path_is_descendant): new function
2707
2708         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2709         cached length
2710         (gtk_list_store_get_iter): don't modify iter if we can't get the
2711         path.
2712
2713         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2714         
2715         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2716         GtkTreeDragDest
2717
2718         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2719         was causing segfault
2720
2721         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2722         pointer to NULL
2723
2724         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2725
2726         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2727         on returning FALSE
2728         (gtk_list_store_iter_children): ditto
2729         (gtk_list_store_iter_nth_child): ditto
2730         (gtk_list_store_iter_nth_child): ditto
2731         (gtk_list_store_iter_parent): ditto
2732
2733         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2734         on iter->user_data != NULL instead of silently accepting it.
2735         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2736         we are returning TRUE.
2737         (gtk_tree_store_iter_children): ditto
2738         (gtk_tree_store_iter_nth_child): ditto
2739         (gtk_tree_store_iter_parent): ditto
2740         (gtk_tree_store_insert): remove handling of parent->user_data ==
2741         NULL, replace with parent == NULL       
2742
2743         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2744         and a comment explaining things
2745
2746         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2747         interface support to GtkTreeStore.
2748
2749         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2750         FALSE if no prev, fix
2751
2752         * gtk/gtktreeview.c (set_source_row): use a row reference
2753         (set_dest_row): use a row reference
2754
2755 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2756
2757         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2758         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2759         (gtk_tree_selection_select_iter): The same as above.
2760
2761 2001-01-26  Havoc Pennington  <hp@redhat.com>
2762
2763         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2764         which holds a handle to a specific row (particular set of values
2765         in the model, i.e. pointer-identity row).
2766
2767         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2768         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2769         Still need to use it for the src/dest row saved on the drag context.
2770
2771 2001-01-26  Havoc Pennington  <hp@redhat.com>
2772
2773         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2774
2775         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2776         not offset by TREE_VIEW_HEADER_HEIGHT
2777         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2778         TREE_VIEW_HEADER_HEIGHT
2779
2780         * configure.in (included_loaders): for me, --with-included-loaders
2781         generates the error "the specified loader yes does not exist",
2782         i.e. the arg defaults to "yes", so change test for value ""
2783         to test for value "yes", and include all loaders in that case.
2784
2785         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2786
2787         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2788         handle TREE_VIEW_VERTICAL_SEPARATOR
2789         (gtk_tree_view_bin_expose): fix to consider the row offset as
2790         pointing halfway into vertical separator.       
2791         (gtk_tree_view_draw_node_focus_rect): ditto
2792
2793         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2794         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2795         (TRUE) to be called.
2796
2797         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2798         debug mode where the invalid region is colored in on invalidate,
2799         so you can see the flicker and know whether your redraw code is 
2800         doing a good job.
2801
2802         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2803         tree window coordinates (clip rect is in tree window coords)
2804
2805         * gtk/Makefile.am: add gtktreednd.[hc]
2806
2807         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2808
2809         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2810         drag-and-drop data operations on a model (so we can set up tree
2811         drag-and-drop automatically)
2812
2813         * gtk/testgtk.c: Add a window to change sensitivity in the
2814         GtkLabel test; add a way to change the entry frame in GtkEntry
2815         test
2816
2817         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2818         (gtk_entry_get_has_frame): new functions to remove the frame
2819         around an entry
2820         (gtk_entry_size_request): shrink requisition if no frame
2821         (gtk_entry_draw_focus): don't draw frame if no frame
2822
2823         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2824         checks inside a cell renderer
2825         (gtk_default_draw_option): ditto for options
2826
2827         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2828         children from the alignment, not the button
2829         (gtk_tree_view_column_init): ref/sink the column, to emulate
2830         GObject refcounting.
2831
2832         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2833         
2834         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2835         Use theme functions to draw the toggles 
2836
2837         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2838
2839         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2840         GdkPangoAttrEmbossed to use in rendering insensitive text
2841
2842         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2843
2844         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2845         using new GDK features
2846         
2847 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2848
2849         * gtk/gtkimage.c:
2850         Splitted gtk_image_clear into gtk_image_clear() and
2851         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2852         to avoid leaks.
2853
2854         * gtk/gtklabel.c (set_markup):
2855         Don't leak text.
2856
2857         * gtk/gtktextlayout.c:
2858         Always free display->shaped_objects.
2859
2860         * gtk/testgtk.c (create_clist):
2861         Don't leak custom style.
2862
2863 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2864
2865         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2866         Don't leak image. Simplify using gdk_colormap_query_color().
2867         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2868
2869         * linux-fb/gdkcolor-fb.c:
2870         Implemented gdk_colormap_query_color.
2871
2872 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2873
2874         * linux-fb/gdkcursor-fb.c:
2875         Don't leak built-in cursors.
2876
2877         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2878         Don't leak tmp_points.
2879
2880         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2881         Don't modify desc. Don't leak font if the PangoFont
2882         isn't found.
2883         
2884         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2885         Free dash_list.
2886
2887         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2888         Don't leak string.
2889         
2890 2001-01-20  Havoc Pennington  <hp@pobox.com>
2891
2892         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2893         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2894         me, matches Pango
2895
2896 2001-01-22  Havoc Pennington  <hp@redhat.com>
2897
2898         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2899
2900         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2901
2902         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2903         Remove, move back to gdk-pixbuf
2904
2905         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2906         to all the word functions
2907
2908         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2909         before doing anything on NULL layout or if we don't have the focus
2910
2911         * gtk/testtext.c (fill_example_buffer): "justification"
2912
2913         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2914         to be called "justification" not "justify"
2915
2916         * demos/gtk-demo/textview.c (create_tags): "justification"
2917         
2918         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2919
2920 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2921
2922         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2923         Don't leak visible_region. Use visible_region instead of region.
2924         
2925         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2926         Don't do extra gdk_drawable_ref(). This is not X.
2927         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2928         gdk_fb_focused_window is ref:ed.
2929         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2930         windows.
2931
2932 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2933
2934         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2935         Don't leak the PangoFontDescriptor.
2936
2937 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2938
2939         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2940         when not realized.
2941         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2942         (gtk_tree_view_realize): add scroll_to support
2943         (gtk_tree_view_finalize): add a finalize method.  Populate.
2944         (gtk_tree_view_insert_column): ref and sink the column.
2945         (gtk_tree_view_append_column): ref and sink the column.
2946         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2947         individual nodes.  Should make the code much more efficient, if
2948         actually used.
2949
2950 2001-01-19  Havoc Pennington  <hp@redhat.com>
2951
2952         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2953         byte_offset variable was being used to mean both "offset into
2954         layout" and "offset into buffer line" which was no longer true
2955         with addition of preedit string; fix
2956
2957 2001-01-19  Havoc Pennington  <hp@redhat.com>
2958
2959         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2960
2961         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2962         function
2963
2964         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2965         implement
2966
2967         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2968         scroll_to_cell, matches TextView scroll functions better
2969         (gtk_tree_view_tree_to_widget_coords): new function
2970         (gtk_tree_view_widget_to_tree_coords): new function
2971         (gtk_tree_view_get_visible_rect): new function
2972         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2973         (gtk_tree_view_draw_node_focus_rect): new function moved from
2974         draw_focus, also, use width of bin_window as width of the focus
2975         rect
2976         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2977         already-expanded rows
2978         (gtk_tree_view_get_cell_rect): new function
2979         (gtk_tree_view_get_path_at_pos): return the click position
2980         relative to the passed-in cell
2981         (gtk_tree_view_set_expander_column): new function
2982
2983         * configure.in: remove gtk-config-2.0 chmod
2984
2985         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2986         and properly handle drags with targets we don't understand
2987         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2988         scrolling anyway
2989         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2990         mark invisible
2991
2992         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2993         function
2994         (gtk_drag_dest_get_target_list): new function
2995         (gtk_drag_dest_set_target_list): new function
2996         
2997         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2998
2999         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3000         related to drag-and-drop
3001
3002 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3003
3004         * gdk/linux-fb/gdkprivate-fb.h:
3005         Define EMULATE_GDKFONT.
3006         Add extra pango_font stuff to GfkFontPrivate.
3007         
3008         * gdk/linux-fb/gdkdrawable-fb2.c:
3009         * gdk/linux-fb/gdkfont-fb.c:
3010         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3011         emulation using PangoFont.
3012
3013 2001-01-17  Havoc Pennington  <hp@pobox.com>
3014
3015         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3016         all the non-deprecated set_foo functions. Added missing object
3017         properties, and added g_object_notify() to setters. 
3018         Wrote docs.
3019         
3020 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3021
3022         * gtk/gtkmain.c
3023         * gtk/gtkrc.c: (Win32) Use the new
3024         g_win32_get_package_installation_(sub)directory() functions.
3025
3026         * config.h.win32.in: New file.
3027         
3028         * config.h.win32: Removed.
3029
3030         * configure.in: Output config.h.win32.
3031
3032         * Makefile.am: Add it to EXTRA_DIST.
3033
3034         * gtk/gtk.def: Update.
3035
3036 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3037
3038         * gtk/gtklabel.c (gtk_label_size_request): Set the
3039         attributes onto the PangoLayout even if they are newly
3040         created from label->pattern.
3041
3042 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3043
3044         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3045
3046         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3047         structures in functions. Fixes bug where gtk_dataset_*
3048         was accidentally still being used in one place, causing
3049         every dest side event to be treated independently.
3050
3051         * gtk/gtkdnd.c: Remove last vestages of handling
3052         ::draw (fixes warning)
3053         
3054         * gtk/gtkentry.[ch]: Add drag and drop support.
3055
3056         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3057         new function gtk_check_drag_threshhold() for checking
3058         to check if (dx,dy) has exceeded the threshhold for starting
3059         a drag and use it everywhere.
3060
3061 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3062
3063         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3064         add -I{includedir}/gtk-2.0.
3065
3066         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3067         gdk/gdk-pixbuf.h: Doc fixups.
3068         
3069         * gtk/gtkobject.h: Remove trailing , from enum
3070
3071 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3072
3073         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3074         Doh! Mixed up x and y.
3075
3076         * gdk/linux-fb/gdkglobals-fb.c:
3077         Removed gdk_fb_pointer_grab_window_events,
3078         added _gdk_fb_pointer_grab_owner_events and
3079         _gdk_fb_keyboard_grab_owner_events.
3080
3081         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3082         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3083         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3084         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3085         Send crossing events after ungrab finished.
3086         (gdk_keyboard_grab): Set ..._owner_events
3087         (type_masks): Move out of function.
3088         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3089         gdk_fb_keyboard_event_window): New functions, return the
3090         window an event should be targeted at. Handles grabs and
3091         event propagation. Can return NULL.
3092         (gdk_event_make): Remove event_mask checking. Now always
3093         returns an event.
3094                 
3095         * gdk/linux-fb/gdkkeyboard-fb.c:
3096         * gdk/linux-fb/gdkproperty-fb.c:
3097         * gdk/linux-fb/gdkselection-fb.c:
3098         Use new event_window/gdk_event_make() behaviour.
3099         
3100         * gdk/linux-fb/gdkmouse-fb.c:
3101         Use new event_window/gdk_event_make() behaviour.
3102         Only send motion events if in the same window.
3103         If grabbed, use cursor from window if sibling of grabbed
3104         window, and cursor from grabbed window otherwise.
3105
3106         * gdk/linux-fb/gdkprivate-fb.h:
3107         Update gdk_fb_window_send_crossing_events, gdk_event_make
3108         and grab varaible declarations. Add gdk_fb_*_event_window().
3109
3110         * gdk/linux-fb/gdkwindow-fb.c:
3111         Use new event_window/gdk_event_make() behaviour.
3112         Keep correct track of focus window.
3113         (gdk_window_set_events): Set all specific button motion masks
3114         if GDK_BUTTON_MOTION_MASK set.
3115
3116         * gtk/gtkdnd.c (gtk_drag_update):
3117         Free info->last_event if gdk_drag_motion returned FALSE.
3118
3119 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3120
3121         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3122         Eliminate redraws when input-only windows are shown or
3123         hidden. Thanks to jpe@archaeopteryx.com.
3124
3125 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3126
3127         * docs/faq/gtk-faq.sgml: FAQ update:
3128           - Update to bugzilla
3129           - Add GTK+ and security/SUID/SGID
3130           - Add DnD question
3131
3132 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3133
3134         * gdk/linux-fb/gdkdnd-fb.c:
3135         Some cleanups.
3136         
3137 2001-01-15  Havoc Pennington  <hp@pobox.com>
3138
3139         * tests/testtreeview.c: add test stuff for CellRendererToggle
3140
3141         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3142         accessor
3143
3144         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3145         only toggle on button press (would do release like GtkButton, but
3146         we'd need implicit grab code for treeview cells)
3147
3148 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3149
3150         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3151
3152         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3153         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3154
3155         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3156         to g_{locale,filename}_{to,from}_utf8 to match current API.
3157
3158         * gtk/makefile.msc.in (gtk_OBJECTS)
3159         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3160
3161         * gtk/gtk.def: Update.
3162
3163 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3164
3165         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3166         implementaion that more closely mimics the events that an X server
3167         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3168         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3169         with nested preview widgets, for instance, more responsive when
3170         you move the mouse quickly into them.
3171         (find_window_for_pointer_event): Make it actually compile.
3172         (gdk_event_translate): Set send_event to the value of
3173         InSendMessage (). This doesn't really mean the same as X11's
3174         send_event flag, but is close enough, says jpe@archaeopteryx.com
3175
3176 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3177
3178         * gdk/linux-fb/gdkdnd-fb.c:
3179         Implemented drag and drop.
3180         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3181         when it tries to free and then copy the same event (info->last_event).
3182         I am not sure about why this happens, but will continue looking.
3183
3184 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3185
3186         * gdk/linux-fb/gdkwindow-fb.c:
3187         Use gdk_window_invalidate_rect instead of
3188         gdk_window_invalidate_rect_clear to minimise flashing.
3189         When hiding windows you need to clear the root window though.
3190
3191 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3192
3193         * gdk/linux-fb/gdkdrawable-fb2.c:
3194         For optization, add an full_shapes argument to gdk_fb_clip_region.
3195         If this is false, only the cliprects of the shapes are used.
3196
3197         * gdk/linux-fb/gdkprivate-fb.h:
3198         Export gdk_fb_window_peek_shape.
3199         Add full_shapes to gdk_fb_clip_region.
3200
3201         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3202         When moving a window, don't clear everything under the it, just the
3203         root window. Makes stuff faster and flash less.
3204         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3205         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3206         offset of the shape.
3207         
3208
3209 2001-01-12  Havoc Pennington  <hp@redhat.com>
3210
3211         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3212         current invalid region, fixes redraw bug while scrolling the 
3213         text widget
3214
3215         * gtk/gtktextview.c, gtk/gtktextview.h:
3216         Rearrange the scrolling/validation/etc. code in a major way, 
3217         so it seems to make sense to me. Probably isn't genuinely that
3218         much better, but...
3219
3220         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3221         notifies
3222
3223         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3224
3225 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3226
3227         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3228         Hide mouse pointer while rotation. Show it afterwards.
3229
3230 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3231
3232         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3233         windows in consideration when generating clip region.
3234
3235         * gdk/linux-fb/gdkfb.h:
3236         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3237
3238         * gdk/linux-fb/gdkprivate-fb.h:
3239         Add shape to GdkWindowFBDatat.
3240         exported gdk_fb_window_get_abs_shape().
3241         removed gdk_fb_draw_lines declaration.
3242
3243         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3244         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3245         send focus changes when there is a grabbed window.
3246         (gdk_window_get_pointer): Handle shaped windows.
3247         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3248         (gdk_fb_window_peek_shape): Returns the shape for a window,
3249         handles GDK_FB_USE_CHILD_SHAPE.
3250         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3251         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3252         (gdk_window_shape_combine_mask): Implement.
3253
3254         * gtk/gtkwindow-decorate.c:
3255         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3256         setting the shape of a window makes the window transparent.
3257
3258 2001-01-11  Havoc Pennington  <hp@redhat.com>
3259
3260         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3261
3262 2001-01-10  Havoc Pennington  <hp@redhat.com>
3263
3264         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3265         add this function, bug 40251
3266
3267         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3268         of type macro   
3269
3270 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3271
3272         * acconfig.h:
3273         Added ENABLE_SHADOW_FB
3274
3275         * configure.in:
3276         Added --disable-shadowfb
3277
3278         * gdk/linux-fb/gdkcursor-fb.c:
3279         Update shadowfb when updating cursor
3280
3281         * gdk/linux-fb/gdkdrawable-fb2.c:
3282         Added wrappers for shadowfb that calls  the normal drawable
3283         methods, but calls gdk_shadow_fb_update(bounding box) when
3284         GdkWindows are drawed to.
3285         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3286         which also returns the bounding box.
3287
3288         * gdk/linux-fb/gdkfb.h:
3289         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3290
3291         * gdk/linux-fb/gdkgeometry-fb.c:
3292         Update shadowfb when scrolling window.
3293
3294         * gdk/linux-fb/gdkglobals-fb.c:
3295         Add _gdk_fb_screen_angle.
3296         
3297         * gdk/linux-fb/gdkkeyboard-fb.c:
3298         Test code for screen rotation. Shift-F2 in the xlate driver
3299         rotates the screen.
3300
3301         * gdk/linux-fb/gdkmain-fb.c:
3302         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3303
3304         * gdk/linux-fb/gdkmouse-fb.c:
3305         Use fb_width/height instead of modeinfo.xres/yres.
3306
3307         * gdk/linux-fb/gdkprivate-fb.h:
3308         Added fb_men, fb_width, fb_height & fb_stride. When using
3309         shadow fb these can differ from the framebuffer stuff.
3310         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3311         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3312         _gdk_fb_screen_angle. Removed CM, RP.
3313
3314         * gdk/linux-fb/gdkrender-fb.c:
3315         Added code for shadowfb handling and screen rotation using
3316         shadowfb.
3317
3318         * gdk/linux-fb/gdkwindow-fb.c:
3319         Use fb_mem, fb_stride, fb_width, fb_height.
3320         Added recompute_rowstride to reset the rowstride of all windows.
3321         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3322         window abs positions and window rowstrides. Usefull when the
3323         rotation has changed.
3324
3325 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3326
3327         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3328
3329 2001-01-10  Havoc Pennington  <hp@redhat.com>
3330
3331         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3332         where sibling == iter
3333         (gtk_tree_store_insert_after): handle sibling == iter
3334         (gtk_tree_store_prepend): remove stamp checks
3335         (gtk_tree_store_insert_before): ditto
3336         (gtk_tree_store_append): ditto
3337         (gtk_tree_store_get_path): ditto
3338         (gtk_tree_store_get_value): ditto
3339         (gtk_tree_store_iter_has_child): ditto
3340         (gtk_tree_store_iter_n_children): ditto
3341         (gtk_tree_store_iter_nth_child): ditto
3342         (gtk_tree_store_insert_after): ditto
3343         (gtk_tree_store_is_ancestor): ditto
3344         (gtk_tree_store_iter_depth): ditto
3345         (gtk_tree_store_insert_before): assert that sibling's parent is
3346         the same as the passed-in parent
3347         (gtk_tree_store_insert_after): assert that sibling's parent is
3348         the same as the passed-in parent
3349
3350         
3351         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3352         function to get the first iterator in a model
3353         
3354         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3355         conventionally the "root" in this sense is just NULL afaict.
3356
3357         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3358         where sibling == iter
3359         (gtk_list_store_insert_after): handle case where sibling == iter
3360
3361         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3362         automated tests for ListStore, TreeStore
3363
3364         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3365         (gtk_list_store_insert): update tail pointer, and fix it to work
3366         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3367         (gtk_list_store_append): use tail to be faster
3368         (gtk_list_store_prepend): fix it, update tail pointer
3369         (gtk_list_store_insert_after): fix it, update tail pointer
3370
3371         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3372         the list
3373
3374 2001-01-09  Havoc Pennington  <hp@redhat.com>
3375
3376         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3377         is NULL due to a pending resize
3378
3379         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3380         column width to values less than 1
3381
3382         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3383         width to be between min/max width, and still set the width 
3384         even if autosize is turned on, so the tree view can use this 
3385         function in order to autosize.
3386         (gtk_tree_view_column_init): set initial width to 1 not 0
3387
3388         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3389         setter function to modify column width, so we get notification
3390         (gtk_tree_view_insert_iter_height): ditto
3391         (gtk_tree_view_calc_size): ditto
3392         (gtk_tree_view_check_dirty): ditto
3393
3394         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3395         properties to change all the interesting attributes of the tree
3396         view column.
3397         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3398         (gtk_tree_view_column_get_clickable): add
3399         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3400         attributes; assume a cell renderer with equivalent object
3401         properties has been swapped in. Do g_object_notify().
3402         (gtk_tree_view_column_set_visible): g_object_notify
3403         (gtk_tree_view_column_get_sizing): rename from get_col_type
3404         (gtk_tree_view_column_set_sizing): g_object_notify
3405         (gtk_tree_view_column_set_width): add g_object_notify
3406         (gtk_tree_view_column_set_min_width): ditto
3407         (gtk_tree_view_column_set_max_width): ditto
3408         (gtk_tree_view_column_set_title): ditto
3409         (gtk_tree_view_column_set_clickable): ditto
3410         (gtk_tree_view_column_set_widget): ditto
3411         (gtk_tree_view_column_set_justification): ditto
3412
3413 2001-01-09  Havoc Pennington  <hp@redhat.com>
3414
3415         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3416         there are no rows in the model
3417
3418         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3419         NULL, then return the start of the list
3420
3421         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3422         if we can't get any rows from an empty model 
3423
3424         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3425         extraneous * after function pointer typedef usage
3426
3427         * Makefile.am: don't specify full path to cp and rm
3428
3429         * gtk/gtkcellrenderertextpixbuf.c
3430         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3431         NULL before dereferencing, fixes a segfault that happened from
3432         time to time
3433
3434         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3435         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3436         and reindent the function
3437         (gtk_cell_renderer_pixbuf_get_size): indentation
3438
3439         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3440         we quit it
3441         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3442         (gtk_dialog_set_default_response): New function, to set default
3443         button
3444         (gtk_dialog_set_response_sensitive): New function, to set 
3445         sensitivity of buttons
3446
3447         * gtk/gtkcellrendererpixbuf.c
3448         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3449         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3450
3451         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3452         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3453         also boxed types.
3454         (_gtk_tree_data_list_value_to_node): ditto
3455
3456         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3457         --gtk-debug=tree
3458
3459         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3460
3461         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3462
3463 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3464
3465         * gdk/win32/gdkevents-win32.c: Implement better mouse
3466         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3467         (find_window_for_pointer_event): New function.
3468         (gdk_event_translate): Use it when handling mouse events.
3469
3470 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3471
3472         * configure.in:
3473         Added --with-included-loaders option
3474
3475         * gdk-pixbuf/Makefile.am:
3476         * gdk-pixbuf/gdk-pixbuf-io.c:
3477         Add support for including selected gdk-pixbuf loaders only.
3478
3479         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3480         gtk_window_set_has_frame):
3481         Added inline documentation.
3482
3483         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3484         * docs/reference/gdk/tmpl/windows.sgml:
3485         Added inline documentation.
3486
3487 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3488
3489         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3490         realizing buttons that have already been realized.
3491
3492 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3493
3494         * tests/testtreeview.c (main): Show menu items before adding to
3495         option menu.
3496
3497         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3498         around if we kill them.
3499
3500         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3501         Return if we pass in a NULL model.
3502
3503 2001-01-08  Havoc Pennington  <hp@redhat.com>
3504
3505         * tests/testtreeview.c: hack on this some
3506
3507         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3508         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3509         list
3510         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3511
3512         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3513         functions
3514
3515 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3516
3517         * gtk/gtkwindow-decorate.[hc]:
3518         * gtk/Makefile.am:
3519         New files. Contains an implementation of a minimal WM for
3520         linux-fb.
3521
3522         * gtk/gtkwindow.h:
3523         Add the possibility for GtkWindows to specify a frame. This
3524         is used for the window decoration code, but could concievably
3525         be used for X programs too (xmms style windows).
3526         GtkWindow->frame is the toplevel window if the window is framed.
3527         The signal frame_event gets all events that are targeted to
3528         GtkWindow->frame.
3529         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3530         
3531         * gtk/gtkwindow.c:
3532         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3533         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3534
3535 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3536
3537         * docs/README.linux-fb:
3538         Correct filename ~/.pangoft2_aliases
3539
3540         * gdk/gdkwindow.h:
3541         Added new function gdk_window_get_decorations.
3542
3543         * gdk/linux-fb/gdkfb.h:
3544         Removed _gdk_window_get_decorations declaration.
3545         Renamed _gdk_window_set_child_handler to
3546         gdk_fb_window_set_child_handler.
3547
3548         * gdk/linux-fb/gdkwindow-fb.c:
3549         Renamed _gdk_window_set_child_handler to
3550         gdk_fb_window_set_child_handler.
3551
3552         * gdk/x11/gdkwindow-x11.c:
3553         New function gdk_window_get_mwm_hints().
3554         Implemented gdk_window_get_decorations.
3555
3556         * docs/reference/gdk/tmpl/windows.sgml:
3557         * docs/reference/gdk/gdk-sections.txt:
3558         Added gdk_window_get_decorations docs.
3559         
3560 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3561
3562         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3563         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3564         gdk_fb_window_send_crossing_events):
3565         Possibly send focus events when the mouse moves from one
3566         window to another.
3567
3568 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3569
3570         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3571         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3572         to match current API.
3573
3574         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3575         environment variable is set, don't call g_error when on a
3576         palettized (PseudoColor) display. Some people want to use GTK+ 
3577         in 256-colour mode even though works only partially.
3578
3579         * gdk/gdk.def
3580         * gtk/gtk.def
3581         * gtk/makefile.mingw.in: Update.
3582
3583 2001-01-05  Havoc Pennington  <hp@redhat.com>
3584
3585         * tests/testtreeview.c: hack on this a bit
3586
3587         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3588         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3589
3590         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3591         was spelled incorrectly
3592         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3593
3594         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3595         from gtk_tree_view_set_headers_active   
3596
3597         * gtk/gtktexttag.c:
3598         (gtk_text_tag_get_property): handle PROP_DIRECTION
3599         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3600         properties, bug 40235
3601
3602         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3603         forward_to_line_end
3604
3605 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3606
3607         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3608         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3609         for unicode,locale,filename conversion functions.
3610
3611 2001-01-05  Havoc Pennington  <hp@redhat.com>
3612
3613         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3614         broken if called on the first position in the buffer.
3615
3616         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3617         forward_to_delimiters to be called only if we aren't already at
3618         the delimiters.
3619
3620 2001-01-05  Havoc Pennington  <hp@redhat.com>
3621
3622         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3623
3624 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3625
3626         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3627         colormap in here. Sync from X port.
3628         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3629         Sync from X port.
3630         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3631         This happens now and then, and i don't think it is a bug.
3632         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3633         != endpoint.
3634         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3635         GDK_LINE_SOLID.
3636
3637         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3638         some of the fields filled in at least.
3639
3640         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3641         miLineArcD is no more, remove it from the function definition.
3642
3643 2001-01-04  Havoc Pennington  <hp@redhat.com>
3644
3645         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3646         this
3647
3648         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3649         user_data instead of tree_node
3650
3651         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3652         TREE_VIEW_COLUMN_SIZE
3653
3654         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3655         "size" field to "width" finishes bug 40061
3656
3657         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3658         for bitfields, bug 40268
3659
3660 2001-01-04  Havoc Pennington  <hp@redhat.com>
3661
3662         Rename some stuff:
3663         
3664         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3665
3666         s/GtkModelSimple/GtkTreeModelSimple/g;
3667         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3668         s/gtk_model_simple/gtk_tree_model_simple/g;
3669         s/gtkmodelsimple/gtktreemodelsimple/g;
3670
3671         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3672
3673         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3674         s/column_set_col_type/column_set_sizing/g;
3675
3676         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3677         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3678
3679         s/GtkCellRendererType/GtkCellRendererState/g;
3680         
3681         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3682         (gtk_cell_renderer_toggle_class_init): change "state" property to
3683         "active", to match GtkToggleButton
3684         (gtk_cell_renderer_toggle_get_active): new function, bug
3685         40269
3686         (gtk_cell_renderer_toggle_set_active): new function
3687         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3688         state through gtk_cell_renderer_set_active
3689
3690 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3691
3692         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3693         temporarily until they work again.  Brought up to date with
3694         changes in the model.
3695         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3696         model.
3697
3698 2001-01-04  Havoc Pennington  <hp@redhat.com>
3699
3700         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3701         equal to the line length, then position iterator before paragraph 
3702         separators. Fixes crash reported by Mikael Hermansson when
3703         pressing left arrow from the start of a line.   
3704
3705         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3706         about byte indexes off the end
3707         (iter_set_from_char_offset): add g_error about char offsets
3708         off the end
3709
3710 2001-01-03  Havoc Pennington  <hp@redhat.com>
3711
3712         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3713
3714         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3715         of private functions; remove inclusion of private headers.
3716
3717         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3718         function, so we don't need private functions in gtktextdisplay.c
3719
3720         * gtk/gtktextiterprivate.h: underscore-ification
3721
3722         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3723         to instead say "only useful to implement widgets"
3724
3725         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3726         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3727         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3728
3729         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3730         This function was completely broken
3731
3732         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3733
3734         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3735
3736         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3737
3738         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3739
3740         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3741
3742         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3743
3744         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3745         gtk_paint_layout
3746
3747         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3748         gtk_paint_layout
3749
3750         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3751         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3752         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3753         which were not implemented.     
3754
3755         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3756         insert_pixbuf signal. Rename delete_text to delete_range since it
3757         also deletes pixbufs and child anchors. This almost closes bug
3758         40245 (still need to deal with child anchors)
3759
3760         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3761         insert_pixbuf, change signal names as appropriate, change types of
3762         signals taking marks/tags to have the specific type, not just
3763         G_TYPE_OBJECT
3764         
3765         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3766         closes bug 40051
3767
3768         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3769         unnecessary remove_contents() call
3770         (gtk_option_menu_class_init): add a "changed" signal, closes
3771         bug 40039
3772         (gtk_option_menu_update_contents): emit "changed" if the 
3773         active menu item changes
3774
3775         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3776         cast to GtkObject, reported by Jonas Borgstrom
3777         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3778         we can't do stuff with side effects in finalize. Instead, spew a
3779         warning if the loader isn't closed.
3780
3781         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3782         colormap in here, non-X ports probably need to sync to this change
3783
3784         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3785         assertion that colormap != NULL, you can set the colormap to NULL
3786         if you like.
3787         
3788         * Makefile.am: remove gtk-config-2.0
3789
3790         * configure.in: Use pkg-config to locate GLib. Remove
3791         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3792         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3793         Use pkg-config to locate Pango. Output correct Pango libs to
3794         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3795
3796         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3797         files
3798         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3799         X11 pc files
3800
3801         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3802         unref from here
3803
3804 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3805
3806         * configure.in:
3807         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3808
3809 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3810
3811         * gtk/gtktextlayout.c
3812         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3813         variable when moving back onto a single line.
3814
3815 2001-01-01  Havoc Pennington  <hp@redhat.com>
3816
3817         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3818
3819         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3820
3821         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3822         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3823
3824 2001-01-01  Havoc Pennington  <hp@redhat.com>
3825
3826         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3827
3828         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3829         GtkTextAttributes
3830
3831         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3832         #40246
3833         (gtk_text_attributes_copy_values): rename from 
3834         gtk_text_attributes_copy
3835         (gtk_text_attributes_copy): a more standard GTK copy function, 
3836         which returns a new object
3837
3838 2001-01-01  Havoc Pennington  <hp@redhat.com>
3839
3840         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3841         
3842         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3843         don't fill in tree_view->priv->selection, kind of an unexpected
3844         side effect
3845
3846         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3847         gtkintl.h
3848         
3849         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3850         gtkintl.h
3851         (gtk_cell_renderer_get_property): remove calls to g_value_init
3852
3853         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3854         gtkintl.h
3855
3856         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3857         and include gtkintl.h
3858         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3859         property names
3860
3861         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3862         GtkTreeSelection
3863         (_gtk_tree_selection_new_from_with_view): rename, return
3864         GtkTreeSelection
3865         (_gtk_tree_selection_set_tree_view): rename with uscore
3866         (gtk_tree_selection_get_selected): fill in the "model" out param
3867         first, so it gets filled in even if we return at the top of the 
3868         function
3869         (gtk_tree_selection_real_select_all): add a comment and an else{}
3870         to clarify this a bit
3871         (gtk_tree_selection_real_unselect_all): add the same else{}
3872
3873         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3874         set_tree_view to have underscore prefixes, move them to the
3875         private header, fix return type of new_with_tree_view
3876         (struct _GtkTreeSelection): mark struct
3877         fields private  
3878
3879         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3880         GtkTreeModelFlags, not a guint
3881         (gtk_tree_path_prev): return gboolean not gint
3882         (gtk_tree_path_up): return gboolean not gint
3883
3884         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3885         return GtkTreeModelFlags, not a guint
3886
3887         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3888         that child model is non-null before unrefing it
3889         (g_value_int_compare_func): make this a qsort compare func, not 
3890         a boolean predicate
3891
3892         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3893         (add -umn to the end), and mark it unimplemented
3894         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3895         I don't see what it's for - doesn't the model always sort itself?
3896         (gtk_tree_model_sort_set_compare): this had the wrong signature
3897
3898         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3899         Fix the docs to say that it destructively replaces existing
3900         attributes (previously said that it added attributes).
3901         (gtk_tree_view_column_set_visible): canonicalize bool before
3902         equality testing. Also, check for realization before
3903         hiding/showing the tree_column->window; if this window could exist
3904         before realization, then it's busted and needs fixing, we can't 
3905         create GDK resources pre-realization. Also, remove
3906         superfluous queue_resize(), since set_size() does that for us.
3907         (gtk_tree_view_column_set_col_type): check realization before 
3908         using tree_column->window
3909
3910         * gtk/gtktreedatalist.c: fix filename in copyright notice
3911
3912 2000-12-31  Havoc Pennington  <hp@pobox.com>
3913
3914         * gtk/gtktextview.c: Rearrange all the
3915         scroll-while-dragging-or-selecting code to be different, not
3916         necessarily better. ;-)
3917         (gtk_text_view_scroll_to_mark): Change this
3918         function to take within_margin as a fraction instead of a pixel
3919         value, and to take alignment arguments (indicating where to align 
3920         the mark inside the visible area)
3921         
3922         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3923         to GtkObject
3924
3925         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3926         behavior so that offsets past the end of the line are not 
3927         allowed, and an offset equal to the line length moves the iterator
3928         to the next line
3929         (gtk_text_iter_set_line_index): make parallel change
3930         (gtk_text_iter_get_bytes_in_line): add this function
3931         
3932         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3933         of byte indexes off the end of the line; byte index at the end of
3934         the line now returns FALSE and doesn't fill in the requested
3935         values, byte index past the end of the line is an error.  Also,
3936         don't allow -1 offset anymore, since its meaning is unclear.
3937
3938         This change exposes some bug in visual cursor motion, where we
3939         end up with a huge invalid byte index; needs fixing. Symptom of 
3940         bug is a crash when you hit up arrow.
3941         
3942         (_gtk_text_line_char_locate): match the change to byte_locate
3943
3944         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3945         from start of line properly. fixes bug reported by Mikael
3946         Hermansson where backspace would delete all text before the
3947         cursor.
3948
3949 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3950
3951         * gdk/win32/gdkwindow-win32.c
3952         (gdk_window_impl_win32_get_visible_region): New function, as in
3953         the X11 backend.
3954         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3955         instead of duplicating the same code here.
3956
3957         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3958         GDK_COLORMAP macro.
3959
3960         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3961         destroy function.
3962         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3963         access that.
3964
3965         * gtk/gtk.def: Update.
3966
3967         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3968
3969 2000-12-30  Havoc Pennington  <hp@pobox.com>
3970
3971         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3972         colormap on input only windows, to avoid special cases all over
3973         the code for these windows.
3974
3975 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3976
3977         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3978         we are on a palettized display ("PseudoColor" in X11), as the code
3979         for that doesn't work anyway, and never has.
3980
3981 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3982
3983         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3984         Don't use isprint() for chars > 255.
3985
3986 2000-12-21  Havoc Pennington  <hp@redhat.com>
3987
3988         * tests/testtreeview.c: more work
3989
3990 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3991
3992         * docs/README.linux-fb:
3993         Update the docs to the new pangoft2 way.
3994
3995 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3996
3997         * configure.in:
3998         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3999         pango version.
4000         Remove modules/linux-fb/Makefile.
4001
4002         * gdk/linux-fb/gdkdrawable-fb2.c:
4003         Render glyphs using freetype.
4004
4005         * gdk/linux-fb/gdkfb.h:
4006         Add new fb-specific functions needed for managing windows.
4007
4008         * gdk/linux-fb/gdkmain-fb.c:
4009         Remove gdk_font_init/fini() calls.
4010
4011         * gdk/linux-fb/gdkpango-fb.c:
4012         Remove old implementation. Use pangoft2 instead.
4013
4014         * gdk/linux-fb/gdkprivate-fb.h:
4015         Remove PangoFBFont and related stuff.
4016
4017         * gdk/linux-fb/gdkwindow-fb.c:
4018         Implement drawable->get_visible_region.
4019         Implement support for _gdk_window_set_child_handler () and
4020         _gdk_window_get_decorations().
4021
4022         * modules/Makefile.am:
4023         Remove linux-fb subdir.
4024
4025         * modules/linux-fb/*:
4026         Removed all.
4027         
4028 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4029
4030         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4031         calls, as they are no longer needed.
4032
4033         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4034         
4035         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4036         figure out how to emit a signal on an interface.
4037
4038 2000-12-20  Havoc Pennington  <hp@redhat.com>
4039
4040         * tests: new directory to contain tests, gtk/test* should move
4041         here sometime (with appropriate on-cvs-server hackery)
4042
4043         * tests/testtreeview.c, tests/Makefile.am: a test
4044         
4045         * configure.in (AC_OUTPUT): add tests/Makefile
4046
4047         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4048         and "invisible_set" which were missing
4049
4050         * gtk/gtkrbtree.h: some cheesy indentation fix
4051         
4052 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4053
4054         * gtk/gtkinvisible.c (gtk_invisible_realize):
4055         Attach the style to the window so that the style it is not
4056         leaked when unrealizing the window.
4057
4058 2000-12-18  Havoc Pennington  <hp@redhat.com>
4059
4060         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4061         begin/end user action where appropriate
4062         (gtk_text_view_commit_handler): add begin/end user action
4063
4064         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4065         bracket interactive operations with begin/end user action pair.
4066         
4067         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4068         "interactive" arg from insert_text and delete_text signals.
4069         Add begin_user_action, end_user_action signals
4070         (gtk_text_buffer_begin_user_action): 
4071         (gtk_text_buffer_end_user_action): New functions to delimit 
4072         a user-visible action
4073
4074         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4075         signals.
4076         
4077 2000-12-18  Havoc Pennington  <hp@redhat.com>
4078
4079         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4080         was pretty non-working.
4081
4082         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4083         by passing the length to g_utf8_validate().
4084
4085 2000-12-16  Havoc Pennington  <hp@pobox.com>
4086
4087         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4088         Port to GObject, can go back in gdk-pixbuf after setting up 
4089         a gdk-pixbuf-marshal.h header over there.
4090
4091         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4092         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4093         args
4094         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4095         set
4096         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4097         here, do it when we create the buttons later
4098         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4099         (gtk_tree_view_map): paranoia checks that column->button is shown 
4100         and unmapped
4101         (gtk_tree_view_size_request): only request visible children.
4102         Move header size calculation in here, for cleanliness, and 
4103         to maintain invariants for child widgets if we eventually 
4104         let users set different children inside the buttons
4105         (gtk_tree_view_map_buttons): factor out code to map buttons,
4106         since it was being called several times
4107         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4108         windows instead of just moving them; their height may change 
4109         if we allow random widgets in there, or the theme changes.
4110         (gtk_tree_view_size_allocate): move button size allocation 
4111         above emitting the scroll signals, to ensure a sane state when we
4112         hit user code
4113         (gtk_tree_view_button_release): remove queue_resize after
4114         tree_view_set_size(), set_size() will handle any resize queuing
4115         that's needed
4116         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4117         draw_focus goo
4118         (gtk_tree_view_focus): use gtk_get_current_event() and
4119         gdk_event_get_state()
4120         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4121         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4122         semicolon
4123         (gtk_tree_view_create_button): show the button here
4124         (gtk_tree_view_button_clicked): actually emit the clicked signal
4125         on the column
4126         (_gtk_tree_view_set_size): return right away if the size is
4127         unchanged, as a cheesy optimization
4128         (gtk_tree_view_setup_model): rename set_model_realized to 
4129         setup_model to match the flag that indicates whether we've 
4130         called it
4131         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4132         exist, because set_scroll_adjustment does that and it shouldn't
4133         matter what order you call these in
4134         (gtk_tree_view_get_vadjustment): ditto
4135         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4136         for paranoia
4137         (gtk_tree_view_set_headers_visible): call
4138         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4139         (gtk_tree_view_append_column): clarify whether the return value
4140         is the count of columns before or after, and do the increment 
4141         separately from the return statement so you can tell from the code.
4142         (gtk_tree_view_remove_column): ditto
4143         (gtk_tree_view_insert_column): ditto
4144         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4145         outside the existing range, the docs say that outside-range
4146         columns are allowed, so we handle them as documented. (Presumably
4147         this allows a nice loop with column != NULL as test.)
4148         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4149         mean (left/right/center etc.).
4150         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4151         (gtk_tree_view_expand_row): add docs
4152         (gtk_tree_view_collapse_row): add docs
4153
4154         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4155         function to emit the clicked signal on a column
4156         
4157         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4158         state of an event
4159         (gdk_event_get_time): don't treat GDK_SCROLL 
4160         as a button event, remove default case from switch so gcc 
4161         will whine if we don't explicitly handle all event types
4162
4163         * gtk/gtktreeselection.h: added some FIXME 
4164         
4165         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4166         "columns" to "n_columns" and "column" to "columns" for clarity
4167
4168 2000-12-16  Havoc Pennington  <hp@pobox.com>
4169         
4170         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4171         stuff. This should make e.g. the delete key work again in the
4172         text widget...
4173         (gtk_text_iter_forward_cursor_positions): handle negative count
4174         (gtk_text_iter_backward_cursor_positions): handle negative count
4175         (gtk_text_iter_forward_word_ends): handle negative count
4176         (gtk_text_iter_backward_word_starts): handle negative count
4177
4178         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4179         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4180         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4181         GObject. No doubt will cause breakage.
4182
4183         * demos/gtk-demo/textview.c: remove hacks around
4184         non-GObject-ification of the text objects
4185
4186         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4187         the text tag
4188         
4189 2000-12-14  Havoc Pennington  <hp@pobox.com>
4190
4191         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4192         that we have Xrender
4193
4194 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4195
4196         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4197         Add two virtualized functions gdk_drawable_get_clip_region - to
4198         get the clip region when drawing.
4199         
4200         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4201         use invalidate_region.
4202
4203         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4204         region.
4205
4206         * acconfig.h configure.in: Check for Xft. For now, assume
4207         that if Xft is found, Pango was compiled with Xft support
4208         as well.
4209
4210         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4211         gdk_colormap_query_color().
4212         
4213         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4214         with Xft if appropriate.
4215
4216         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4217         a pangoxft context if we have XFT and the environment
4218         variable GD_USE_XFT is set.
4219         
4220         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4221         and also possibly an XftDraw structure.
4222
4223         * gtk/gtkfontsel.c: Handle the case where the font from the
4224         style doesn't match any of the fonts a bit better.
4225         
4226         * gtk/testgtk.c: Add tabs between directional segments for
4227         hebrew/arabic test. (Not really necessary, just a little
4228         prettier.)
4229
4230 2000-12-14  Havoc Pennington  <hp@redhat.com>
4231
4232         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4233         reading a file
4234
4235 2000-12-14  Havoc Pennington  <hp@redhat.com>
4236
4237         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4238         unused call to get_last_line()
4239
4240         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4241         here until boxed is working (and maybe after that - we should
4242         really not gratuitously break old code)
4243
4244         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4245         specific types for font_desc and tabs args, move them to
4246         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4247         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4248
4249         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4250         use GTK_TYPE_POINTER for signal signatures as a hack-around
4251
4252         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4253         PangoTabArray
4254
4255         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4256         make static
4257         (line_display_index_to_iter): make static
4258
4259         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4260         to marshal a string not a boxed
4261
4262         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4263
4264         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4265         since the UTF-8 isn't validated yet
4266
4267         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4268         lines to end in '\n'
4269         
4270         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4271         forward_to_delimiters, and grapheme boundaries
4272         (gtk_text_view_delete_from_cursor): properly handle non-newline
4273         delimiters, and grapheme boundaries
4274
4275         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4276         to gtk_text_iter_forward_to_delimiters, and make it work properly
4277         if empty lines end with a character other than '\n'
4278
4279         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4280         position
4281
4282 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4283
4284         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4285
4286         * gtk/gtk.def
4287         * gdk/gdk.def: Update.
4288
4289         * gdk/win32/gdkmain-win32.c
4290         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4291         gdkmain-win32.c here.
4292
4293         * gdk/win32/makefile.mingw.in (all): No need to make
4294         gdk-win32res.o here, the makefile one step up will call us to make
4295         it.
4296
4297         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4298         gdkkeys-win32.
4299
4300         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4301
4302         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4303         call to g_source_add().
4304
4305         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4306         leak. Thanks to Andreas Kemnade.
4307
4308 2000-12-13  Havoc Pennington  <hp@pobox.com>
4309
4310         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4311
4312         * gtk/gtktext*.[hc]: update accordingly
4313         
4314 2000-12-13  Havoc Pennington  <hp@pobox.com>
4315
4316         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4317         header file
4318
4319         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4320
4321 2000-12-13  Alex Larsson  <alexl@redhat.com>
4322
4323         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4324         Add support for ps2 intellimouse.
4325
4326         * gdkkeyboard-fb.c:
4327         Move shift-F1 repaint handling to xlate handler only.
4328         
4329         * docs/README.linux-fb:
4330         Add imps2 to docs.
4331         Document the new refresh keys.
4332         
4333 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4334
4335         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4336
4337         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4338         ::position and ::padding.
4339
4340         * gtk/gtkcontainer.c: make ::border_width an INT property.
4341
4342         * gtk/gtkpacker.c: make ::position an INT property.
4343
4344         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4345         guard against NULL h/v scrollbars, since this is used at construction
4346         time.
4347
4348         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4349         internal gtk_clist_constructor().
4350
4351         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4352         gtk_ctree_constructor().
4353
4354         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4355         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4356
4357         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4358         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4359
4360         * gtk/gtkwidget.[hc]:
4361         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4362         and gtk_widget_get().
4363         (gtk_widget_new): use g_object_new_valist().
4364         (gtk_widget_set): use g_object_set_valist().
4365
4366         * gtk/gtkobject.[hc]:
4367         removed gtk_object_arg_get_info(), gtk_object_getv(),
4368         gtk_object_query_args(), gtk_object_newv(),
4369         gtk_object_class_add_signals(),
4370         gtk_object_class_user_signal_new(),
4371         gtk_object_class_user_signal_newv(),
4372         gtk_object_arg_set(), gtk_object_arg_get(),
4373         gtk_object_args_collect(),
4374         gtk_object_default_construct(),
4375         gtk_object_constructed(),
4376         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4377         removed nsignals, signals and n_args members from GtkObjectClass.
4378         (gtk_object_new): use g_object_new_valist().
4379         (gtk_object_set): use g_object_set_valist().
4380         (gtk_object_get): use g_object_get_valist().
4381         
4382         * gtk/gtkcompat.h: define gtk_object_default_construct().
4383         
4384         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4385         g_object_new().
4386
4387         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4388         fucntions, cleaned up method assignments (make sure your structures
4389         are setup properly before calling out). removed all GTK_CONSTRUCTED
4390         hacks ;)
4391
4392 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4393
4394         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4395         off-by-one error in checks. (Dave Lambert)
4396
4397 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4398
4399         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4400         Don't free gdk_fb_keyboard twice.
4401
4402 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4403
4404         * gtk/testgtk.c:
4405         (create_tooltips): 
4406         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4407         use GObject swapped_signal:: properties instead.
4408
4409         * gtk/gtkcellrenderertoggle.c: 
4410         * gtk/gtkcellrenderertextpixbuf.c: 
4411         * gtk/gtkcellrenderertext.c: 
4412         * gtk/gtkcellrendererpixbuf.c: 
4413         * gtk/gtkcellrenderer.c:
4414         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4415         missing warnings for invalid property ids, install properties
4416         with g_object_class_install_property() now.
4417         
4418         * gtk/gtksignal.c:
4419         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4420         
4421 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4422         
4423         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4424         to determine if a window is the focus widget within
4425         its toplevel.
4426
4427         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4428         to be boolean.
4429
4430         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4431         of the case where the container CAN_FOCUS to here instead
4432         of having it in each individual move-the-focus place.
4433
4434         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4435         focusing to be geometric in a much more obvious sense. Arrowing
4436         around is still non-intuitive because it isn't perfect and
4437         because entries, etc, grab the arrow keys, but it at least
4438         usually will do what you expect now.
4439         
4440         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4441         file.
4442
4443         * gtk/gtknotebook.c: Change tabs to be a single item in
4444         the focus chain. Make movement of focus on tabs with arrow
4445         keys wrap around.
4446         
4447         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4448         CHECK_FIND_CHILD macro to give informative error messages
4449         instead of silent returns.
4450
4451         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4452         flag since we handle GdkReturn on the tabs.
4453
4454         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4455         windows rather than sending expose events directly.
4456
4457         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4458         definition for GtkNotebookPage into .c file, since it is private.
4459
4460         * gtk/testgtk.c (create_notebook): Add option for 
4461         testing borderless notebook.
4462
4463         * gtk/testgtk.c (page_switch): Removed egregious poking
4464         around in GTK+ internals.
4465
4466         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4467
4468         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4469         properly through gtk_clist_focus. Make the title headers a
4470         single item in the tab-focus chain, and make left-right wrap
4471         around.
4472
4473         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4474         focus method so that wrapping around works properly.
4475
4476         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4477         that is handled for the widget now. 
4478
4479 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4480
4481         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4482         widgets as TOPLEVEL.
4483
4484         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4485         TOPLEVEL widgets are containers.
4486
4487         * gtk/gtkinvisible.h: Remove useless include.
4488
4489 2000-12-11  Havoc Pennington  <hp@redhat.com>
4490
4491         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4492         Handle chopping off \r\n and 0x2029 in addition to \n before
4493         passing to PangoLayout
4494
4495         * gtk/gtkimcontextsimple.c
4496         (gtk_im_context_simple_get_preedit_string): 
4497         return an empty string if no match is pending
4498
4499         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4500         assertion that the returned preedit string was sane
4501
4502         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4503         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4504         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4505
4506 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4507
4508         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4509         Fix up finalizer to chain to its parent.
4510
4511 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4512
4513         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4514         Clearified the difference between the keyboard types. Wrote a note
4515         about the magic sysrq key to get out of raw mode.
4516
4517 2000-12-09  James Henstridge  <james@daa.com.au>
4518
4519         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4520         member to hold masks for detecting the start of a protocol packet.
4521         (mouse_devs): add packet start masks for ps2 and ms device types.
4522         Left the mask for fidmour blank, as I have no idea what it should
4523         be.
4524         (handle_mouse_io): skip bytes until we get to the start of a
4525         packet.  My Logitech mouse seems to be passing an extra NULL pad
4526         byte, and GPM does a similar thing here.
4527         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4528         this is the ms mouse driver.
4529         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4530         completely broken except for button1.  It was checking the wrong
4531         bit in the packet for the status of the right mouse button, and
4532         wrongly assuming right == button2 rather than 3.  I fixed that and
4533         also added support for middle button (button2).
4534
4535 2000-12-08  Havoc Pennington  <hp@redhat.com>
4536
4537         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4538         that cause a segfault on text insertion
4539
4540         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4541         warning
4542
4543         * gtk/gtktextiter.c (test_log_attrs): use
4544         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4545
4546         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4547         Get log attrs for a line, using a cache stored on the buffer
4548         
4549         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4550         reported by Jeff Franks
4551
4552 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4553
4554         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4555         /dev/ttyS0 -> /dev/mouse
4556
4557 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4558
4559         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4560         Added dummy gdk_fontset_load.
4561
4562 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4563
4564         * docs/README.linux-fb:
4565         * docs/Makefile.am:
4566         Initial GtkFB docs.
4567         
4568         * gdk/linux-fb/Makefile.am:
4569         Define GDK_DATA_PREFIX.
4570
4571         * gdk/linux-fb/gdkmain-fb.c:
4572         Fix typo.
4573         Change default display to /dev/fb0.
4574
4575         * gdk/linux-fb/gdkpango-fb.c:
4576         Add $(prefix)/share/fonts/ to font path.
4577         
4578 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4579
4580         * gdk/linux-fb/gdkkeyboard-fb.c:
4581         New file containing the abstracted keyboard driver. Most code
4582         taken from gdkinput-ps2.c
4583
4584         * gdk/linux-fb/gdkinput-ps2.c:
4585         Removed file.
4586         
4587         * gdk/linux-fb/Makefile.am:
4588         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4589
4590         * gdk/linux-fb/gdkcolor-fb.c:
4591         display->fb was renamed to display->fb_fd.
4592
4593         * gdk/linux-fb/gdkcursor-fb.c:
4594         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4595
4596         * gdk/linux-fb/gdkinput.c:
4597         Moved gdk_input_init here from gdkinput-ps2.c
4598
4599         * gdk/linux-fb/gdkmain-fb.c:
4600         display->fb was renamed to display->fb_fd.
4601         Now the tty and the console is opened here instead
4602         of in the keyboard driver. Also check GDK_VT to see what
4603         tty to open.
4604         Move gdk_beep () here from gdkinput-ps2.c
4605         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4606
4607         * gdk/linux-fb/gdkmouse-fb.c:
4608         Add header.
4609         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4610         Return correct keyboard modifiers.
4611         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4612
4613         * gdk/linux-fb/gdkprivate-fb.h:
4614         Add tty and vt info to display.
4615         Add orignal modeinfo storage to display
4616         Update global functions
4617
4618         * gdk/linux-fb/gdkwindow-fb.c:
4619         Added gdk_fb_window_find_focus().
4620         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4621
4622 2000-12-07  Havoc Pennington  <hp@pobox.com>
4623
4624         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4625         function, noticed by Alex
4626
4627 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4628
4629         * configure.in: Detect freetype properly
4630
4631         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4632         above.
4633
4634 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4635
4636         * gdk/linux-fb/Makefile.am:
4637         Add gdkmouse-fb.c
4638         
4639         * gdk/linux-fb/gdkmouse-fb.c:
4640         New file. Abstracted the mouse drivers a bit.
4641
4642         * gdk/linux-fb/gdkcursor-fb.c:
4643         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4644
4645         * gdk/linux-fb/gdkinput-ps2.c:
4646         Removed old mouse handling code. Moved cursor handling code
4647         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4648         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4649         gdk_mouse_get_info.
4650
4651         * gdk/linux-fb/gdkmain-fb.c:
4652         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4653
4654         * gdk/linux-fb/gdkprivate-fb.h:
4655         Removed public gdk_fb_find_common_ancestor, added and renamed
4656         functions for the new mouse handling code.
4657
4658         * gdk/linux-fb/gdkwindow-fb.c:
4659         Moved gdk_fb_window_send_crossing_events here. added global
4660         variable gdk_fb_window_containing_pointer. made
4661         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4662         renamed to gdk_mouse_get_info.
4663
4664 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4665
4666         * gdk/linux-fb/gdkevents-fb.c:
4667         Update to match latest gmain/gsource changes.
4668
4669         * gdk/linux-fb/gdkinput-ps2.c:
4670         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4671         it links. Will be implemented later.
4672
4673 2000-12-03  Havoc Pennington  <hp@pobox.com>
4674
4675         * gdk/Makefile.am: add gdkkeys.[hc]
4676
4677         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4678         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4679
4680         * acconfig.h, configure.in: add checks and command line options
4681         for XKB
4682
4683         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4684         
4685         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4686         and group in the key event
4687
4688         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4689         field with the low-level hardware key code, and a group
4690         field with the keyboard group
4691
4692         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4693         and declare a couple globals used for keymap handling
4694         
4695         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4696         hold down Shift-Control and type a hex number to get a Unicode 
4697         character corresponding to the hex number
4698         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4699         (return bytes not chars)
4700
4701 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4702
4703         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4704         to avoid waste on 64-bit platforms.
4705
4706 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4707
4708         * INSTALL: Fix link to PNG home, remove reference
4709         to fribidi.
4710
4711         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4712         
4713         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4714         tested.)
4715
4716         * gtk/gtkcheckmenuitem.c: Permanently turn on
4717         always_show_toggle.
4718
4719         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4720         be NULL. (Vladimir Klebanov, #26545)
4721
4722         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4723         some signed/unsigned comparison problems. (#6510,
4724         David Kaelbling)
4725
4726         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4727         return type to boolean (Oskar Liljeblad, #18648)
4728
4729 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4730
4731         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4732         Remove bogus colormap setting.
4733
4734 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4735
4736         * gdk/linux-fb/gdkcolor-fb.c:
4737         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4738
4739         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4740         Must set colormap.
4741         
4742 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4743
4744         * docs/tutorial/gtk-tut.sgml: DND updates
4745
4746 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4747
4748         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4749         Remove old debug g_warning().
4750         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4751         or an implementation, just pass the implementation to draw_drawable_2.
4752         
4753         * gdk/linux-fb/gdkprivate-fb.h:
4754         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4755
4756         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4757         clear and invalidate area when window is destroyed.
4758         (send_map_events): Remove old commented out code.
4759
4760 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4761
4762         * gdk/linux-fb/gdkpango-fb.c:
4763         Use italic instead of oblique in font aliases.
4764         
4765         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4766         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4767         other unsupported functions.
4768
4769 2000-12-04  Havoc Pennington  <hp@redhat.com>
4770
4771         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4772
4773         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4774
4775         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4776
4777         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4778         hack to avoid infinite loops (synthetic expose event) - 
4779         Owen has more appropriate fixes in a branch he'll check in later.
4780
4781         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4782         separator, CR, and CRLF as line ends
4783
4784         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4785         into lines using pango_find_paragraph_boundary(); other bits of
4786         the widget are still going to be broken if the boundary isn't '\n'
4787         though
4788
4789 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4790
4791         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4792         multiply.
4793
4794         * gdk/linux-fb/gdkpango-fb.c:
4795         Copied some 26.6 scaling macros from pango to clean up the rounding.
4796         (pango_fb_font_get_glyph_info): Correct sign on x value.
4797
4798         * gdk/linux-fb/gdkprivate-fb.h:
4799         Removed unreferenced external functions.
4800
4801         * modules/linux-fb/Makefile.am: Use ` instead of '.
4802
4803         * modules/linux-fb/basic.c:
4804         Remove dead code. In particular the dummy lang engine which broke all
4805         pango layouts in GtkFB. Don't include tables-big.i anymore.
4806
4807         * modules/linux-fb/tables-big.i:
4808         Upgrade to latest version from pango. Left for reference, basic_ranges
4809         moved to basic.c.
4810         
4811 2000-12-04  Havoc Pennington  <hp@redhat.com>
4812
4813         Fix bugs Alex found:
4814         
4815         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4816         to "draw"
4817
4818         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4819
4820         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4821
4822         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4823         implementation in here, apparently the expose() implementation was
4824         dead code.
4825
4826 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4827
4828         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4829         Return positive descent.
4830
4831 2000-12-02  Havoc Pennington  <hp@pobox.com>
4832
4833         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4834         method and signal
4835         
4836         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4837         calls gdk_window_process_updates() to push the exposes through
4838         (gtk_widget_class_init): No more draw signal, no
4839         gtk_widget_real_draw()  
4840         
4841         * gtk/gtkbin.c (gtk_bin_draw): remove
4842
4843         * gtk/gtkbox.c (gtk_box_draw): remove
4844
4845         * gtk/gtkbutton.c (gtk_button_draw): remove
4846
4847         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4848
4849         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4850
4851         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4852
4853         * gtk/gtkclist.c (gtk_clist_draw): remove
4854
4855         * gtk/gtkentry.c (gtk_entry_draw): remove
4856
4857         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4858
4859         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4860
4861         * gtk/gtkframe.c (gtk_frame_draw): remove
4862
4863         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4864
4865         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4866
4867         * gtk/gtklayout.c (gtk_layout_draw): remove
4868
4869         * gtk/gtklist.c (gtk_list_draw): remove
4870
4871         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4872
4873         * gtk/gtkmenu.c (gtk_menu_draw): remove
4874
4875         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4876
4877         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4878
4879         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4880
4881         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4882
4883         * gtk/gtkpacker.c (gtk_packer_draw): remove
4884
4885         * gtk/gtkrange.c (gtk_range_draw): remove
4886
4887         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4888
4889         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4890
4891         * gtk/gtktable.c (gtk_table_draw): remove
4892
4893         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4894
4895         * gtk/gtktext.c (gtk_text_draw): remove
4896
4897         * gtk/gtktextview.c (gtk_text_view_draw): remove
4898
4899         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4900
4901         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4902
4903         * gtk/gtktree.c (gtk_tree_draw): remove
4904
4905         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4906
4907         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4908
4909         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4910
4911         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4912
4913         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4914
4915         * gtk/gtkwindow.c (gtk_window_draw): remove
4916
4917 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4918
4919         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4920         a GtkToggleButton is both insensitive and active, it was being
4921         drawn by the GtkButton draw handler which doesn't check the
4922         state. Now it's calling gtk_toggle_button_paint instead.
4923         
4924 2000-12-01  Havoc Pennington  <hp@redhat.com>
4925
4926         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4927         dangling pointers to the appearance attributes from the 
4928         line display
4929
4930         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4931         width/height to mean "full width/height of drawable"
4932
4933         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4934         click to select word/line
4935         
4936         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4937         when getting log attrs. Get a slice, so that pixmaps and stuff
4938         are properly handled.
4939
4940         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4941         paste into the selection (replaces selection now, previously
4942         crashed or added to selection). Reveals longstanding btree bug -
4943         select multiple lines, middle-click on the selection, boom. This
4944         isn't related to my changes though.
4945
4946         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4947         PangoLogAttrs changes
4948         (gtk_entry_move_backward_word): ditto
4949
4950         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4951         functions return bool whether the iter moved onto a
4952         dereferenceable position.
4953  
4954         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4955         functions for motion in terms of display lines.
4956
4957         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4958         get the buffer a mark is inside
4959         
4960 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4961
4962         * gdk/linux-fb/Makefile.am:
4963         * modules/linux-fb/Makefile.am:
4964         Freetype 2 final uses freetype-config
4965
4966         * gdk/linux-fb/gdkpango-fb.c:
4967         Upgrade to use Freetype 2 final.
4968         More flexible support for font aliases, this also fixes a bug with
4969         GtkFontSelector, as the aliases must be visible in the font/family list,
4970         or GtkFontSelector reads uninitialized memory.
4971
4972 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4973
4974         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4975         XGetIMValues to properly terminate variable argument list, and do
4976         NULL return check for ic_values and xim_styles.
4977
4978         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4979         Restore preedit state after XmbResetIC().
4980         
4981         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4982         XvaCreateNestedList() should take XvaNestedList, but not
4983         XvaNestedList*.
4984
4985         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4986         preedit_draw_callback, preedit_caret_callback): Match
4987         "preedit-changed" signal name to "preedit_changed" to be
4988         consistent to the spec.
4989
4990         * gtk/gtkimcontextsimple.c (check_table):
4991         Match "preedit-changed" to "preedit_changed" to be consistent
4992         to the spec.
4993
4994 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4995
4996         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4997         gc->clip_region == NULL>
4998
4999 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5000
5001         Changes by Hans Breuer:
5002         
5003         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5004         Dont't use negative width and height as max_hints. This fixes
5005         Owen's recent testgtk changes for win32.
5006
5007         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5008         gdk_win32_hdc_release): These are exported and may be called with
5009         other drawable types than our GdkDrawableImplWin32 (?).
5010
5011         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5012         so always #define USE_BACKING_STORE.
5013
5014         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5015         of printf for debugging output.
5016
5017         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5018         
5019         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5020
5021         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5022         declaration.
5023
5024         * gtk/gtktexttypes.h: Ditto.
5025
5026         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5027         (GDK_VoidSymbol) also if in case of arg check failure.
5028
5029         * gtk/gtkimcontextsimple.c
5030         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5031         position to the pointer, but to the variable it points to.
5032
5033         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5034
5035         * gtk/gtk.def: Updates.
5036
5037 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5038
5039         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5040         GTK_TYPE_TREE_MODEL.
5041
5042 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5043
5044         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5045         Set the size of the font from the description.
5046         (gdk_text_width): Gross hack that calculates the width
5047         of text by text_length * size/2. This is necessary because
5048         GtkLabel does some ugly gtk_string_width call to calculate
5049         an good size.
5050         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5051
5052 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5053
5054         * docs/tutorial/gtk-tut.sgml: DND updates
5055
5056 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5057
5058         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5059         If you pass width or height == 0 to gdk_window_clear_area they
5060         should be calculated from the window size.
5061
5062 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5063
5064         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5065         a grab, but no grab-cursor, use the cursor from the grabbed
5066         window. (gdk_fb_window_send_crossing_events): Send normal
5067         enter/leave notifications if grab and owner_events == TRUE.
5068
5069 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5070
5071         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5072         Do implicit button grabs, even if the window doesn't
5073         want the event.
5074         (gdk_fb_window_send_crossing_events): If there is a
5075         grab, only the grabbed window gets normal enter/leave
5076         notifications. On ungrab go from grabbed window to current.
5077         Don't send any notification to b when propagating from c -> b.
5078         If setting a grab on window, don't set prev_window.
5079         (handle_mouse_input): Send enter/leave events to the window the
5080         mouse is over, not the grabbed one.
5081         
5082 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5083
5084         * gdk/gdkregion-generic.c: Zap warning.
5085         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5086         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5087
5088 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5089
5090         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5091         The cursor should be hidden if it is part of either the
5092         source or destination region. Not only if it is in both.
5093         (gdk_window_set_transient_for): Silence warnings.
5094
5095 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5096
5097         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5098         The default mode in X is Pie Arcs, therefore that is
5099         what Gtk+ uses.
5100
5101 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5102
5103         * gdk/linux-fb/gdkinput-ps2.c:
5104         Implement correct EnterNotify/LeaveNotify:
5105         (gdk_fb_window_send_crossing_events): New function that sends
5106         all GdkCrossingEvents from the last mouse-window to the specified
5107         destination.
5108         (gdk_fb_window_visibility_crossing): Removed function.
5109         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5110         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5111         instead of gdk_window_get_pointer() for better readability.
5112
5113         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5114         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5115
5116         * gdk/linux-fb/gdkprivate-fb.h:
5117         removed gdk_fb_window_visibility_crossing, added
5118         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5119
5120         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5121         New function that finds the least common ancestor of two windows.
5122         (gdk_window_show, gdk_window_hide):
5123         Use gdk_fb_window_send_crossing_events.
5124         (gdk_fb_window_move_resize): Send configure events to toplevel
5125         windows. Use gdk_fb_window_send_crossing_events.
5126
5127 2000-11-27  Havoc Pennington  <hp@redhat.com>
5128
5129         * gtk/gtkprivate.h (enum): Remove a trailing comma
5130
5131 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5132
5133         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5134         the "changed" callback of the adjustment.  We need to redraw the
5135         spin button's arrows when the adjustment's range changes.
5136         (adjustment_changed_cb): Draw the arrows.
5137         (gtk_spin_button_value_changed): Draw the arrows.
5138
5139 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5140
5141         * gdk/linux-fb/gdkselection-fb.c:
5142         Initial selection implementation.
5143
5144         * gtk/gtkselection.c:
5145         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5146         requestor in gtk_selection_request.
5147         
5148         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5149         Added gdk_selection_property atom.
5150
5151         * gdk/linux-fb/gdkprivate-fb.h:
5152         Export _gdk_selection_window_destroyed.
5153         Removed mask_off_x/y from GdkCursorPrivateFB.
5154         Removed hbearing, added top, left to PangoFBGlyphInfo.
5155
5156         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5157         Call _gdk_selection_window_destroyed
5158         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5159         the root window has been created.
5160         (static_dx_hack, static_dy_hack, compare_draw_rects,
5161         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5162         in region. They are already sorted. Instead just traverse them in
5163         reverse if draw_direction < 0.
5164         
5165         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5166         Double-clicks must be sent after the normal button_press.
5167         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5168         
5169         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5170         Pass _gdk_fb_screen_gc instead of NULL.
5171
5172         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5173         Initialize gdk_selection_property.
5174         (gdk_event_make): Remove unused code.
5175
5176         * gdk/linux-fb/gdkcursor-fb.c:
5177         Make the pixmap for the cursor the same size as the mask. Also remove
5178         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5179         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5180         Now the whole cursor is visible.
5181
5182         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5183         Fix bug where xdest+height instead of ydest+height was used
5184         to calculate if the source and dest overlapped. This fixes the
5185         redraw bug when the main window in testgtk was scrolled when
5186         partially covered by a tall window.
5187         Copy rectangles in region in order depending on draw_direction.
5188         Also moved the draw_direction flipping of start_y and end_y into
5189         the gc functions, as this might not be what all of them want.
5190         (gdk_fb_draw_lines): Support dashed lines.
5191         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5192         so that the text is positioned correctly (was 1 pixel high).
5193
5194         gdk/linux-fb/gdkgc-fb.c:
5195         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5196         all lines were drawn a pixel to short. Also checked the default of
5197         the rest of the values, and they're the same as X now.
5198
5199         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5200         Clean up pixel positioning of the glyphs. Just use bgy->top and
5201         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5202         to all divisions to get correct rounding behaviour.
5203
5204         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5205         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5206         Moved start_y/end_y flip into draw_drawable implementations.
5207         Flip also x rendering when draw_direction < 0.
5208         Remove unneccesary multiply with draw_direction.
5209
5210 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5211
5212         * docs/tutorial/gtk-tut.sgml:
5213           - get rid of gtk_toggle_button_toggled FUD
5214           - start DND section - needs work - based on:
5215                 http://wolfpack.twu.net/docs/gtkdnd/
5216
5217 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5218
5219         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5220         Correct calculation of font metrics. Now GtkEntrys have sane
5221         size.
5222
5223 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5224
5225         * gdk/gdktypes.h:
5226         Add new type GdkSpan
5227         
5228         * docs/reference/gdk/gdk-sections.txt,
5229         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5230         gdk/gdkregion.h:
5231         Implement and document gdk_region_spans_intersect_foreach.
5232
5233         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5234         Add new file gdkrender-fb.c which contains all core
5235         rendering code.
5236         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5237         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5238         (optimized rectangle fillers).
5239
5240         * gdk/linux-fb/gdkdrawable-fb2.c:
5241         Move all rendering code to gdkrender-fb.c.
5242         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5243         Use the new span intersection functions in gdk_fb_fill_spans.
5244         gdk_fb_draw_rectangle() clips filled rectangles and calls
5245         gc->fill_rectangle with the result.
5246         gdk_fb_fill_spans() gets extra argument "sorted".
5247
5248         * gdk/linux-fb/gdkevents-fb.c:
5249         Remove unused includes and defines.
5250         New function gdk_fb_get_time() to get correct time for events.
5251
5252         * gdk/linux-fb/gdkinput-ps2.c:
5253         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5254         Make sure to set the time of all events.
5255
5256         * gdk/linux-fb/gdkmain-fb.c:
5257         Use gdk_fb_get_time ().
5258
5259         * gdk/linux-fb/gdkprivate-fb.h:
5260         New virtual GC calls: fill_span & fill_rectangle.
5261         Export gdk_fb_get_time().
5262         gdk_fb_fill_spans() gets extra argument "sorted".
5263
5264         * gdk/linux-fb/mi*.c:
5265         Use GdkSpan instead of GdkRectangle.
5266         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5267         from XFree 4 source)
5268         
5269 2000-11-22    <jrb@redhat.com>
5270
5271         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5272         reversing the order in an if statement will do.  Doing so managed
5273         to make the treemodelsort half work.  Other half will follow after
5274         I get the insert function fully fixed.
5275
5276 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5277         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5278         more than 2 bits. Besides, I need to implement an evil hack. :)
5279
5280 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5281
5282         * docs/tutorial/gtk-tut.sgml: minor corrections
5283
5284 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5285         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5286           convert to and from relative path's and iters.
5287
5288         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5289           testing sorting functions a bit better.  Currently broken -- will
5290           fix in morning.
5291
5292 2000-11-20  Havoc Pennington  <hp@redhat.com>
5293
5294         * gtk/gtkwidget.c: Documented a bunch of functions in here
5295         (gtk_widget_realize): Warn if you try to realize
5296         a widget with no parent that isn't a toplevel
5297         (gtk_widget_intersect): return a gboolean
5298
5299 2000-11-20  Havoc Pennington  <hp@redhat.com>
5300
5301         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5302         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5303         scrolling to be implemented in GDK to finish. Also, right now
5304         we just size_allocate all children on every layout change,
5305         which is pretty lame. Test commented out of testtext.c, 
5306         until it works better.
5307
5308 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5309
5310         * gdk/linux-fb/gdkdrawable-fb2.c:
5311         Removed unused arguments from gdk_fb_drawable_get_pixel().
5312
5313         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5314         Renamed fidur specific mouse packet data in MouseDevice to
5315         generic. Used it in ps2 mouse handling code to avoid blocking
5316         reads.
5317
5318 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5319
5320         * demos/gtk-demo/main.c: Changed to have the list become
5321         non-italic when the demo window is destroyed through an external
5322         event (like a close button).  Doing so found three bugs in the
5323         widget.
5324
5325         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5326
5327         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5328         we actually set the cell.
5329
5330         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5331
5332         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5333         free a leaked path.  Thanks memprof.
5334
5335 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5336
5337         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5338         off-by-one error when destroying allocated segments
5339         on failure. (Elliot)
5340
5341 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5342
5343         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5344         memleaks found by Evan Martin.
5345
5346 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5347
5348         * Released 1.3.2
5349         
5350         * NEWS: Updates for 1.3.2
5351
5352 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5353
5354         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5355         but in general for window system specific events.
5356
5357         * gtk/gtk.def
5358         * gtk/makefile.mingw.in
5359         * gtk/makefile.msc.in: Update.
5360         
5361         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5362
5363 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5364
5365         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5366         distribute gtk.immodules.
5367
5368         * gtk/Makefile.am (install-data-local): Don't install the
5369         gtk.immodules file created for the uninstalled modules;
5370         instead run gtk-query-immodules after install
5371
5372 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5373
5374         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5375         -rpath to the right install location.
5376
5377         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5378         -export-dynamic.
5379
5380         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5381         properly.
5382
5383 2000-11-15  Havoc Pennington  <hp@pobox.com>
5384
5385         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5386         patch from Mikael Hermansson to temporarily stop blinking while
5387         the user is using the keyboard to type or navigate. 
5388
5389         Also, when blinking, stay on for longer than we stay off. Also,
5390         return from start_cursor_blink if !cursor_visible, to save
5391         checking that flag all over the place before we call
5392         start_cursor_blink.
5393
5394 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5395
5396         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5397         only contain a "fontset" line, which is now ignored.
5398
5399         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5400         double-click-to-select-word work.
5401         
5402 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5403
5404         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5405         Don't move back one char when we are actually at the end of the 
5406         paragraph.
5407
5408 2000-11-15  Robert Brady  <robert@suse.co.uk>
5409
5410         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5411         'o' < 'p'.
5412         
5413         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5414         bind_textdomain_codeset.
5415
5416         (gtk_init_check): Make the warning about translating default:LTR
5417         sterner.
5418         
5419 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5420
5421         * **/Makefile.am : remove unecessary rules for win32-specific
5422         config-substituted targets. If you want these rules, use
5423         --enable-maintainer-mode (called automatically by autogen.sh).
5424         Stops a lot of unneccessary make-time warnings.
5425
5426         * gtk/gtktext{layout,display}.c: Factor in total width as
5427         well as screen when figuring alignment for word-wrap as well as
5428         no wrap; this is necessary to handle lines that cannot be wrapped
5429         at all.
5430
5431 2000-11-15  Havoc Pennington  <hp@redhat.com>
5432
5433         * gtk/testtext.c: Implement essential color cycling feature
5434
5435 2000-11-15  Havoc Pennington  <hp@redhat.com>
5436
5437         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5438         when we invalidate the main window.
5439
5440         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5441         GtkTextView will now invalidate the side windows for us when text
5442         changes.
5443
5444 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5445
5446         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5447         unconditionally, since we may need to update the horizontal
5448         scrollbars even if the height didn't change.
5449
5450         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5451         the extra attrs, since some of them affect size.
5452
5453         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5454         x_offset correctly.
5455
5456 2000-11-15  Havoc Pennington  <hp@redhat.com>
5457
5458         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5459         don't move the first line out into the margin, instead move the
5460         whole paragraph in order to make space for the first line within 
5461         the margin
5462
5463 2000-11-15  Havoc Pennington  <hp@redhat.com>
5464
5465         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5466         xoffset in addition to yoffset, so horizontal scrolling doesn't
5467         break redraws
5468
5469 2000-11-15  Havoc Pennington  <hp@redhat.com>
5470
5471         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5472         from the cursor
5473         (render_layout_line): fix reversed test that caused weird
5474         underlines to get drawn
5475
5476 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5477
5478         * gdk/linux-fb/gdkprivate-fb.h:
5479         Fix debug macros.
5480         
5481 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5482
5483         * gdk/linux-fb/gdkprivate-fb.h:
5484         Added virtual functions set_pixel, get_color,
5485         fill_span and draw_drawable to the GC.
5486         Added global _gdk_fb_screen_gc to use instead of
5487         NULL when drawing to the screen.
5488         Added _gdk_fb_gc_calc_state() prototype.
5489
5490         * gdk/linux-fb/gdkgc-fb.c:
5491         Call _gdk_fb_gc_calc_state() on any gc state change.
5492
5493         * gdk/linux-fb/gdkglobals-fb.c:
5494         Add _gdk_fb_screen_gc
5495                 
5496         * gdk/linux-fb/gdkdrawable-fb2.c:
5497         _gdk_fb_gc_calc_state() calculates best functions
5498         for the GC state and depth.
5499         Moved bpp specialized code to separate functions.
5500         Added optimized 24 bpp AA draw_drawable.
5501
5502         * gdk/linux-fb/gdkevents-fb.c:
5503         Silence gcc warning.
5504
5505         * gdk/linux-fb/gdkimage-fb.c:
5506         Use _gdk_fb_screen_gc
5507
5508         * gdk/linux-fb/gdkwindow-fb.c:
5509         Init and use _gdk_fb_screen_gc
5510
5511         * gdk/linux-fb/mitypes.h:
5512         Remove unused types.
5513
5514 2000-11-14  Havoc Pennington  <hp@pobox.com>
5515
5516         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5517         to pixels
5518
5519 2000-11-14  Havoc Pennington  <hp@pobox.com>
5520
5521         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5522
5523         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5524         unknown char, no real reason we were using a variable. 
5525         Remove gtk_text_unknown_char variable. Fix all the text widget
5526         files accordingly.
5527
5528         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5529         since the Unicode spec seems to prefer that character for our
5530         purposes.
5531
5532 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5533
5534         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5535         value of g_getenv() isn't freeable, so g_strdup it.
5536
5537         * modules/input/inuktitut.c: Inuktitut input method.
5538
5539         * modules/input/Makefile.am: Build this.
5540         
5541 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5542
5543         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5544         of gtk programs.
5545
5546 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5547
5548         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5549         reversed > that was causing Home to go to end of previous line.
5550
5551         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5552         modified-keypresses (leave for bindings.)
5553
5554         * modules/input/Makefile.am: Remove useless -export-dynamic
5555         from module LDFLAGS.
5556
5557 2000-11-14  Havoc Pennington  <hp@redhat.com>
5558
5559         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5560         higher.
5561
5562         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5563         account. Also, render rise, underline, background, etc. for
5564         pixbufs as well as text. Also, draw underlines one pixel higher.
5565
5566         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5567         PangoAttribute for the rise, so it gets drawn properly. Also,
5568         add the GtkTextAppearance attribute for pixbuf/widget segments
5569         as well; we should go ahead and have rise, underline, background,
5570         stipple work for those
5571
5572         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5573         Pango
5574
5575 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5576
5577         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5578
5579         * gtk/gtk.def: Update.
5580
5581         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5582         included.
5583         (gtk_rc_get_im_module_file): Use run-time installation directory
5584         on Win32.
5585
5586         * gdk/win32/rc/gdk.rc: Remove.
5587         * gdk/win32/rc/gdk.rc.in: New file.
5588         * gdk/win32/rc/Makefile.am: New file
5589         * gdk/win32/Makefile.am: Corresponding changes.
5590
5591         * gtk/gtk.rc: Remove.
5592         * gtk/gtk-win32.rc.in: New file.
5593         * gtk/Makefile.am: Corresponding changes.
5594
5595         * configure.in: Corresponding changes.
5596
5597         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5598         has a built gtkcompat.h. Developers using CVS code on Win32 can
5599         hand-edit it from gtkcompat.h.in.
5600
5601         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5602         gtkcompat.h from gtkcompat.h.win32.
5603
5604 2000-11-14  Havoc Pennington  <hp@redhat.com>
5605
5606         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5607         to default to GDK_ACTION_MOVE if the drag is within a single
5608         widget. Defaults to GDK_ACTION_COPY between widgets.
5609
5610 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5611
5612         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5613
5614         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5615
5616         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5617         srcdir != builddir
5618
5619         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5620
5621         * configure.in (GTK_VERSION): Up to 1.3.2
5622
5623         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5624         gtkimcontextxim.h
5625
5626         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5627         missing doc comment.
5628
5629 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5630
5631         * modules/linux-fb/basic.c:
5632         Use the glib iconv wrappers.
5633
5634 2000-11-13  Havoc Pennington  <hp@pobox.com>
5635
5636         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5637         still more bugs.
5638
5639         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5640         scroll the GdkWindows before realization.
5641
5642 2000-11-13  Havoc Pennington  <hp@redhat.com>
5643
5644         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5645         where GC didn't always get updated properly
5646
5647         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5648         of fonts instead of setting the entire font
5649
5650         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5651         setting entire font
5652
5653         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5654
5655         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5656         a bunch of individually-settable font attributes. You can still 
5657         use the "font" and "font_desc" args, they just set all the font
5658         attributes at once.
5659
5660 2000-11-13 Elliot Lee <sopwith@redhat.com>
5661
5662         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5663
5664 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5665
5666         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5667         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5668
5669         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5670         work better.
5671
5672 2000-11-13  Havoc Pennington  <hp@redhat.com>
5673
5674         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5675         the module file.
5676
5677         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5678         dest->language
5679
5680         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5681         settings
5682
5683         * gtk/gtktextview.c: Implement object args and setters/getters for
5684         all the aspects of the GtkTextAttributes that are not set from
5685         GtkWidget attributes. This is spacing, justification, margins,
5686         etc.
5687
5688         (gtk_text_view_set_arg)
5689         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5690         args
5691         (gtk_text_view_class_init): Add args for justify, left_margin,
5692         right_margin, indent, and tabs
5693         
5694
5695         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5696         attribute properly
5697
5698         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5699         replace with indent attribute
5700
5701         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5702         PANGO_SCALE
5703
5704         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5705         rearranging code to do that
5706         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5707         i.e. don't subtract the top_margin first, just to keep
5708         all margin-futzing in one place.
5709
5710         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5711
5712         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5713         special case of last line, Pango now handles this itself.
5714         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5715         Y coordinate
5716         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5717         (find_display_line_above): wasn't moving the byte index as it
5718         iterated over lines, so always returned byte 0. Also, port to use
5719         PangoLayoutIter.
5720         (find_display_line_below): same problem as
5721         find_display_line_above. Also, port to use PangoLayoutIter.
5722
5723 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5724
5725         * gdk/linux-fb/*.[ch]:
5726         Massive reindent to gtk+ standard. My hands hurt.
5727
5728         * gdk/linux-fb/gdkcolor-fb.c:
5729         Move GdkColorPrivateFB from inherited to windowing_data
5730
5731         * gdk/linux-fb/gdkcursor-fb.c:
5732         _gdk_cursor_new_from_pixmap made static
5733
5734         * gdk/linux-fb/gdkdnd-fb.c:
5735         GdkDragContextPrivate moved to windowing_data
5736
5737         * gdk/linux-fb/gdkdrawable-fb2.c:
5738         Removed endian.h, use glib endianness macros instead
5739         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5740         and GDK_DRAWABLE_IMPL_FBDATA
5741
5742         * gdk/linux-fb/gdkfont-fb.c:
5743         Add empty gdk_font_load(). Needed for linking of Gtk+.
5744
5745         * gdk/linux-fb/gdkimage-fb.c:
5746         Removed endian.h, use glib endianness macros instead
5747         Moved GdkImagePrivateFB to windowing_data
5748         gdk_image_new_bitmap didn't always allocate enough
5749         memory.
5750
5751         * gdk/linux-fb/gdkinput-ps2.c:
5752         Added semi-working support for MS serial mice.
5753
5754         * gdk/linux-fb/gdkprivate-fb.h:
5755         s/GdkWindowPrivate/GdkWindowObject/
5756         Removed GdkWindowPrivate typedef
5757         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5758         Removed GDK_DRAWABLE_P
5759         Move GdkColorPrivateFB from inherited to windowing_data
5760         Moved GdkImagePrivateFB to windowing_data
5761
5762         * gdk/linux-fb/gdkvisual-fb.c:
5763         Removed some unused debug code.
5764
5765         * gdk/linux-fb/gdkwindow-fb.c:
5766         Use stock cursors instead of including X headers.
5767         s/GdkWindowPrivate/GdkWindowObject/
5768
5769         * gdk/linux-fb/mitypes.h:
5770         Removed unused types.
5771
5772         * modules/linux-fb/basic.c:
5773         Use the pango fribidi wrappers.
5774
5775 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5776
5777         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5778         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5779         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5780         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5781         GEqualFunc where applicable.
5782         
5783         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5784         pango_font_description_equal as changed in pango.
5785         
5786         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5787
5788         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5789
5790         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5791
5792         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5793
5794         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5795
5796         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5797
5798         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5799         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5800
5801         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5802         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5803
5804 2000-11-12  Havoc Pennington  <hp@pobox.com>
5805
5806         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5807         dir to datadir/gtk+-2.0/demo
5808
5809         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5810         sorts of text widget and Pango font bugs. Urgh.
5811
5812         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5813
5814         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5815         tree that you should double click to see the demo. Fix 
5816         types of variables to reflect changed return values from 
5817         GtkTreeStore and GtkTreeViewColumn constructors.
5818
5819         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5820         newly-created buffer to prepare for GObject semantics
5821
5822         * gtk/testtext.c: don't leak the buffer with GObject semantics
5823
5824         * gtk/testtextbuffer.c: ditto
5825         
5826 2000-11-12  Havoc Pennington  <hp@pobox.com>
5827
5828         Rename this testgtk to gtk-demo to avoid confusion, and 
5829         install it so people can use it as a supplement to 
5830         the documentation.
5831         
5832         * demos/gtk-demo: Moved from demos/testgtk
5833
5834         * demos/testgtk: Removed
5835
5836         * configure.in: make Makefile in gtk-demo
5837         
5838         * demos/gtk-demo/Makefile.am: Install sample source to 
5839         datadir/gtk-demo (maybe there's a better place?), and 
5840         rename the binary to gtk-demo
5841         
5842         * demos/gtk-demo/main.c (load_file): Load installed sample
5843         source if source isn't found in pwd.
5844
5845 2000-11-09  Havoc Pennington  <hp@pobox.com>
5846
5847         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5848         argument to set the char displayed when visibility == FALSE
5849         (gtk_entry_create_layout): If !entry->visible, replace 
5850         all chars with the "invisible char"
5851
5852         * gtk/testgtk.c: Test the invisible_char deal
5853         
5854 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5855
5856         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5857         can't get a native font in the right encoding.
5858
5859 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5860
5861         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5862         respectively.
5863
5864 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5865
5866         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5867         Fix warning when moving between paragraphs.
5868
5869         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5870         delete => delete_from_cursor, insert => insert_at_cursor
5871
5872 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5873
5874         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5875
5876         * modules/input/imthai-broken.c: A Thai input method for use if
5877         Thai keys are really generating Latin1 keysyms.
5878
5879         * modules/input/Makefile.am: Build these.
5880
5881 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5882
5883         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5884         g_filename_{to,from}_utf8 now takes an extra parameter.
5885
5886         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5887         strftime into UTF-8.
5888
5889         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5890         calendars.
5891
5892         (gtk_calendar_paint_day_names): Draw day names in the right 
5893         place.
5894         
5895 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5896
5897         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5898         problem with using result of g_get_charset() backwards -
5899         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5900
5901         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5902         negative min_width/height and max_width/height to
5903         mean "requisition"; this allows setting a window
5904         to be user-resizable in only one direction easily.
5905
5906         * gtk/testgtk.c (create_main_window): Remove hard-coded
5907         usize - set a default size in the vertical direction.
5908
5909 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5910
5911         * gtk/gtkrange.c: Add some missing casts. Support 
5912         2 and 3 button clicks on the arrows to mean 
5913         "move by pages" and "jump to end". (Like gtkspinbutton)
5914
5915 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5916
5917         * gdk/win32/makefile.msc : reflect build module changes
5918
5919         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5920         from GdkPixmap*, cast implementation member instead.
5921
5922         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5923         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5924         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5925         more Gdi functions return value checking. 
5926         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5927         GdkImagePrivateWin32 *.
5928
5929         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5930         menus useable again. Add #pragma message to keep reminded on this issue.
5931         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5932         windows. This allows to enable backing store on Win32!
5933
5934         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5935         in drawable is of impl type. Correct specific type checks appropriate.
5936  
5937         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5938         GDK_WINDOW_DESTROYED before allocating new resources.
5939
5940         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5941
5942         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5943         (gdk_window_foreign_new) initialize parent handle.
5944         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5945
5946         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5947         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5948         problems (e.g. main buttons in testgtk). 
5949
5950 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5951
5952         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5953         gtk_widget_activate for GDK_Return.
5954
5955         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5956         of preedit cursor position.
5957
5958 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5959
5960         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5961         static.
5962
5963 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5964
5965         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5966         out support for multiple locales; that simple doesn't
5967         work reliably with current Xlib
5968
5969         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5970         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5971         Add support for positioning the cursor within the preedit string.
5972
5973 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5974
5975         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5976         at XIM input method module.
5977
5978         * gtk/gtktextview.c: Check for bindings after passing
5979         events to im context filter.
5980
5981 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5982
5983         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5984         empty attribute lists properly.
5985
5986 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5987
5988         * gtk/queryimmodules.c (main): Return non-zero exit
5989         status if errors were encountered querying any
5990         modules.
5991
5992         * modules/input/Makefile.am (moduledir): remove
5993         leftover bin program target.
5994
5995         * docs/make-todo: Fix typo in error message.
5996
5997 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5998
5999         * configure.in: Add modules/input/Makefile
6000
6001 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6002
6003         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6004         don't include gtkthemes.h.
6005
6006         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6007         to point
6008
6009         * gtk/Makefile.am: Add new .c and .h files, build 
6010         gtk-query-immodules and use it to create a gtk.immodules
6011         file for use of test programs.
6012
6013         * gtk/gtkpreview.c: remove extra blank line.
6014
6015 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6016
6017         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6018         Add the ability to add extra tables beyond the default
6019         one, and also the ability to have compose sequences 
6020         that are prefixes of other compose sequences. 
6021
6022         * gtk/gtkimcontextsimple.c: Export a preedit string which
6023         consists of possible candidates for keystrokes that have
6024         been entered but not yet committed.
6025
6026         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6027         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6028
6029         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6030         Add a function to add input-method switching menu items
6031         to a menu.
6032
6033         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6034         when switching input methods.
6035
6036         * gtk/gtkimcontextsimple.[ch]: Change the format of
6037         the compose table to allow compose tables of different
6038         lengths / sequence.
6039
6040 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6041
6042         * gtk/gtkimmodule.[ch]: Support routines for loading
6043         GtkIMContext implementations dynamically at runtime.
6044
6045         * modules/input/imcyrillic-translit.c: A sample input
6046         method (based on GtkIMContextSimple with an extra table),
6047         which demonstrates preedit strings and the module
6048         system for input modules
6049
6050         * gtk/queryimmodules.c: Program to query the available
6051         input modules and write the results into a file.
6052          
6053         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6054         extra config options "im_module_file" (cache file for
6055         input method modules), and "im_module_path" - path
6056         to look for modules when generating cache file.
6057
6058         This doesn't scale.
6059
6060 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6061
6062         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6063         generic code from gtkthemes into a new abstraction
6064         GtkModule which has the logic for implementing
6065         a loadable module which implements a number of 
6066         GObject types.
6067
6068 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6069
6070         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6071         a class into an interface  
6072         
6073         * gtk/gtkoldeditable.[ch]: Move the old editable
6074         implementation into here, so legacy widgets can
6075         still rely on the implemenation. GtkOldEditable
6076         exports GtkEditable. Make selection handling
6077         code use new text conversion functions (and
6078         handle UTF-8 as a side-effect). Use GtkClipboard
6079         for CLIPBOARD.
6080
6081         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6082         Adopt to match above changes.
6083
6084         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6085         avoid GtkOldEditable implementation. Restructure
6086         to reduce number of places that modify state directly.
6087         Move to GtkBindingSet. Display the preedit string.
6088         Queue recomputation of PangoLayout and scroll position
6089         to improve effiency of doing complex changes naively.
6090         Add a menu with cut/copy/paste and input method selection.
6091
6092 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6093
6094         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6095         to set preedit string and attributes; display preedit string by
6096         inserting string and attributes at cursor when creating the
6097         GtkTextLineDisplay.
6098
6099         * gtk/gtktextlayout.c: Move all conversions between byte
6100         positions in PangoLayout and GtkTextIter into new functions
6101         line_display_iter_to_index/index_to_iter that properly
6102         handle the preedit string.
6103
6104         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6105         it to return const char * (eventually will end up
6106         as GCONST char *, most likely.)
6107
6108         * gtk/gtktextview.[ch]: Handle the preedit string, call
6109         gtk_im_context_reset() as necessary, add a menu to switch
6110         input methods.
6111         
6112         * gtk/gtktextlayout.[ch]: Remove useless
6113         gtk_text_layout_get_log_attrs() function.
6114
6115 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6116
6117         * gdk/gdk.def
6118         * gtk/gtk.def: Update.
6119
6120         * gdk/win32/*.c: Add last argument to g_type_register_static()
6121         calls.
6122
6123         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6124
6125         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6126         generated by older wheel mouse drivers. Get the correct y
6127         coordinate from WM_MOUSEWHEEL messages.
6128
6129         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6130         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6131         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6132         Debugging functions.
6133
6134         * gdk/win32/gdkprivate-win32.h: Declare them.
6135
6136         * gdk/win32/gdkinput-win32.h: Add declaration for
6137         gdk_input_window_destroy().
6138
6139         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6140
6141 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6142
6143         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6144         function to help handle keeping things in sync.
6145
6146 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6147
6148         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6149         BOXED marshallers.
6150
6151         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6152         (gtk_list_store_class_init): use the new BOXED marshallers.
6153
6154         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6155         new_with_values to new_with_types.
6156         (gtk_tree_store_get_column_type): add this.
6157         (gtk_tree_store_class_init): use the new BOXED marshallers.
6158
6159         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6160         mirror some POINTER marshallers.
6161
6162 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6163
6164         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6165         allow more interesting iterators.  Also, made the lifecycle of
6166         iterators more explicit.
6167
6168         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6169
6170         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6171         types.
6172
6173 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6174
6175         * demos/testgtk/menus.c:
6176         Changes to make the new testgtk compile after
6177         gtk_menu_append was removed.
6178
6179         * gdk/linux-fb/gdkdrawable-fb2.c
6180         (gdk_fb_get_depth, gdk_fb_get_visual,
6181         gdk_drawable_impl_fb_class_init): Implement
6182         these drawable functions. Now GtkImages work again.
6183
6184         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6185
6186         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6187         
6188         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6189         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6190         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6191         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6192
6193 2000-11-08  Havoc Pennington  <hp@pobox.com>
6194
6195         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6196         visible_set args, don't know where these had gone, I thought they
6197         used to be there
6198
6199         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6200         now we can test the feature and see that it's totally broken.
6201
6202 2000-11-08  Havoc Pennington  <hp@pobox.com>
6203
6204         Make DND copy pixbufs and tags when source and target share a 
6205         tag table.
6206         
6207         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6208         in-process GTK_TEXT_BUFFER_CONTENTS target
6209         (gtk_text_view_drag_data_received): Paste from
6210         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6211
6212 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6213
6214         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6215         API changes.
6216
6217         * gtk/gtkmenu.c: Add support for scrolling menus.
6218         Remove gtk_menu_append/prepend/insert, these have been moved to
6219         gtkcompat.h as #defines.
6220
6221         * gtk/gtkcompat.h.in:
6222         Add compatibility #defines for gtk_menu_append/prepend/insert
6223
6224         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6225         GtkMenuPositionFunc gets an extra argument push_in.
6226         gtk_menu_append/prepend/insert removed.
6227         
6228         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6229         positioning behaviour to fit to scrolling menus.
6230
6231         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6232         into menuitem->submeny. That is wrong, and broke torn
6233         off submenus of torn off menus, since they were unrealized
6234         when the first menu was unrealized.
6235
6236         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6237         gtk_menu_shell_select_item() since these need to be overridden in
6238         GtkMenu.
6239
6240         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6241         positioning behaviour to fit to scrolling menus.
6242         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6243         the current item so that it is prelighted when the menu pops up.
6244         This is a workaround to the fact that the menu doesn't get the
6245         initial enter event (due to grabs).
6246
6247         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6248         s/gtk_menu_append/gtk_menu_shell_append/
6249
6250         * gtk/gtknotebook.c:
6251         s/gtk_menu_insert/gtk_menu_shell_insert/
6252
6253         * gtk/testgtk.c (create_menu, create_menus):
6254         Create the first menu with 50 items so that menu scrolling
6255         can be tested.
6256         
6257         
6258         Patch from Jonathan Blandford  <jrb@redhat.com>
6259
6260         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6261         system to handle size requests.  First, we ask what the size of
6262         the toggle is.  Then, when allocating the size, we allocate the
6263         toggle_size first.  This way we can have multiple menu-item
6264         classes w/o needing a seperate class for each.
6265
6266         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6267         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6268
6269         * gtk/gtkcheckmenuitem.c
6270         (gtk_check_menu_item_toggle_size_request): New function to handle
6271         the toggle size-request.
6272
6273 2000-11-07  Havoc Pennington  <hp@redhat.com>
6274
6275         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6276         Half-ass somewhat fix this function, so that scrolling to the
6277         insertion point works. Pango hacking is in the future to really
6278         fix it.
6279
6280         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6281         length of data, no longer used.
6282
6283         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6284         method contents in here, get rid of destroy method
6285         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6286         that were backward. Remove debug spew.
6287         (cut_or_copy): Make the clipboard work with insert_range to
6288         preserve tags and pixbufs, not just the primary selection.
6289
6290 2000-11-07  Havoc Pennington  <hp@redhat.com>
6291
6292         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6293         to gtk_text_mark_get_visible
6294
6295         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6296         bug that was generating an invalid iterator
6297
6298         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6299         ensure_char_offsets() in front of code placing the iter in an
6300         invalid state.
6301
6302         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6303         make override_location arg const
6304         (paste): Replace the selection if we paste into the 
6305         current selection
6306
6307         * gtk/gtkselection.h: Remove "GtkSelectioData"
6308         (struct _GtkSelectionData): move the definition here.
6309
6310         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6311         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6312
6313         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6314
6315         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6316         (gtk_text_buffer_insert_range_interactive): implement
6317         (gtk_text_buffer_get_tags): Remove, replaced by
6318         gtk_text_iter_get_tags()
6319
6320         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6321         limit parameter, to avoid infinite linear scan.
6322         (gtk_text_iter_backward_search): Add search limit
6323         (gtk_text_iter_forward_find_char): Add search limit
6324         (gtk_text_iter_backward_find_char): Add search limit
6325
6326 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6327
6328         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6329         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6330         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6331         gdk/linux-fb/gdkwindow-fb.c:
6332         use g_object_new() instead of g_type_create_instance() which
6333         is a private function for fundamental type implementations.
6334
6335         * gdk/linux-fb/gdkinput-ps2.c:
6336         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6337         instead just store the current modifier state. Add a (somewhat broken)
6338         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6339         Rename exported function gdk_input_ps2_get_mouseinfo to
6340         gdk_input_get_mouseinfo.
6341
6342         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6343         gdk/linux-fb/gdkwindow-fb.c:
6344         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6345         
6346
6347 2000-11-02  Havoc Pennington  <hp@redhat.com>
6348
6349         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6350         use stock buttons. Should be 100% source compatible, appropriate
6351         filesel fields now point to dialog->vbox and dialog->action_area.
6352         On the bizarre side, dialog->action_area and filesel->action_area
6353         are not the same widget.
6354         (gtk_file_selection_init): Put some padding around the selection
6355         entry, so it isn't touching the GtkDialog separator.    
6356
6357         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6358         use stock buttons, etc. Should also be source compatible.
6359         Set the dialog default title in _init not _new().
6360         
6361         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6362         Use stock buttons; don't put a button box inside the existing
6363         dialog button box. Don't bother with push/pop colormap anymore.
6364
6365         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6366         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6367         for message dialog, and necessary for the font selection and color
6368         selection with help and apply buttons.
6369         
6370         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6371         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6372         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6373         between buttons, put less padding around the action area.
6374         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6375         This will also exit the loop if the widget is hidden.
6376         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6377         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6378         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6379         special-case delete event.
6380
6381         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6382         formatting
6383         
6384 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6385
6386         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6387         button to temporarily disable position recording in the
6388         "saved position" test.
6389
6390 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6391
6392         * gtk/gtkthemes.c: added compat code that temporarily implements
6393         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6394         going to be revamped by owen's upcoming GtkModule patches, but
6395         untill then people want gtk to build, right? ;)
6396
6397 2000-11-04  Havoc Pennington  <hp@pobox.com>
6398
6399         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6400         list
6401
6402         * docs/Changes-2.0.txt: Add note about
6403         gtk_container_get_toplevels()
6404
6405         * gtk/gtktextview.h: formatting
6406         
6407         * gtk/gtktextview.c: don't start descriptions with "Returns",
6408         confuses gtk-doc
6409
6410 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6411
6412         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6413         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6414
6415 2000-11-03  Havoc Pennington  <hp@redhat.com>
6416
6417         * gtk/gtktexttagtable.c: Docs
6418         (gtk_text_tag_table_size): return a signed int
6419
6420         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6421         (gtk_text_tag_event): make the event_object a GObject
6422
6423         * gtk/gtktextview.c: Write API docs for all functions.
6424
6425         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6426         for gtk_text_view_get_window_type() called on one of the private
6427         windows.
6428
6429         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6430         directly, call get_buffer() which demand-creates a default
6431         buffer. So gtk_text_view_new() can be used to create a view with a
6432         default buffer in it, if you just want an empty text box users can
6433         put data in. Useful for GUI builders also.
6434
6435 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6436
6437         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6438         the charset encodign portion MUST be in lowercase.
6439         * gtk/gtkrc.az: added file for Azeri language
6440
6441 2000-11-03  Havoc Pennington  <hp@redhat.com>
6442
6443         Get widgets working on the btree/buffer side. Display of them 
6444         still doesn't work.
6445         
6446         * gtk/gtktextview.c: start implementing child widget stuff
6447
6448         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6449
6450         * gtk/gtktextlayout.c: handle embedded widgets
6451
6452         * gtk/gtktextdisplay.c: handle embedded widgets
6453
6454         * gtk/gtktextchild.c: Implement all the child anchor goo
6455
6456         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6457         function
6458
6459         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6460         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6461         creating a child anchor or a pixbuf segment.
6462         (gtk_text_btree_create_child_anchor): new function
6463         (gtk_text_btree_unregister_child_anchor): new function
6464
6465         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6466         allocate_child signal on GtkTextLayout
6467
6468         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6469         values
6470         (gtk_text_iter_get_child_anchor): new function
6471
6472         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6473         default handler for the changed signal, which calls
6474         gtk_text_buffer_set_modified(), instead of just always emitting
6475         changed then calling set_modified() manually. I guess this is
6476         maybe more flexible. It seems logical.
6477
6478 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6479
6480         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6481         now.
6482
6483         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6484
6485 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6486
6487         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6488         been marked static.
6489
6490 2000-11-02  Havoc Pennington  <hp@redhat.com>
6491
6492         * gtk/testgtk.c (create_labels): had a test backward
6493
6494         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6495         fields, so the dest GC ends up with the correct clip origin, 
6496         etc. Fixes a bug where colored labels didn't redraw 
6497         properly.
6498
6499 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6500
6501         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6502         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6503         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6504         Add last argument to t_type_register_static call.
6505         
6506         * gdk/linux-fb/gdkdrawable-fb2.c:
6507         Add last argument to t_type_register_static call.
6508         export the get_image drawable virtual function.
6509
6510         * gdk/linux-fb/gdkimage-fb.c:
6511         Add last argument to t_type_register_static call.
6512         rename gtk_image_get to _gdk_fb_get_image and
6513         export it for use by gdkdrawable-fb2.
6514
6515         * gdk/linux-fb/gdkprivate-fb.h:
6516         export _gdk_fb_get_image.
6517
6518         * gdk/linux-fb/gdkselection-fb.c:
6519         Add new api call stubs.
6520
6521         * gtk/Makefile.am:
6522         Missing ( in linux-fb part.
6523
6524         * modules/linux-fb/Makefile.am:
6525         Must link with gdk_pixbuf or get unresolved symbol.
6526
6527 2000-11-01  Havoc Pennington  <hp@pobox.com>
6528
6529         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6530         GTK_TYPE_TEXT_ITER and BOXED marshallers
6531
6532         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6533
6534         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6535         
6536         * gtk/gtk-boxed.defs: add GtkTextIter
6537
6538         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6539         properly use OBJECT and BOXED
6540
6541 2000-11-01  Havoc Pennington  <hp@redhat.com>
6542
6543         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6544
6545         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6546         before returning it. 
6547         
6548 2000-11-01  Havoc Pennington  <hp@redhat.com>
6549
6550         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6551         Clip the rectangle to be rendered to the drawable, since
6552         get_from_drawable() requires a region within the drawable
6553
6554 2000-11-01  Havoc Pennington  <hp@redhat.com>
6555
6556         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6557         from coordinates.
6558
6559 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6560
6561         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6562         it isn't NULL.
6563
6564 2000-11-01  Havoc Pennington  <hp@pobox.com>
6565
6566         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6567         on a label
6568         (gtk_label_finalize): unref the attr list if any.
6569
6570         * gtk/testgtk.c (create_get_image): close test on second click
6571         (make_message_dialog): close dialog if it exists
6572
6573         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6574
6575         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6576         gdk-pixbuf
6577
6578         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6579         from Pango markup format
6580         (gtk_label_set_markup_with_accel): ditto but with accelerator
6581         parsing
6582
6583         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6584
6585         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6586         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6587         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6588         call gdk_window_get_origin().
6589
6590         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6591         implement GDK_PIXBUF_ALPHA_FULL
6592         
6593 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6594
6595         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6596         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6597         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6598         multiple handlers respectively, instead of only treating the
6599         first handler found (bug reported by owen).
6600
6601 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6602
6603         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6604
6605         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6606
6607         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6608         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6609         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6610
6611         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6612         widget.  Needs writing someday.
6613
6614         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6615         the docs.
6616
6617 2000-10-30  Havoc Pennington  <hp@redhat.com>
6618
6619         * gtk/gtktextview.h, gtk/gtktextview.c:
6620         Rename delete_at_cursor delete_from_cursor, and 
6621         move to move_cursor.
6622
6623 2000-10-30  Havoc Pennington  <hp@redhat.com>
6624
6625         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6626         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6627         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6628         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6629         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6630         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6631         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6632         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6633         gtktexttypes.h, gtktextview.c, gtktextview.h:
6634
6635         Massive reindentation and reformatting. Arg alignment and comments
6636         still need fixing in various places.
6637
6638 2000-10-30  Havoc Pennington  <hp@redhat.com>
6639
6640         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6641         to be named insert_at_cursor and delete_at_cursor so C++ can
6642         handle them.
6643
6644 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6645
6646         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6647         to get a double directory separator in case the home directory
6648         ends with one. This would cause trouble especially on Windows,
6649         where the path will be confused with the syntax for an an UNC
6650         (network share) path \\server\share\path.
6651         (gtk_rc_add_initial_default_files): Ditto.
6652
6653 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6654
6655         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6656
6657         * gtk/gtktextview.c: Use correct marshallers.
6658
6659 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6660
6661         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6662         use new iter stuff, and added all the appropriate signals et al.
6663
6664         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6665         code is internal to gtk only.
6666
6667 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6668
6669         * gtk/gtk.def
6670         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6671         glib-genmarshal etc.
6672
6673 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6674
6675         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6676         parallel builds.
6677
6678 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6679
6680         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6681
6682 2000-10-27  Robert Brady  <robert@suse.co.uk>
6683
6684         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6685         en_GB (British), ia (Interlingua).
6686
6687 2000-10-26  Havoc Pennington  <hp@redhat.com>
6688
6689         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6690
6691         Fixed output of:
6692         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6693         
6694         * gtk/gtktextsegment.c (char_segment_new): rename
6695         (_char_segment_new_from_two_strings): rename
6696         (_toggle_segment_new): rename
6697         
6698         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6699         (make_clipboard_widget): make it static
6700         (text_get_func): static
6701         (text_clear_func): static
6702
6703         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6704         static
6705         (hex_changed): make it static
6706         (hsv_changed): make it static
6707         (opacity_entry_changed): make it static
6708
6709         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6710         (toggle_segment_check_func): rename with _gtk
6711
6712         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6713         (_widget_segment_new): rename
6714         (_widget_segment_add): rename
6715         (_widget_segment_remove): rename
6716         (_widget_segment_ref): rename
6717         (_widget_segment_unref): rename
6718
6719         * gtk/gtktextmark.c (_mark_segment_new): Rename
6720         _gtk_mark_segment_new   
6721
6722 2000-10-26  Havoc Pennington  <hp@redhat.com>
6723
6724         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6725         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6726         types
6727
6728         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6729         marshaller types
6730
6731         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6732         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6733         license on these files.
6734
6735         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6736         work.
6737
6738         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6739         runtime random number different for each tree, instead of 
6740         a constant I made up.
6741
6742 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6743
6744         * gtk/Makefile.am: buncha cleanups, kludged build sources
6745         dependencies with a Makefile: oldest-source-stamp dependancy
6746         for the moment. automake is really fighting us here, with
6747         intentionally not allowing user-defined rules or dependancies
6748         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6749
6750         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6751         to public headers. tehy have a comment stating that they are
6752         "semi-public" aren't included by gtk.h and if enums popup there,
6753         they can be /*< skip >*/-ed.
6754
6755         * gtk/gtktextlayout.h: 
6756         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6757         added LGPL... <SIGH>
6758
6759 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6760
6761         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6762         GtkTreeIter.  Added iterators everywhere.
6763
6764         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6765
6766         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6767
6768         * gtk/gtktreestore.c: Changed to use the iterators.
6769
6770         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6771         iterators tomorrow.
6772
6773         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6774         iterators tomorrow.
6775
6776         * gtk/treestoretest.c: Changed to use iterators.
6777
6778         * demos/testgtk/main.c: Moved to use the new iterator system.
6779
6780 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6781
6782         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6783         localization misbehaviour.
6784
6785         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6786         a useless type without copy/free.
6787
6788         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6789         of GTK_TYPE_CTREE_NODE.
6790
6791 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6792
6793         * gtk/gtksignal.c:
6794         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6795         applicable.
6796
6797         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6798         gtk_selection_data_copy and gtk_selection_data_free
6799         do GtkSelectionData work as params in signals.
6800
6801 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6802
6803         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6804         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6805         couldn't they at least give it a non-standard name?
6806         
6807         * gtk/gtktextlayout.c: arg! yet another implementation of
6808         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6809
6810         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6811         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6812         home. now i know this _is_ a conspiracy.
6813
6814         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6815         ::state-changed.
6816
6817         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6818         (gtk_accel_group_create_add): marshaller signature fixups.
6819
6820         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6821         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6822
6823         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6824         anymore.
6825
6826 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6827
6828         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6829         due to the signal system changes, it wouldn't build currently. to
6830         be fixed soon.
6831
6832         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6833
6834         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6835         so it needs gtk_marshal_VOID__ENUM() instead of
6836         gtk_marshal_NONE__UINT().
6837
6838         * gdk/gdk*.c: adapted type registration functions.
6839
6840         * gtk/gtkbindings.c:
6841         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6842         gone.
6843
6844         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6845
6846         * gtk/gtkobject.c:
6847         (gtk_object_destroy):
6848         (gtk_object_shutdown): fixed recursion guards. basically we have to
6849         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6850         is called during ::destroy, and avoid recursion there.
6851
6852         * gtk/gtktypeutils.c:
6853         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6854         boxed_copy/boxed_free. this needs a more general solution based on a
6855         publically installed code-generator utility.
6856
6857         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6858         glib's gobject has support for that now.
6859         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6860
6861 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6862
6863         * gtk/gtksignal.[hc]:
6864         * gtk/gtkmarshal.[hc]:
6865         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6866         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6867         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6868         care of that.
6869
6870         * *.c: marshaller name fixups.
6871
6872         * gtk/gtkmarshal.list: added a comment briefing the format.
6873
6874 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6875
6876         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6877         compatibility macros here now. more specifically, most of
6878         the API is preserved (yes, _most_, nonwithstanding the
6879         following exceptions listed, the API is stil lHUGE ;)
6880         things that got removed completely:
6881         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6882         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6883         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6884         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6885         gtk_signal_remove_emission_hook().
6886         non-functional functions variants:
6887         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6888         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6889         not supported anymore.
6890         (gtk_signal_compat_matched): new internal function to aid
6891         implementation of the compatibility macros, it  provides
6892         functionality to block/unblock/disconnect handlers based
6893         on func/data.
6894
6895         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6896
6897         * *.c: adaptions to new type registration API signatures.
6898
6899 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6900
6901         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6902
6903 2000-10-25  Robert Brady  <robert@suse.co.uk>
6904
6905         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6906         gdk_property_delete): If window == NULL, assume the root window.
6907         (restoring the behaviour that was in 1.2).
6908         
6909         * gtk/testtext.c (save_buffer): Allow creation of new files when
6910         saving.
6911
6912         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6913         calls to read().
6914
6915 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6916
6917         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6918
6919         * gdk/win32/gdkdrawable-win32.c
6920         * gdk/win32/gdkimage-win32.c
6921         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6922         X11 backend.
6923
6924         * gdk/win32/gdkcc-win32.c
6925         * gdk/win32/gdkcolor-win32.c
6926         * gdk/win32/gdkfont-win32.c
6927         * gdk/win32/gdkinput-win32.c
6928         * gdk/win32/gdkmain-win32.c
6929         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6930
6931 2000-10-24  Havoc Pennington  <hp@redhat.com>
6932
6933         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6934         it a static function
6935
6936         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6937         redraw text when a tag is applied to it.
6938
6939         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6940         (gtk_text_tag_affects_nonsize_appearance): private functions to
6941         see if a tag requires various kinds of redraw/layout to be queued
6942         up.
6943
6944         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6945
6946         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6947         at the start of the buffer, so search works by default
6948
6949         * gtk/gtktextiter.c (lines_match): init match_start always
6950
6951         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6952         function, get iter at a line + a byte index
6953
6954         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6955         to set byte position within a line
6956         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6957
6958 2000-10-23  Havoc Pennington  <hp@redhat.com>
6959
6960         * gtk/testtext.c: Re-enable the "find" dialog
6961
6962         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6963         
6964         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6965         the arguments to gdk_draw_drawable were in the wrong order
6966         (gdk_window_paint_init_bg): This function was ignoring the
6967         init_region, instead of clipping to it, so the entire backing
6968         pixmap was cleared on every begin_paint()
6969         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6970         was in here again, the loop kept using the same GtkWindowPaint
6971         over and over.
6972         (gdk_window_begin_paint_region): Fix a bug where we had two
6973         x_offset instead of x_offset and y_offset
6974
6975         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6976         before we get the image.
6977         (gdk_draw_drawable): get the composite before we draw the drawable.
6978         (gdk_drawable_real_get_composite_drawable): default
6979         get_composite_drawable implementation that returns the drawable 
6980         itself
6981
6982         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6983         get_composite_drawable virtual function
6984
6985         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6986         list-walking bug
6987
6988         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6989         make this work if the source drawable is a GdkDrawableImplX11
6990         instead of a public drawable type. This is really broken; the
6991         problem is that GdkDrawable needs a virtual method get_xid(), but
6992         of course that doesn't work in practice. Enter RTTI.
6993
6994         Also, improve mismatched depth message.
6995
6996         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6997         GdkPixmap
6998
6999         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7000         install _gdk_x11_get_image as our implementation of get_image
7001         
7002         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7003         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7004
7005         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7006         gdk_drawable_get_image
7007
7008         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7009
7010         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7011         get_image
7012
7013         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7014         trailing semicolon after for loop
7015
7016 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7017
7018         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7019         where font_desc for widget's context lagged widget's font_desc by
7020         one step.
7021
7022 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7023
7024         * gdk/win32/gdkgc-win32.c
7025         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7026
7027         * gtk/makefile.mingw.in
7028         * gtk/gtk.def: Updates.
7029
7030         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7031         library.
7032
7033         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7034
7035         * gtk/makefile.msc: Remove
7036
7037         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7038
7039         * gtk/Makefile.am: Add it.
7040
7041         * configure.in: Generate it.
7042
7043         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7044         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7045         something even if not implemented, to satisfy picky MSVC.
7046
7047         Patches by Hans Breuer:
7048         
7049         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7050         SetBkMode() and SetTextAlign() before calling
7051         pango_win32_render().
7052
7053         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7054         Set hcliprgn to NULL after destroying it.
7055         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7056
7057         * gdk/win32/gdkgeometry-win32.c
7058         (_gdk_windowing_window_queue_antiexpose): More effective
7059         implementation.
7060
7061         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7062         depth as default, not the visual's.
7063
7064         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7065         against empty title.
7066
7067         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7068         IMAGE_PRIVATE_DATA.
7069
7070         * gdk/win32/gdkimage-win32.c: Use it.
7071
7072 2000-10-22  Robert Brady  <robert@suse.co.uk>
7073
7074         * configure.in: Check for bind_textdomain_codeset
7075
7076         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7077         present, make use of it.
7078
7079         Add a translatable string "default:LTR" which, if translated
7080         to "default:RTL", will cause the default direction to be
7081         Right-to-Left.
7082
7083         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7084         direction if marked as flippable.
7085
7086         * gtk/gtkhscale.c: Mark widget as flippable.
7087         
7088 2000-10-04  Havoc Pennington  <hp@redhat.com>
7089
7090         * gtk/testgtk.c (create_buttons): create some stock buttons
7091         with the default accel group
7092         (create_image): test some new GtkImage features
7093         (make_message_dialog): test GtkMessageDialog
7094         (create_modal_window): fix someone's bizzarro indentation
7095
7096         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7097         GTK_WIN_POS_CENTER_ON_PARENT. 
7098         Add "destroy with parent" setting, which means the window goes
7099         away with its transient parent.
7100         (gtk_window_get_default_accel_group): get the default accel group
7101         for the window.
7102         (gtk_window_set_destroy_with_parent): set/unset destroy with
7103         parent flag
7104         (gtk_window_read_rcfiles): invalidate icon set caches
7105         after reloading rcfiles 
7106
7107         * gtk/gtkenums.h (GtkWindowPosition): add
7108         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7109         on its parent window when the dialog is mapped for the first time.
7110
7111         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7112         a simple message dialog class
7113         
7114         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7115         handler to emit response signal, and maybe later it would
7116         honor a hide_on_delete flag - though that isn't there yet.
7117         Set border width on the vbox to 2, so we get some padding.      
7118         Use a button box for the action area.
7119         (gtk_dialog_key_press): synthesize a delete event if Esc
7120         is pressed and the GtkWidget key press handler didn't 
7121         handle the escape key.
7122         (gtk_dialog_new_with_buttons): new function creates a dialog
7123         with some default buttons in it.
7124         (gtk_dialog_add_action_widget): add an activatable widget
7125         as a button in the dialog - you can also add a non-activatable
7126         widget by accessing the action area directly.
7127         (gtk_dialog_add_button): add a simple button - stock ID or 
7128         label - to the action area
7129         (gtk_dialog_response): emit response signal
7130         (gtk_dialog_run): block waiting for the dialog, return 
7131         the response. Override normal delete_event behavior, so that 
7132         delete_event does nothing inside gtk_dialog_run().
7133
7134         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7135         emitted when an action widget is clicked or the dialog gets
7136         delete_event
7137
7138         * gtk/gtk.h: add gtkmessagedialog.h
7139
7140         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7141
7142 2000-10-18  Havoc Pennington  <hp@redhat.com>
7143
7144         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7145         where any number of empty lines would get skipped
7146
7147         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7148         edge.
7149
7150         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7151         warning about invalid iterators (explain more thoroughly)
7152         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7153
7154         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7155         big
7156
7157         * demos/*.c: Add error handling
7158
7159         * gtk/gtktextbuffer.c: don't modify const iterators
7160
7161         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7162
7163         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7164         on file load
7165
7166         * gtk/gtkiconfactory.c: Update to reflect addition of error
7167         handling to gdk-pixbuf loaders
7168
7169 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7170
7171         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7172         move to new modularized testgtk.
7173
7174 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7175
7176         * gtk/gtktreeview.c: Draw the arrows correctly.
7177
7178         * gtk/gtktreemodel.c: Added user docs.
7179
7180         * gtk/gtk.h: remove gtktreedatalist.h.
7181
7182         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7183         parent when generating my type.
7184
7185         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7186         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7187
7188 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7189
7190         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7191         GtkTreeModel from object to interface.
7192
7193 2000-10-16  Havoc Pennington  <hp@redhat.com>
7194
7195         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7196         compilation
7197
7198 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7199
7200         * gtk/gtktreeselection.c: Add API documentation to all public
7201         functions.
7202
7203         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7204         functions.
7205
7206 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7207
7208         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7209         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7210         docs to all public functions.
7211
7212         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7213         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7214         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7215         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7216         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7217         issue.
7218
7219 2000-10-14  Robert Brady  <robert@suse.co.uk>
7220
7221         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7222
7223 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7224
7225         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7226         values other then G_TYPE_STRING.
7227         * gtk/gtktreeselection.c: Minor commenting updates.
7228         * gtk/gtktreeview.c: Format updates.
7229
7230 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7231
7232         * README.win32: Update.
7233
7234         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7235         lines that had been deleted by mistake (?).
7236
7237         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7238         also the case fg==white and bg==black (but still not randomly
7239         coloured cursors). Thanks to Wolfgang Sourdeau.
7240
7241         * gdk/win32/*.c: Silence gcc -Wall.
7242
7243         * gtk/gtk.def: Add missing entry points.
7244
7245         Fixes by Hans Breuer:
7246
7247         * gdk/makefile.msc
7248         * gdk/win32/makefile.msc: Update.
7249
7250         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7251         some MSVC thing, presumably), cause breakpoint on failures. Add
7252         GDK_NOR case. Call g_log_set_always_fatal.
7253
7254         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7255         should be pased by reference.
7256         
7257         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7258         
7259         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7260
7261         * gdk/win32/gdkevents-win32.c
7262         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7263
7264         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7265         implementation object.
7266
7267         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7268         not just windows.
7269         
7270         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7271         Use the wrapper object.
7272         
7273 2000-10-06  Havoc Pennington  <hp@redhat.com>
7274
7275         * Makefile.am (SRC_SUBDIRS): contrib subdir
7276
7277         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7278         so it can be used in Xlib version
7279
7280         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7281         tree
7282
7283         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7284         change from 1.0 tree that returns first frame of animation
7285         if the loaded file is an animation.
7286
7287         * contrib: add new directory to hold stuff that comes with GTK+
7288         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7289         
7290         * configure.in: add contrib/*
7291
7292 2000-10-05  Havoc Pennington  <hp@redhat.com>
7293
7294         * demos/testpixbuf-save.c: add pixbuf save test
7295
7296         * demos/Makefile.am: add testpixbuf-save.c
7297
7298 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7299
7300         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7301         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7302         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7303         * gtk/gtktreeselection.[ch]: Replaced
7304         "node_selected"/"node_unselected" signal with "selection_changed"
7305         signal.
7306
7307 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7308
7309         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7310         tree widget.
7311
7312 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7313
7314         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7315         drawing.
7316
7317 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7318
7319         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7320         Move list pointer forwards before removing item from
7321         list. (Crash reported by Salmaso Raffaele)
7322
7323         * gdk/gdkwindow.h: Remove spurious trailing ,
7324
7325         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7326         dependencies on uninstalled libraries, sorry folks.
7327
7328 2000-10-04  Havoc Pennington  <hp@redhat.com>
7329
7330         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7331         gtk/gtkiconfactory.c: Fix copyrights    
7332
7333         * demos/testpixbuf.c: add inline pixbuf test
7334         
7335 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7336
7337         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7338         Add gdk_window_iconify.
7339
7340         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7341         (gdk_window_set_geometry_hints): Add win_gravity
7342         to geometry structure.
7343
7344         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7345         Implement _NET_WM_PING.
7346
7347         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7348         Set _NET_WM_PID on the client leader.
7349
7350         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7351         Handle UTF-8 better.
7352
7353         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7354         UTF-8 better, set _NET_WM_NAME as well. Only set
7355         icon name if it hasn't previously been explicitely 
7356         set.
7357
7358 2000-10-03  Havoc Pennington  <hp@redhat.com>
7359
7360         * gtk/testtextbuffer.c: clean up trailing whitespace,
7361         add extensive tests for tag toggle iteration.
7362         
7363         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7364         distance
7365
7366         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7367         optimize case where the tag root is on level 1
7368         (gtk_text_line_previous_could_contain_tag): attempt to implement
7369         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7370         functionality
7371
7372         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7373         Implement this, though not very efficiently.
7374
7375         * gtk/gtktextiterprivate.h: reformat
7376
7377         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7378         iterator
7379
7380         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7381         this to properly revalidate the iterators.
7382
7383         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7384         properly at the end of the line (and therefore on empty lines)
7385
7386         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7387         maybe we should return a value...
7388
7389 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7390
7391         * config.h.win32: Guard definition of alloca(). glib.h now handles
7392         that.
7393
7394         * gdk/gdk.def
7395         * gtk/gtk.def: Add new entry points.
7396
7397         Changes just to make GTK+ build without errors on Win32. No hope
7398         of it working in its current state, though...:
7399         
7400         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7401         some functions from the X11 backend, just to make GTK+ build.
7402
7403         * gdk/makefile.mingw.in
7404         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7405         number. Add new object files.
7406
7407         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7408         GetMessageTime to get timestamp (where on X11 uses
7409         gdk_x11_get_server_time()).
7410
7411 2000-10-02  Havoc Pennington  <hp@pobox.com>
7412
7413         * gtk/gtktextview.c: text_window_* weren't static and should have
7414         been.
7415         Start work on child widgets; not yet complete, syncing to 
7416         office computer.
7417
7418         * gtk/gtktextchild.h: change this to contain a public interface,
7419         starting work on child interfaces.
7420         * gtk/gtktextchildprivate.h: move private interfaces here
7421
7422         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7423
7424         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7425         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7426         gtk/gtktextmark.c: copyright notices
7427
7428         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7429         internal functions      
7430
7431         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7432         internal function
7433
7434         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7435         Reformatting    
7436
7437 2000-09-30  Havoc Pennington  <hp@pobox.com>
7438
7439         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7440         NULL start/end pointers
7441
7442         * gtk/gtktextbuffer.c: Write some docs
7443         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7444         NULL, so you can just check whether there's a selection.        
7445
7446         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7447         cleanup_line or segments_changed ourselves, it gets done 
7448         in unlink_segment
7449
7450         * gtk/gtktextmark.h:
7451         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7452         
7453         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7454
7455         * gtk/gtktextmark.c: delete some more old Tk cruft
7456
7457         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7458         mark before removing it, so we can emit MARK_DELETED with a valid
7459         pointer.
7460         (gtk_text_buffer_mark_set): hold ref across signal emission
7461
7462         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7463         whining about attempts to delete special marks
7464
7465         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7466         underscore, since it's internal.
7467
7468         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7469         now implemented in terms of iterators in gtktextiter.h
7470
7471         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7472         New function, destructively sets contents of buffer. Also 
7473         a convenient way to clear the buffer by setting text to ""
7474
7475         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7476         multiline string literal
7477
7478         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7479         text changes.
7480
7481         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7482         is not dereferenceable
7483         (gtk_text_iter_forward_lines): fix return value
7484
7485 2000-09-29  Havoc Pennington  <hp@redhat.com>
7486
7487         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7488
7489         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7490         that set border window size to have nicer name
7491         (gtk_text_view_mark_set_handler):  Fix this to have the 
7492         right signature.
7493
7494         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7495
7496         * gtk/testtext.c: Update with API changes, put line numbers on 
7497         both sides.
7498         
7499         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7500         with this
7501
7502         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7503         pixbuf; delete a big block of #if 0 Tk code
7504
7505         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7506         insert_pixmap with insert_pixbuf
7507
7508 2000-09-29  Martin Baulig  <baulig@suse.de>
7509
7510         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7511         confusion with the GdkPixbuf of the GNOME 1.x platform.
7512
7513 2000-09-29  Havoc Pennington  <hp@pobox.com>
7514
7515         * gtk/gtktextview.c: Implement the side windows.
7516
7517         * gtk/testtext.c: Implement simple line numbering in the 
7518         left side window; seems to make scrolling sloooow. Oops.
7519         Also, cursor blink is for some reason causing redraws
7520         of the line numbers. Should investigate...
7521
7522 2000-09-28  Havoc Pennington  <hp@redhat.com>
7523
7524         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7525         scrolling child windows, and draw focus rectangle properly.
7526         
7527         (gtk_text_view_buffer_to_window_coords):
7528         Coordinate transformation to deal with all these freaking windows
7529         and offsets
7530         (gtk_text_view_window_to_buffer_coords): transform the other way
7531
7532         * gtk/testtext.c (create_buffer): Update to match Pango API change
7533
7534         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7535         anonymous tags
7536         (foreach_unref): don't emit remove signal from finalize, just
7537         set tag's parent to NULL
7538
7539 2000-09-26  Havoc Pennington  <hp@redhat.com>
7540
7541         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7542         Fix some warnings       
7543
7544 2000-09-26  Havoc Pennington  <hp@redhat.com>
7545
7546         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7547         headers into the private header list
7548
7549         * Makefile.am (pkgconfig_DATA): install pkg-config files
7550
7551         * configure.in: add pkg-config files
7552
7553         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7554
7555         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7556         outstanding icon caches on theme change.
7557
7558         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7559         important types:
7560
7561         (GtkIconSource): Specification for creating a pixbuf 
7562         appropriate for a direction/state/size triplet from 
7563         a source pixbuf or filename
7564
7565         (GtkIconSet): List of GtkIconSource objects that are used to
7566         create the "same" icon (e.g. an OK button icon), and cache for
7567         rendered icons
7568
7569         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7570         up the icon set for a given stock ID.  GTK maintains a stack of
7571         GtkIconFactory to search, and applications or libraries can add
7572         additional icon factories on top of the stack
7573         
7574         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7575         the set of GtkIconSource specified for a given stock ID into 
7576         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7577         RcStyle, under the specified stock ID.
7578
7579         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7580         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7581         This allows people to theme how prelight, insensitive, etc. are
7582         done.
7583
7584         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7585         icon factories for a style, and return the resulting 
7586         icon set if any.
7587
7588         (gtk_style_render_icon): Render an icon using the render_icon 
7589         method in the GtkStyleClass.
7590
7591         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7592         Use the style for a given widget to look up a stock ID, get the
7593         icon set, and render an icon using the render_icon method 
7594         of the style
7595
7596         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7597         (contains information about a stock item), the built-in stock item
7598         IDs, and functions to add/lookup stock items.
7599
7600         * gtk/stock-icons/*: Stock icons that come with GTK
7601
7602         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7603         a button based on a GtkStockItem
7604         (gtk_button_new_accel): Takes a uline string and accel group, and
7605         installs the accelerator.
7606
7607         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7608         image-display widget.
7609
7610 2000-09-25  Havoc Pennington  <hp@redhat.com>
7611
7612         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7613
7614         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7615         Fix a bug when removing node data, we didn't properly 
7616         re-splice the linked list after removing the data.
7617
7618         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7619         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7620
7621         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7622
7623         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7624         for the layout from the GtkTextTag.
7625
7626         * gtk/gtktexttypes.h: delete tab and search cruft, 
7627         remove g_convert() in favor of GLib version
7628
7629         * gtk/gtktexttypes.c: remove tab implementation from here,
7630         move to Pango
7631
7632         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7633         tab stuff using new PangoTabArray from Pango
7634
7635         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7636         unused border_width stuff
7637
7638 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7639
7640         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7641         glib) and now useless utf_to_latin1() latin1_to_utf()
7642
7643         * gtk/gtktextview.[ch]: Change ::move_insert and
7644         ::delete_text action signals to ::move and ::delete;
7645         create the signals with the right enumeration type,
7646         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7647         C-v bindings, change Home, End to move to beginning/end
7648         of line, Add C-Home C-End to move to beginning/end
7649         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7650         combine ::scroll_text into ::move; use new GtkSelectionData
7651         functions to simplify DND text handling.
7652         
7653         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7654         deletion enumerations here, rename enumeration values to 
7655         be consistently plural.
7656
7657         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7658         for cut/copy/paste and primary selection.
7659
7660         * gtk/gtktextbuffer.[ch]: Remove excess time and
7661         'interactive' arguments from cut/copy/paste;
7662         rename cut to cut_clipboard, etc; remove
7663         gtk_text_buffer_get_clipboard_contents().
7664
7665         * gtk/gtktextlayout.[ch]: Add 
7666         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7667         line ends.
7668
7669         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7670         Functions to set or get a UTF-8 string on the selection
7671         data.
7672
7673         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7674         interfaces.
7675
7676         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7677         created widgets - one of these is useless if we don't.
7678
7679         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7680         a public function clear all targets registered for the
7681         widget.
7682
7683         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7684         Never call gtk_widget_realize() - that was just asking
7685         for bizarre side-effects.
7686
7687         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7688         gdk_selection_owner_set even if the widget is the
7689         same so that we reliably update the timestamp on
7690         the server.
7691
7692         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7693         gdk_x11_get_server_time() function.
7694         
7695         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7696         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7697         Add some tricky filtering on serial numbers for
7698         selection clear events to fix up long-standard
7699         race condition FIXME's in gtkselection.c.
7700
7701         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7702         routines to convert from utf8 to compound text or
7703         STRING and from a text property to UTF-8.
7704
7705         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7706         a convenience function gdk_get_current_event_time().
7707
7708         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7709         and free selection_data->data properly
7710
7711 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7712
7713         * gtk/gtkthemes.c: Remove some unecessary includes.
7714
7715 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7716
7717         * gtk/gtktextdisplay.c
7718         * gtk/gtktextlayout.c
7719         * gtk/gtktexttag.c
7720         * gtk/gtktexttag.h
7721         * gtk/testtext.c: Change the overstrike property to strikethrough,
7722         to closer match pango.
7723
7724 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7725
7726         * gtk/gtktextview.c: Fix up visibility so that focus,
7727         cursor_visible and blink interact properly.  Reenable cursor blink
7728         which had been roughly disabled. Make blink and focus
7729         properly per-view.
7730
7731         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7732         Add a flag for whether to display insertion cursor and
7733         a function to set the flag.
7734
7735         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7736         get_line_y() to get_line_yrange(), to be a bit more generally
7737         useful.
7738
7739 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7740
7741         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7742           do stop_navigating_submenu, to clear last timeout properly.
7743           Also in gtk_menu_motion_notify move ignore_enter above
7744           the conditional to make it always happen as suggested by Owen
7745
7746 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7747
7748         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7749
7750         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7751         w32api headers.
7752
7753         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7754         declarations.
7755
7756         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7757         (gdk_win32_get_colormap): A line had been deleted by mistake.
7758
7759         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7760         (gdk_event_translate): Handle more virtual keycodes to be able to
7761         generate GDK events for Control-comma, Control-period, etc.
7762
7763         * gtk/gtk.def: Add some missing entry points.
7764
7765 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7766
7767         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7768         Doc comment fixing. (Mostly non-matching parameter names.)
7769
7770         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7771         comments a little to avoid looking like a doc comment.
7772
7773         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7774         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7775         conversions be changed to GError?)
7776
7777         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7778         Move private #defines into .c file.
7779
7780         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7781         order of argument addition, remove duplicates.
7782
7783         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7784         parent class is FrameClass, not BinClass.
7785
7786         * gtk/gtk.h: Add gtkinvisible, which was missing.
7787         (It's occasionalyl useful for client apps, if seldom.)
7788
7789         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7790         #define.
7791
7792 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7793
7794         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7795         coordinates when creating window, instead of GDK-space
7796         coordinates. (Avoid BadValue on too large windows.)
7797
7798 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7799
7800         * configure.in (use_mmx_asm): Remove conftest* after use along the
7801         lines of AC_TRY_COMPILE.        
7802         
7803         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7804         of g_dirname, which is deprecated.
7805         (gtk_rc_parse_any): Removed calls to
7806         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7807
7808         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7809         Removed calls to g_hash_table_{freeze,thaw}, as they are
7810         deprecated now.
7811
7812         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7813         instead of g_basename.
7814         
7815 2000-09-04 Elliot Lee <sopwith@redhat.com>
7816         
7817         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7818         ANSI warning.
7819
7820 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7821
7822         * gtk/gtkwidget.h:  Add some documenting comments about 
7823           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7824           just as owen said on irc.
7825
7826         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7827           set HAS_DEFAULT.  Only set it if there isn't another window
7828           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7829           it if the widget is not the focused window with RECEIVES_DEFAULT.
7830           This fixes weird double default bugs in dialogs which has things
7831           call gtk_window_set_default at times.
7832
7833 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7834
7835         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7836         Nils Barth and David Santiago to improve submenu
7837         navigation. The patch does this by creating a triangular
7838         region from the point where the pointer leaves the
7839         menu to the submenu.  While the pointer is in
7840         that region and a timeout has not expired, events 
7841         that would cause the active submenu to change are
7842         ignored.
7843
7844 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7845
7846         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7847         moving a toplevel window immediately after sizing it would
7848         result in it being sized back to the old size since 
7849         impl->width, impl->height aren't updated until we hear
7850         back from the server. There is still a (longstanding) bug
7851         here that gdk_window_get_size() will give the wrong size
7852         until we do hear back.
7853
7854 2000-08-31  Havoc Pennington  <hp@redhat.com>
7855
7856         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7857         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7858         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7859         Rename GtkTextStyleValues to GtkTextAttributes
7860
7861 2000-08-31  Havoc Pennington  <hp@pobox.com>
7862
7863         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7864         for rapid testing whether an iterator is the end iterator
7865         (gtk_text_btree_new): init end line cache
7866         (gtk_text_line_is_last): use fast cached line to 
7867         see if we're the last line.
7868         (get_last_line): use cached line here too, should 
7869         speed up some random unrelated code.
7870         
7871 2000-08-30  Havoc Pennington  <hp@pobox.com>
7872
7873         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7874         signals.
7875
7876         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7877         delete_text signals. This allows the signals to be used for
7878         implementing undo.
7879
7880         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7881         provide "interactive" argument when emitting insert_text or
7882         delete_text signal.
7883         
7884 2000-08-30  Havoc Pennington  <hp@pobox.com>
7885
7886         * gtk/gtktextbuffer.c: Docs
7887
7888 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7889
7890         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7891         from switch statements, since Tor removed the enumeration
7892         value.
7893         
7894         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7895         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7896
7897 2000-08-29 Elliot Lee <sopwith@redhat.com>
7898         * */*.h: Use G_GNUC_CONST.
7899
7900 2000-08-27  Havoc Pennington  <hp@pobox.com>
7901
7902         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7903         minor indentation fixes, inserted some FIXME about stuff I
7904         realized was broken while documenting it.
7905         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7906         GTK convention  
7907
7908 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7909
7910         * gtk/testgtk.c (create_styles): Fix double free of
7911         font desc.
7912
7913 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7914
7915         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7916         
7917         * gtk/testgtk.c (create_styles): Add a test for modifying
7918         the style through gtk_widget_modify_*.
7919
7920         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7921         a function to get the current modifier style.
7922
7923         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7924         of the passed in GtkRcStyle instead of ref'ing it.
7925
7926         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7927
7928 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7929
7930         * gdk/gdkimage.h
7931         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7932         shared memory image+pixmap GdkImage type, or
7933         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7934         I am dropping that.
7935
7936         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7937         actually call gtk_init_abi_check(), passing also
7938         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7939
7940         * gtk/gtk.def
7941         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7942         New functions, used to check that the GTK+-using code has been
7943         compiled using the correct compiler and switches. In particular,
7944         with gcc one has to use the -fnative-struct switch as GTK+ is
7945         compiled with that.
7946
7947 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7948
7949         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7950         ->prev fields when merging lists. (Found simultaneously
7951         by Pawel Salek and Jakub Jelinek)
7952
7953 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7954
7955         * gdk/gdk.def
7956         * gtk/gtk.def: Add missing entries.
7957
7958         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7959         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7960
7961         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7962         function. Dummy implementation at this point.
7963
7964         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7965         rules. Undefine GTK_COMPILATION when compiling the test programs.
7966         
7967         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7968
7969 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7970
7971         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7972         to convert back and forth from UTF-8 and the "system" (or "current
7973         locale") charset when necessary. Indentation/spacing cleanup.
7974
7975 2000-08-10  Havoc Pennington  <hp@redhat.com>
7976
7977         * Makefile.am (snapshot): Change the format of the snapshot
7978         version to match glib
7979
7980         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7981         from EXTRA_DIST since it doesn't seem to exist
7982
7983 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7984
7985         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7986         version of the directory name (not the UTF-8 one) when building
7987         the path name to stat().
7988
7989 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7990
7991         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7992         PANGO_ATTR_SHAPE set.
7993
7994 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7995
7996         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7997         Peter Osterlund to simplify the code while keeping the
7998         functionality the same.
7999
8000 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8001
8002         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8003         is_viewable() test further inside the function, since removing the 
8004         window from the redraw list without clearing ->update_area
8005         was also very broken.
8006
8007 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8008
8009         * configure.in: Check for <unistd.h>.
8010
8011 2000-08-01  Martin Baulig  <baulig@suse.de>
8012
8013         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8014         to display the message that this is a development version of GTK+.
8015
8016 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8017
8018         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8019         was depending on widget->allocation instead of the width of text_area,
8020         which was incorrect for subclasses like GtkSpinButton.
8021
8022         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8023         with width == 1 tests that should be width == -1.
8024
8025 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8026
8027         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8028         (broken, Elliot, every single window blank on X) custom code with call
8029         to gdk_window_is_viewable() which a) prevents code duplicate and
8030         b) works. 
8031
8032 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8033
8034         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8035         to get the GDK_PARENT_ROOT() macro to work.
8036         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8037         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8038         of, windows that aren't shown.
8039         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8040         pointer grab stuff.
8041
8042 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8043
8044         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8045           s/gtk_main_iteration/g_main_iteration/
8046
8047           Did this already in change:
8048                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8049           don't know how it got reverted.
8050
8051 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8052
8053         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8054         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8055
8056         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8057         not gdk_pixbuf.
8058
8059 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8060
8061         * configure.in,po/{sp,sr}.po: Added Serbian files
8062
8063 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8064
8065         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8066
8067         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8068         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8069         GIOChannel implementation.
8070
8071         * gdk/win32/gdkinput.c
8072         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8073
8074         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8075         definition to match prototype.
8076
8077         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8078
8079 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8080
8081         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8082         function, to allow handling image formats that cannot be detected
8083         by looking at content alone.
8084
8085 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8086
8087         * docs/tutorial/*.gif *.jpg *.eps
8088           Update these to the same look-n-feel.
8089           Why does including images in DocBook suck so badly?
8090
8091 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8092
8093         * gtk/gtktable.c: applied patch from Phil Thompson
8094         <phil@river-bank.demon.co.uk> that enables space settings for
8095         the last row/columns as well.
8096
8097 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8098
8099         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8100         updates the license headers to the GNU Lesser General Public License,
8101         as well as updating the copyright year to 2000.
8102
8103 2000-07-26  Robert Brady  <rwb197@zepler.org>
8104
8105         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8106           and po/Makefile, was installing and looking for them under gtk20
8107           and gtk2 respectively.
8108
8109 2000-07-25  Havoc Pennington  <hp@redhat.com>
8110
8111         * gtk/testtext.c: Comment out some stuff that depends on the rest
8112         of my patches.
8113
8114 2000-07-25  Havoc Pennington  <hp@redhat.com>
8115
8116         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8117         buffer
8118
8119 2000-07-25  Havoc Pennington  <hp@redhat.com>
8120
8121         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8122         widget changes.
8123
8124         * gtk/gtktextview.h: To be consistent with usage of "line"
8125         throughout the API to mean "newline-terminated thingy", change
8126         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8127         to MOVEMENT_LINE.
8128
8129         (GtkTextView): Add flags for default editability, and whether to
8130         show the cursor. Add functions to get/set that. Add 
8131
8132         (gtk_text_view_get_iter_location): new function
8133
8134         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8135         gtktextlayout.h
8136         (g_convert): Add g_convert temporarily, will go in glib in a bit
8137         
8138         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8139         GtkTextTagTableForeach instead of brokenly using GHFunc.
8140         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8141
8142         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8143         moved to public header.
8144
8145         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8146         "invisible", since "elide" was a bad name.
8147         (gtk_text_tag_get_priority): Added
8148
8149         (GtkTextStyleValues): put this in public header, along with
8150         functions to use it.
8151
8152         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8153         longer include gtktextbtree.h.
8154
8155         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8156         gtk_text_mark_deleted
8157
8158         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8159         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8160         to make this possible. Now we only need to install
8161         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8162         (However the Makefile.am isn't changed yet because of the
8163         logistics of merging gtk-hp-patches piecemeal)
8164
8165         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8166         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8167         gtk_text_iter_get_line is now used in the public API for a
8168         different purpose.
8169
8170         * gtk/gtktextiter.h: Clean up function names to be more
8171         consistent. Always call char offset "offset" and byte index
8172         "index". A "line" is always a line number. 
8173
8174         (gtk_text_iter_is_last): new function, more efficient than 
8175         the existing way to check
8176         (gtk_text_iter_is_first): new function, also more efficient
8177
8178         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8179
8180         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8181         gtk_text_iter_forward_char, etc.
8182
8183         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8184         forward_find_tag_toggle, since this isn't a linear search
8185
8186         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8187
8188         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8189         New functions, search for a buffer substring.
8190
8191         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8192         interactive and default editable (since we need to store that info
8193         until we receive the selection data).
8194
8195         Remove all the _at_char and at_line etc. versions of functions;
8196         only have iterator versions.
8197
8198         Add _interactive() versions of functions, that consider the
8199         editability of text. (FIXME add interactive flag to the 
8200         insert/delete signals per Darin's suggestion)
8201
8202         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8203         tag table if necessary
8204
8205         Remove declaration of gtk_text_buffer_get_iter_from_string
8206
8207         (_gtk_text_buffer_get_btree): private/internal function, added.
8208         
8209
8210         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8211         (gtk_text_line_is_last): new function
8212
8213 2000-07-25  Havoc Pennington  <hp@redhat.com>
8214
8215         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8216         using GtkProgressBar. See Changes-2.0.txt for details.
8217
8218         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8219         "pulse_step" which are the equivalent of
8220         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8221         Implement new API.
8222         
8223         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8224         (use_text_format) to mark whether text set on the progress bar is
8225         a format string. Deprecate entire GtkProgress interface.
8226
8227         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8228         (gtk_progress_build_string): make this a no-op if use_text_format
8229         is FALSE
8230
8231         * docs/Changes-2.0.txt: Describe progress bar changes.
8232
8233 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8234
8235         * Makefile.am: Include the build directory.
8236
8237         * configure.in: Generate build/Makefile, build/win32/Makefile,
8238         gdk/, gdk/win32/, and gtk/makefile.mingw.
8239
8240         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8241         Add GETTEXT_PACKAGE.
8242         
8243         * gdk/gdk.def
8244         * gtk/gtk.def: Updates.
8245
8246         * gdk/gdkfont.h
8247         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8248         need them any longer.
8249
8250         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8251
8252         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8253         PANGOWIN32_LIBS and gdk_pixbuf.
8254
8255         * gdk/win32: Compiles, but no doubt doesn't work at all.
8256
8257         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8258
8259         * gdk/win32/gdkinput.c: New file, temporarily.
8260         
8261         * gdk/win32/gdkinput-win32.h: New file
8262
8263         * gdk/win32/gdkinputprivate.h: Remove.
8264
8265         * gdk/win32/gdkpango-win32.c: New file.
8266
8267         * gtk/makefile.mingw.in: New file
8268
8269         * gtk/makefile.cygwin: Removed
8270         
8271         * gtk/Makefile.am: Update accordingly.
8272
8273         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8274         made externally visible.
8275
8276         * gtk/gtkmain.c: Use it.
8277         
8278         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8279         is enough.
8280
8281         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8282
8283 2000-07-24 Elliot Lee <sopwith@redhat.com>
8284         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8285         individual backends already.
8286         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8287         again. Yes, there really is a good reason for this, if you are using the gdkregion
8288         internals, and if you're not, why do you care?
8289         * gdk/gdkwindow.c: Fix inverted condition
8290         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8291         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8292         * gtk/gtkrange.c: Redraw trough when moving.
8293         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8294         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8295
8296 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8297
8298         * configure.in: Check for mkstemp and sigsetjmp. Output
8299         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8300
8301         More work on GDK for Win32. Still in an intermediate state.
8302
8303         * gdk/makefile.cygwin
8304         * gdk/win32/makefile.cygwin: Removed.
8305         
8306         * gdk/makefile.mingw.in
8307         * gdk/win32/makefile.mingw.in: New files.
8308
8309         * gdk/Makefile.am
8310         * gdk/win32/Makefile.am: Generate and distribute them.
8311
8312         * gdk/win32/gdkwindow-win32.h
8313         * gdk/win32/gdkdrawable-win32.h
8314         * gdk/win32/gdkpixmap-win32.h: New files.
8315
8316         * gdk/win32/gdkcolor-win32.c
8317         * gdk/win32/gdkcursor-win32.c
8318         * gdk/win32/gdkdrawable-win32.c
8319         * gdk/win32/gdkgc-win32.c
8320         * gdk/win32/gdkimage-win32.c
8321         * gdk/win32/gdkprivate-win32.h
8322         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8323         Rename fields and variables called xcursor, xid, etc (these names
8324         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8325
8326 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8327
8328         * gtk/gtkentry.[ch]: Fix some problems with vertical
8329         alignment.
8330
8331         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8332         char/byte confusion.
8333
8334 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8335
8336         * gtk/gtktextview.c (changed_handler): Fix bug where
8337         redraw wasn't being done properly when height of
8338         dirty region changed.
8339
8340         * demos/Makefile.am: Remove various references to
8341         -lgmodule
8342
8343 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8344
8345         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8346         PangoAttrShape to reserve space for pixmaps, add 
8347         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8348         in the display functions.
8349         
8350         * gtk/testgtk.c (create_layout): Set some more exotic
8351         scrolled window options
8352
8353         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8354         Add function to set the shadow type of a window, to allow
8355         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8356         which don't draw their own frame.
8357
8358 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8359
8360         * docs/tutorial/package-db-tutorial.sh: New file for
8361           packaging DocBook format tutorial
8362
8363 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8364
8365         * docs/tutorial/gtk-tut.sgml: Minor updates
8366
8367         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8368
8369 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8370
8371         * gtk/gtksignal.c: Fix C++ comment.
8372
8373         * gtk/gtkimmulticontext.c
8374         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8375         don't return value from void functions.
8376
8377         * gtk/gtk.def: Add gtk_rc_style_unref.
8378
8379 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8380
8381         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8382         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8383         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8384         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8385         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8386         gtk/gtktypeutils.h: Include files outside of the extern "C"
8387         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8388         <vakatov@peony.nlm.nih.gov>.
8389
8390 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8391
8392         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8393           Completes first pass. Hurrah!
8394
8395 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8396
8397         * docs/tutorial/gtk-tut.sgml: More clean ups.
8398
8399 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8400
8401         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8402         paint the background of the text area which was accidentally
8403         removed at some point.
8404
8405         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8406           
8407          - Move most of the functionality from the theme vtable
8408            into GtkRcStyleClass and GtkStyleClass. The moved
8409            vtable functions were changed a bit in the move to
8410            work better in their new home.
8411
8412          - Get rid of the engine and engine_data fields from
8413            GtkRcStyle and GtkStyle; instead the theme
8414            engine derives theme-specific subclasses of GtkRcStyle
8415            and GtkStyle
8416
8417          - Add extra dlsym() found entry point to themes,
8418            theme_create_rc_style().
8419
8420         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8421         in gtk_style_real_copy.
8422
8423         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8424         to register a type associated with an engine. (The engine
8425         won't be unloaded as there is an instance of the type.)
8426
8427
8428 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8429
8430         * docs/tutorial/gtk-tut.sgml: Clean ups.
8431
8432 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8433
8434         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8435           of cleaning up to do.
8436
8437 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8438
8439         * gdk/testgdk.c: New file, quick hack to test backends for
8440         pixel-by-pixel correctness of the most simple graphic operations.
8441
8442 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8443
8444         * Really release 1.3.1
8445         
8446         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8447         include structure.
8448
8449 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8450
8451         * Released 1.3.1
8452
8453 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8454
8455         * gtk/gtktextlayout.c: use FALSE for size_only most
8456         of the time when calling gtk_text_layout_get_line_display()
8457         to avoid causing double reshapes when a redraw follows
8458         immediately after.
8459
8460 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8461
8462         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8463         appropriate region and gdk_window_process_updates() so trough
8464         updating doesn't lag behind the window being scrolled.
8465
8466         * gdk/gdkgc.c: Make parent_class pointer static.
8467          
8468 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8469
8470         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8471         include <string.h>.
8472          
8473         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8474         cut-and-paste error in computing memory offset for 4 channels.
8475
8476 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8477
8478         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8479         gtk_rc_append_default_pixmap_path(), since it wasn't
8480         adding an interesting path and we don't have a meaningful
8481         default for this value.
8482
8483 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8484
8485         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8486         gtk-config to gtk-config-2.0 move gtk_.m4 to
8487         gtk-2.0.m4
8488
8489         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8490         gdk/Makefile.am demos/Makefile.am: Change 
8491         library names to libgtk-1.3.la, etc, so that we
8492         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8493
8494         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8495         gdk/Makefile.am gdk/x11/Makfile.am
8496         Move include files into /usr/include/gtk-2.0, 
8497         /usr/lib/gtk-2.0/include/
8498          
8499         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8500         gtk/gtkintl.h: Change package for gettext from 
8501         gtk+ to gtk20. Put hack in autogen.sh to modify
8502         po/Makefile.in.in after gettextize to make this
8503         possible.
8504
8505         * gtk+.spec: Some updates, not tested.
8506
8507         * gdk-pixbuf/Makefile.am: Move loaders into
8508         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8509
8510         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8511         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8512         to THEMENAME/gtk-2.0/. Move engine directory  to
8513         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8514         
8515 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8516
8517         Win32 changes, still doesn't build though.
8518
8519         * gdk/makefile.cygwin
8520         * gdk/win32/makefile.cygwin
8521         * gtk/makefile.cygwin: Updates.
8522
8523         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8524         default values for fg and bg pixel as X11 does (0 and 1), not
8525         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8526         Use 0 for pen width by default (treated as 1 anyway later, but for
8527         apps that might check the value in the GdkGC).
8528         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8529         interface to gdk_gc_predraw and _postdraw.
8530
8531         * gdk/win32/gdkwin32.h
8532         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8533
8534         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8535         extraneous semicolon.
8536
8537         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8538
8539         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8540         not the Win32 bitspixel value.
8541
8542         * gdk/win32/gdkcc-win32.c:
8543         * gdk/win32/gdkcolor-win32.c 
8544         * gdk/win32/gdkprivate-win32.h
8545         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8546         GDK object structure.
8547
8548 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8549
8550         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8551         * docs/tutorial/gtk_tut_it.sgml (name): 
8552         * docs/tutorial/gtk_tut_fr.sgml (name): 
8553         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8554         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8555
8556 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8557
8558         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8559           small changes.
8560
8561 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8562
8563         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8564         a bug here, never been here and never fixed anything ;(
8565         (don't segfault if tree->root_tree is NULL, which happens prior
8566         to widget realization, but puke instead).
8567
8568 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8569
8570         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8571         add the necessary tokens.
8572
8573         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8574         (gtk_rc_style_to_style): copy thicknesses.
8575         (gtk_rc_init_style): apply thicknesses.
8576         (gtk_rc_parse_style): parse xthickness and ythickness.
8577
8578         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8579
8580         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8581         (gdk_window_new): 
8582         (_gdk_windowing_window_init): 
8583         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8584         (gdk_pixmap_create_from_data): 
8585         (gdk_bitmap_create_from_data): 
8586         (gdk_pixmap_new): 
8587         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8588         (gdk_image_new): 
8589         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8590         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8591         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8592         (gdk_colormap_get_system): 
8593         (gdk_colormap_new): 
8594         * gdk/gdkwindow.c (gdk_window_init): 
8595         * gtk/gtkstyle.c (gtk_style_new):
8596         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8597         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8598         * gtk/gtkrc.c (gtk_rc_style_new):
8599         use g_object_new() instead of g_type_create_instance() which
8600         is a private function for fundamental type implementations.
8601
8602 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8603
8604         * configure.in: Add check for db2html
8605
8606 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8607
8608         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8609         hack to set glib_debug_objects based on gtk_debug_flags.
8610
8611 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8612
8613         * INSTALL.in: Update the Prerequisites section.
8614
8615         * Makefile.am demos/Makefile.am docs/Makefile.am
8616         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8617         gdk/linux-fb/Makefile.am: Dist fixes
8618
8619 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8620
8621         * NEWS: 10,000 foot view of 1.3.1 changes.
8622
8623 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8624
8625         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8626         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8627         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8628         gdk/x11/gdkmain-x11.c: 
8629
8630         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8631         as a return value of gdk_*_grab(). Previously, we just
8632         returned the X11 values directly.
8633
8634 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8635
8636         * gdk/x11/Makefile.am: Patch from George Lebl to 
8637         install all the headers in the right place.
8638
8639 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8640
8641         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8642           initial conversion to DocBook.
8643
8644 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8645
8646         * README.win32: Improve a bit.
8647
8648         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8649         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8650         Alt+0nnn on the numpad (used to enter characters by numeric code
8651         from current DOS or ANSI codepage) working correctly, as in other
8652         Windows apps.
8653
8654         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8655         same argument validity tests as in X11 version.
8656         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8657
8658         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8659         definitions in case missing from headers.
8660
8661         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8662         destroy the window-specific cursor.
8663         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8664         calling GetModuleHandle(NULL).
8665         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8666         with CopyCursor before setting it as the window-specific
8667         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8668         also its Windows cursor) after calling this function. Destroy any
8669         previous window-specific cursor.
8670
8671 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8672
8673         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8674         font charset is iso8859-1, not iso-8859-1.
8675
8676 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8677
8678         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8679         Use g_get_charset() instead of g_get_codeset().
8680
8681         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8682         Comment out some strdup'ing functions to keep timj
8683         happy until we finish fighting this out.
8684
8685 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8686
8687         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8688         <= width or height.
8689
8690         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8691         from 1.2 for parent/child states.
8692
8693         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8694         of typos.
8695
8696         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8697         event structures, replace with a generic axes field. Replace 
8698         deviceid/sourec with GdkDevice *device.
8699
8700         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8701         to extract particular axis use value from event. (Also
8702         can be used for normal X/Y.)
8703
8704         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8705         allow for arbitrary number of axes, namespace everything
8706         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8707         everywhere.
8708
8709         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8710         Get rid of the gdk_input_vtable setup if favor of simply
8711         defining the functions in gdkinput-none/gxi/xfree.c in
8712         a similar fashion to the way that the port structure is 
8713         done.
8714
8715         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8716         for new event structures. 
8717
8718         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8719         new device interfaces.
8720
8721 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8722
8723         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8724         set the initial text.
8725
8726         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8727         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8728         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8729         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8730
8731         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8732         pango_layout_set_font_description to simplify.
8733
8734 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8735
8736         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8737         pango_layout_set_font_description to simplify.
8738
8739 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8740
8741         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8742         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8743         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8744
8745         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8746         PANGO_PIXELS() macro.
8747
8748 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8749
8750         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8751         that returns a PangoContext owned by the widget and updated to
8752         match future changes in the widget. Also, make 
8753         gtk_widget_create_pango_layout() use this context. If we ever
8754         add a ::changed signal to PangoContext, this will make things
8755         much more convenient. 
8756
8757         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8758         in the appropriate places instead of destroying the layouts and
8759         creating new ones.
8760
8761         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8762         in a few strategic places.
8763
8764 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8765
8766         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8767         gtk_widget_size_request() on reparented child, if one. Otherwise,
8768         queue_resize() on the child never results in it getting size-requested
8769         at all.
8770
8771         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8772         in option menus, so that (with luck) people won't copy it into
8773         their apps in the future.
8774
8775         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8776         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8777         a lot of problems with changing the size of the menu's menu
8778         items after adding it to the option menu.
8779
8780         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8781
8782         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8783         the text direction for a widget changes.
8784
8785         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8786         ::direction_changed to get rid of various hacks.
8787
8788 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8789
8790         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8791         name.
8792
8793 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8794
8795         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8796         flag to the structure. Do not call XFreePixmap on pixmaps created
8797         by gdk_pixmap_foreign_new().
8798
8799 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8800
8801         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8802         value using GdkRGB functionality given GdkColormap and GdkColor.
8803         (name not final, waiting for inspiration.)
8804         
8805         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8806         set the foreground/background of a GC using the GC's colormap
8807         and GdkRGB. (name not final, waiting for inspiration.)
8808
8809         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8810         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8811
8812         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8813         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8814         purely a function of the corresponding colormap. Make
8815         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8816
8817         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8818         gdk_pixbuf_*create_from_xpm_* in terms of
8819         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8820         code.
8821
8822         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8823         advantage of the new draw_rgb_32_image_dithalign.
8824
8825         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8826
8827         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8828         on each created GC.
8829
8830         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8831
8832         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8833         which we initialize from the drawable when the GC is created,
8834         if the drawable has a colormap.
8835
8836         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8837
8838         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8839
8840         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8841
8842 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8843
8844         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8845         actually returning expose events, make sure to set
8846         the count field properly.
8847
8848         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8849         accidentally reintroced bug which always cleared
8850         the graphics_exposures value. 
8851
8852 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8853
8854         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8855
8856 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8857
8858         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8859
8860 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8861
8862         * docs/faq/gtk-faq.sgml: Start of Section 6.
8863
8864 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8865
8866         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8867         
8868         (Fixes problem with drawing childless frames. Pointed out
8869         by and a first patch from Anders)
8870         
8871         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8872         compute a child_allocation, even if we don't have a child.
8873
8874         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8875         Always chain to the parent's impl, even if we don't have a child.
8876
8877 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8878
8879         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8880         use multiple parts of it instead of creating a bunch of separate
8881         segments, since the maximum number of segments per system is not
8882         large. (This might be worth backporting to GTK+-1.2.x if we make a
8883         new release )
8884
8885         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8886         structure in preparation for per-colormap GdkRGB.
8887
8888         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8889         to False when we get EINVAL from shmget so that the caller of
8890         gdk_image_new can retry with a smaller segment size.
8891
8892 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8893
8894         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8895
8896 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8897
8898         * configure.in: make the current version number 1.3.1 (binary age 0,
8899         interface age 0).
8900         
8901         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8902         gtkcompat.h is all we want.
8903
8904         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8905         GLib primitive types. fixed g_type_register_fundamental() argument
8906         ordering.
8907
8908         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8909         compiles.
8910
8911         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8912         object code cleanup, comment trigraph fixes, etc...
8913
8914 2000-06-23  Havoc Pennington  <hp@redhat.com>
8915
8916         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8917         instead of making up a bogus name for first_para_mark
8918
8919         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8920         0 as a context ID
8921
8922 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8923
8924         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8925
8926 2000-06-21  Havoc Pennington  <hp@pobox.com>
8927
8928         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8929         we didn't check window->bg_pixmap != GDK_NO_BG.
8930
8931         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8932         gdk-pixbuf
8933
8934 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8935
8936         * docs/faq/gtk-faq.sgm: Move file to here.
8937           TODO: Update Makfile.am 
8938
8939 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8940
8941         * docs/gtk-faq.sgm: Add Section 2
8942
8943 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8944
8945         * docs/gtk-faq.sgm: New file. Start of DocBook
8946           version of the FAQ.
8947
8948 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8949
8950         * configure.in (GDK_PIXBUF_MAJOR): Define version
8951         numbers for GDK_PIXBUF_*, as they get substituted
8952         into a header file. Need to consider versioning
8953         for gdk-pixbuf more carefully later.
8954
8955 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8956
8957         Work with srcdir != builddir.   
8958         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8959         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8960         * demos/testpixbuf.c: Likewise.
8961         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8962         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8963         <gdk/x11/gdkx.h>.
8964         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8965         "gdk-pixbuf.h".
8966         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8967
8968 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8969
8970         * TODO.xml: Change 1.4 version numbers to 2.0.
8971
8972 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8973
8974         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8975         fixups to GTK+ standard.
8976
8977 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8978
8979         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8980         gdk-pixbuf.
8981
8982         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8983         fixups for GObject.
8984
8985         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8986         gdk-pixbuf with GDK dependencies moved into GDK.
8987         
8988         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8989         move gdk-pixbuf-loader here until GObject has signals.
8990
8991         * demos/: New directory of demos. Move demos from
8992         gdk-pixbuf here.
8993
8994         * demos/pixbuf-init.c: Small bit of code to check for
8995         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8996         set GDK_PIXBUF_MODULEDIR appropriately.
8997
8998         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8999         define which no longer makes sense.
9000
9001 2000-06-21  Havoc Pennington  <hp@redhat.com>
9002
9003         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9004         gtk_get_default_language
9005
9006         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9007         new function to get the default language
9008
9009         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9010         s/gtk_text_view_style_values/gtk_text_style_values/
9011
9012         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9013         Add a "language" field to tags.
9014
9015         (gtk_text_tag_set_arg): Fix bug in setting
9016         "bg_full_height_set" tag.
9017
9018 2000-06-21  Havoc Pennington  <hp@redhat.com>
9019
9020         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9021         in the interfaces
9022
9023         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9024         stuff instead when possible.
9025
9026         * gtk/gtktexttypes.h: Delete some unused constants
9027
9028         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9029         testtextbuffer.c: use glib instead of custom unicode routines
9030
9031 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9032
9033         * docs/es/: Removed mistakenly added generated sgml
9034
9035         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9036         Remove outdated info files.
9037
9038         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9039         Moved tutorial files into subdir
9040
9041         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9042         subdir.
9043
9044         * docs/man/gtk_button.pod: Remove. (contents will be
9045         integrated into gtk-reference button page.)
9046
9047         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9048         docs/faq/Makefile.am: Adjust for new organization
9049
9050 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9051
9052         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9053         not $(MKINSTALLDIRS)
9054
9055 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9056
9057         * gtk/testgtk.c (create_text): Finish the job Elliot started
9058         of removing font setting test for text widget. (Since text widget
9059         and GdkFont are not deprecated, and cause portability problems.)
9060
9061 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9062
9063         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9064         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9065         Remove use of libunicode in favor of new GLib functions.
9066
9067         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9068         nano-x, framebuffer. The X11 include is just a hack until we get
9069         the necessary functions in gdkcolor.h, so there is no reason to
9070         add other includes of platforms.
9071
9072         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9073         window bigger than the screen change.
9074
9075         * gtk/testgtk.c: Revert some random changes from Elliot
9076         that had no particular point and were causing testgtkrc
9077         not to function correctly.
9078         
9079         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9080         because GdkSegment and GdkRegionBox have the same fields,
9081         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9082         results in clearer code.
9083
9084         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9085         gdk_input_translate_coordinates): Fix missed GdkObjectification
9086
9087 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9088
9089         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9090         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9091
9092 2000-06-20  Havoc Pennington  <hp@redhat.com>
9093
9094         * modules/linux-fb/Makefile.am: Make this compile
9095         without framebuffer enabled
9096
9097         * gdk/linux-fb/Makefile.am: Add conditional to not build
9098         framebuffer unless specified in configure
9099
9100         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9101         the size of the target instead of source if -1 was passed for
9102         width/height
9103
9104         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9105         width/height confusion.
9106
9107 2000-06-19  Havoc Pennington  <hp@redhat.com>
9108
9109         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9110         GDK_DRAWABLE_XID. In the future, we probably want to make it
9111         faster with G_DISABLE_CHECKS turned on.
9112
9113 2000-06-14  Havoc Pennington  <hp@redhat.com>
9114
9115         * gdk/Makefile.am: add gdkpixmap.c
9116
9117         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9118         s/gdk_image_init/_gdk_windowing_image_init
9119
9120         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9121         ref/unref
9122
9123         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9124
9125         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9126         GdkWindowType is now non-deprecated; 
9127         change gdk_window_get_type() compat to be
9128         gdk_window_get_window_type().
9129
9130         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9131
9132         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9133         virtual GObject. Make all functions call into the vtable.
9134         Move gdk_image_put() guts in here. Remove GdkDrawableType
9135         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9136         draw_image, get_depth, get_size, set_colormap, get_colormap,
9137         get_visual added to the vtable.
9138         
9139         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9140         GObject. Virtualize everything. 
9141         (gdk_gc_new_with_values): remove check for destroyed window,
9142         because now GdkWindow::create_gc will check this.
9143         (gdk_gc_set_values): New function to set GC values, this 
9144         was already implemented but wasn't in the header
9145
9146         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9147
9148         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9149         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9150         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9151         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9152         _gdk_windowing_window_init, rename gdk_image_init to
9153         _gdk_windowing_image_init.
9154         
9155         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9156         (gdk_draw_layout): Remove check for destroyed window, 
9157         because all the drawable methods already check it.
9158         
9159         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9160         Add gdkpixmap.c which contains implementation of GdkDrawable
9161         virtual table (by chaining to a platform-specific implementation
9162         object).
9163         
9164         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9165         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9166         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9167         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9168         GdkColormapPrivate. 
9169
9170         * gdk/gdktypes.h: #include <glib-object.h>
9171
9172         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9173         Move most functionality to platform-specific implementation
9174         object. GdkWindow itself now handles the backing store, then
9175         chains to the platform-specific implementation.
9176         (gdk_window_get_window_type): return GdkWindowType of the window.
9177         (gdk_window_peek_children): New routine, returns the children of 
9178         a GdkWindow
9179         (gdk_window_get_children): Was in X11-specific code and did 
9180         XQueryTree. Changed to simply return a copy of window->children; 
9181         so it can go in cross-platform code.
9182         
9183         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9184
9185         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9186         GdkColormap; just changed to use the new private data instead
9187         of casting to GdkColormapPrivate.
9188
9189         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9190         gdk_cursor_new().
9191
9192         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9193         (private data member in the GObject). 
9194         (xdnd_manager_source_filter): Function had broken 
9195         error handling, fix it (use gdk_error_trap_push).
9196
9197         * gdk/x11/gdkdrawable-x11.c: This file now implements
9198         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9199         base class is purely for the convenience of the X port,
9200         and not part of the interface to cross-platform GDK.
9201
9202         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9203         
9204         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9205         specific to X, and returned by the create_gc virtual method
9206         of GdkDrawableImplX11. 
9207         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9208         rather than gchar, this was also changed in the GdkGC vtable.
9209         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9210         mask is 0, return immediately, instead of checking every flag.
9211         This is faster, and keeps us from segfaulting if values is NULL
9212         and the mask contains some nonzero flags.
9213
9214         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9215         GdkWindow.
9216
9217         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9218         GdkWindowPrivate is gone.
9219
9220         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9221
9222         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9223         remove the image_put stuff that got transferred to GdkDrawable.
9224         
9225         * gdk/x11/gdkinput.c: renamings
9226
9227         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9228
9229         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9230
9231         * gdk/x11/gdkprivate-x11.h: indentation fixes
9232
9233         * gdk/x11/gdkproperty-x11.c: renamings
9234
9235         * gdk/x11/gdkselection-x11.c: renamings
9236
9237         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9238         implements the platform-specific "impl" object.
9239         Moved gdk_window_get_children to gdk/gdkwindow.c
9240
9241         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9242         that no longer exist. Add declaration of GdkGCX11 object here.
9243         Fix all the macros to still work. 
9244
9245         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9246         GdkDragContext from the boxed types since they are now GObjects.
9247
9248         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9249         moved xthickness/ythickness into the instance. GtkStyleClass
9250         functions are now in the standard vtable for GtkStyle, so you have
9251         to create a GObject subclass to write a theme engine.
9252         (gtk_style_copy): fixed a leaked PangoFontDescription
9253         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9254         can be the standard GObject function.
9255         
9256         * Throughout GTK:
9257         s/style->klass->[xy]thickness/style->[xy]thickness
9258         s/pango_layout_unref/g_object_unref/
9259
9260         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9261         
9262         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9263         accessing GDK internals.
9264
9265         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9266         accessing GDK internals.
9267
9268 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9269
9270         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9271
9272         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9273         problem by calculating event position relative to the trough
9274         rather than the slider.
9275         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9276
9277         * gdk/gdkgc.h: Add GDK_NOR.
9278
9279         * configure.in, Makefile.am: Add modules top level dir
9280         * configure.in: Only use pangox library if building x11 target.
9281         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9282
9283 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9284
9285         * gtk/gtkcolorsel.c: Change private class member to be named
9286         private_data throughout the file.
9287
9288         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9289         private_data to avoid clashing with keyword.
9290
9291 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9292
9293         * gdk/gdkdnd.h: Add comment to remove warning.
9294
9295 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9296
9297         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9298         Byelorussian language; changed the Makefile and file names 
9299         to reflect that.
9300
9301 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9302
9303         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9304         rather than gdk_window_hide; this makes things work
9305         correctly if the window is programmatically hidden while
9306         iconified.
9307
9308 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9309
9310         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9311         cut and paste typo where wrong pixmap was being
9312         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9313
9314 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9315
9316         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9317         Add helper function to compute format / bytes 
9318         relationship. Use in a couple places to fix up
9319         errors which assume 8 * format.
9320
9321         * gtk/gtkselection.c (gtk_selection_request): Use 32
9322         rather than 8 * sizeof (GdkAtom), to work correctly
9323         on Alpha.
9324
9325 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9326
9327         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9328         libgtk.la
9329         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9330         versions
9331
9332         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9333         checking macros return NULL since the function has a return value.
9334
9335 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9336
9337         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9338         GTK+ from building at all.
9339
9340         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9341
9342 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9343
9344         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9345         gtk/Makefile.am: make it possible to configure gtk for different
9346         targets on the same platform. The library name is now 
9347         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9348         flag. Only the x11 target compiles right now.
9349         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9350         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9351         * gdk/nanox/gdk*generic*: delete generic region code.
9352         * gdk/linux-fb/gdk*generic*: delete generic region code.
9353         * README.nanox: update information.
9354         
9355 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9356
9357         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9358         prepend not append. (Pointed out by Brett Hall.)
9359
9360 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9361
9362         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9363
9364 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9365
9366         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9367         need this later, and this makes sure that the atexit for
9368         glib gets called after that for GDK, so atexits are
9369         properly ordered for object leak checking.
9370
9371         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9372
9373         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9374         pango_x_shutdown_display()
9375
9376         * gtk/simple.c (main): Close window on destroy.
9377
9378 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9379
9380         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9381         to treat initial creation different from setting with 
9382         regards to the graphics-exposures parameter, so add a parameter
9383         indicating whether this is initial or not.
9384
9385 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9386
9387         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9388         to sort of work by adding an extra return_exposes arg
9389         to gdk_event_translate() - it might be better to simply
9390         deprecate the function altogether and force people to rewrite
9391         without it. gdk_window_scroll() handles most of it, and where
9392         gdk_window_scroll() doesn't work, simply redrawing more does.
9393
9394         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9395         assertion.
9396
9397         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9398
9399         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9400         bunch of pretty much useless /* Print debugging info */ comments 
9401         which had drifted away from the code they were commenting.
9402
9403 2000-06-02  Havoc Pennington  <hp@pobox.com>
9404
9405         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9406         is in working order.
9407         
9408         * gtk/testtext.c: Change to reflect anonymous mark API
9409
9410         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9411
9412         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9413         field, which was unused.
9414
9415         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9416         saves some typing.
9417
9418         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9419
9420         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9421         flag on the insertion point and selection bound
9422
9423         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9424         make mark-manipulation functions take a GtkTextMark* instead of a
9425         mark name.
9426         
9427         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9428         GtkTextMarkBody; will be used to detect attempts to delete
9429         the permanent marks (insert and selection bound)
9430
9431         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9432
9433 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9434
9435         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9436         flag to on.
9437
9438         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9439         Honor DOUBLE_BUFFRED_FLAG
9440
9441         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9442         function to set the DOUBLE_BUFFERED flag.
9443
9444         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9445         or not exposes done on the widget should be double-buffered.
9446
9447         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9448         to be what would be expected. (Fixes problem with a
9449         g_return_if_fail() validating a TextDirection enumeration)
9450
9451 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9452
9453         * gtk/gtkwidget.c: Remove all references to 
9454         offscreen flag which was no longer used.
9455
9456         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9457
9458         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9459         for non-null label_widget->parent.
9460
9461         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9462         which no longer was used.
9463
9464         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9465
9466         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9467         for null arguments.
9468
9469         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9470         check for destroyed windows.
9471
9472 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9473
9474         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9475         the slave context there.
9476
9477         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9478         identical to GtkWindow.
9479
9480 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9481
9482         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9483         pangox to here, so we can write them independent of rendering
9484         system, using GDK primitives.
9485
9486         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9487         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9488         since we have a rendering-system independent implementation in
9489         terms of draw_glyphs().
9490         
9491         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9492         function to render a single line.
9493
9494         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9495         into ../gdkpango.c, which simplifies things, since we
9496         don't have to deal with raw X gc's.
9497
9498 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9499
9500         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9501         get the logical attributes for a given GtkTextLine.
9502
9503 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9504
9505         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9506         g_locale_get_codeset() to g_get_codeset() change.
9507
9508 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9509
9510         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9511         descriptions.
9512
9513         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9514         the entry.
9515
9516         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9517         redoing (vastly simplifying) for Pango. Still needs quite
9518         a bit of work. (Size selection is currently poor. List of 
9519         predefined sizes is not a good idea, since all of these
9520         sizes won't necessarily be distinct.)
9521
9522 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9523
9524         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9525         CODESET results for LANG=C.
9526
9527 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9528
9529         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9530         which takes a stringized pango font description;
9531         ignore the older 'font' and 'fontset' declarations.
9532
9533         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9534         field with a GdkFont derived via gdk_font_from_description(),
9535         for compatibility. (Should we just remove it entirely?
9536         Probably too much compatibility breakage, but people
9537         should be migrating to the new Pango stuff as quickly
9538         as possible.)
9539
9540 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9541
9542         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9543
9544 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9545
9546         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9547         redoing; there are some bugs in size allocation right
9548         now, the semi-existant distinction between header / day
9549         fonts was removed, but, with Pango, could actually
9550         be made functional in a nice way.
9551         
9552         * gtk/testcalender: Move calender from examples into this
9553         directory as a test program. (We really need to restrcture
9554         testgtk into a whole directory full of tests for every
9555         widget or functionality group, separated into multiple .c
9556         files.)
9557
9558 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9559
9560         * gtk/testgtk.c (file_exists): Fix stupid typo that
9561         was keeping RC file from being loaded.
9562
9563         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9564         RC file font code.
9565
9566 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9567
9568         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9569         Add function to load a GdkFont from a PangoFontDescription.
9570
9571 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9572
9573         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9574         variable should be of type GdkEventPrivate.
9575
9576 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9577
9578         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9579         to have any widget for the label, use a GtkLabel widget
9580         to display the text. (Based partially on a patch from
9581         Anders Carlson.)
9582
9583         (Quite a bit of code reorganization - strip 90% of the
9584         guts out of gtkaspectframe and add a single virtual
9585         func to GtkFrameClass - compute_child_allocation.)
9586
9587 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9588
9589         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9590         (Removed clist->row_center_offset field because caching
9591         it wasn't saving time or code, added private function
9592         _gtk_clist_create_cell_layout()).
9593
9594 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9595
9596         * gtk/gtkaccellabel.c: Pangoized.
9597
9598         * gtk/[hv]ruler.c: Pangoized
9599
9600 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9601
9602         * gtk/gtkfilesel.c (gtk_file_selection_init):
9603         Use gtk_clist_set_column_auto_resize() to remove need
9604         need for manual column width computations.
9605
9606 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9607
9608         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9609         ensuring Pango correctness, and considerably simplifying the
9610         code.
9611         
9612         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9613
9614         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9615         getting of numbers of lines.
9616
9617         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9618         to the actual requested width of the lable, not to the wrap
9619         width we set.
9620
9621         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9622
9623         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9624           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9625
9626         * gtk/gtktextview.c: Fix structure inheritance.
9627
9628         * gtk/gtkprogressbar.c: Pangoize.
9629
9630 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9631
9632         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9633         in a function.
9634
9635         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9636         bug with computing line tops.
9637
9638         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9639
9640 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9641
9642         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9643         and y_offset coordinates to do what we need now. (The offset between
9644         buffer and layout coordinates has been reintroduced, but is a 
9645         bit different than before.)
9646
9647         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9648         handle the adjustments ourselves, and scroll as necessary using
9649         the new gdk_window_scroll().
9650         
9651         The advantage of this is that when we are incrementally revalidating,
9652         we are essentially rearranging things around the visible portion
9653         of the screen. With the old setup, the visible portion of the
9654         screen was moved around in the layout, so scrolling and redrawing
9655         to track that caused jumping of the display. Since we now
9656         control the scrolling ourselves, we can suppress this and
9657         only redraw when things actually change.
9658
9659 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9660
9661         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9662         the region not just redisplay it after-all, since we store the
9663         cursors in the LineDisplay. (Ugly interactions here between
9664         GtkLayout and GtkTextBTree here.)
9665         
9666         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9667
9668 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9669
9670         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9671         Added function to scroll contents of a window while keeping the
9672         window constant. Works by XCopyArea or guffaw-scrolling depending
9673         on the details of how the window is set up. (guffaw-scrolling
9674         still needs to be filled in.)
9675
9676 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9677
9678         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9679         move the debugging that was tied to a global variable
9680         to that.
9681
9682         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9683
9684         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9685         validated flag, in line data instead of setting height/width to
9686         -1. This allows us to perform operations with partially invalid
9687         buffer (using the old size for invalid lines) and thus to do
9688         incremental vaidation. Keep height/width aggregates up to date
9689         when deleting text and rebalancing the tree.
9690
9691         * gtk/gtktextbtree.[ch]: Add functions validate a line
9692         (gtk_text_btree_validate_line), and to validate up
9693         to a number of pixels (gtk_text_btree_validate).
9694
9695         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9696         that indicates that something is changed and a revalidation
9697         pass is needed. Change ::need_repaint to ::changed, and
9698         make it take old and new yranges instead of a rectangle.
9699
9700         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9701         the line_data_destroy() function from 
9702         gtk_text_btree_add_view() to a virtual function in 
9703         GtkTextLayout
9704
9705         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9706         since we are handling partial repaints in a different fashion
9707         now.
9708
9709         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9710         of the selection instead of queueing a repaint on the
9711         entire widget.
9712
9713         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9714         get_selection_bounds() down to btree, make the function
9715         in buffer a wrapper around the btree function.
9716
9717         * gtk/gtktextlayout.[ch]: Add functions to check if the
9718         layout is valid and to recompute either a range of pixels
9719         aroudn a line or a certain total number of pixels.
9720
9721         * gtk/gtktextlayout.[ch]: Cache a single line display;
9722         now that we only redraw the needed portions, the hit rate
9723         for this cache is quite high.
9724         
9725         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9726         on the screen so that when re-laying-out the buffer, we can
9727         keep the same place. This requires connecting to ::value_changed
9728         on the adjustments
9729
9730         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9731         the buffer after we receive an ::invalidated signal.
9732         
9733 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9734
9735         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9736         to max of allocation and layout size, not just to the
9737         layout size.
9738
9739         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9740         Invalidate window so it gets redrawn properly.
9741
9742         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9743         to mean the entire window.
9744
9745         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9746         into public header.
9747
9748 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9749
9750         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9751         to get the name of a mark.
9752
9753         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9754         to find the paragraph from a y position.
9755
9756 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9757
9758         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9759         nodes have width/height >= 0, not > 0.
9760
9761 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9762
9763         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9764         Add a size_only flag, so when we only need the size, we don't create
9765         useless appearance attributes.
9766
9767         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9768         duplicate setting of font description.
9769
9770         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9771
9772 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9773
9774         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9775         EXTRA_DIST. It does not work well when the file that
9776         everything depends on is not in the tarball.
9777
9778 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9779
9780         * gtk/testgtk.c: Some hacks and fixes so that it basically
9781         works when not sitting in the GTK+ build tree.
9782
9783 2000-05-03  Havoc Pennington  <hp@redhat.com>
9784
9785         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9786         Properly determine the ordering of the tag root and the current
9787         line within the tree. Previous algorithm only worked if the tag
9788         root's immediate parent was the common root of both the current
9789         line and the tag root.
9790
9791 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9792
9793         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9794         alignment.
9795
9796         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9797         the widget text directional dynamically.
9798
9799         * gtk/gtktextview.[ch]: Added functions to get and set default
9800         wrap mode.
9801
9802 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9803
9804         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9805         in cursor location computation.
9806
9807 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9808
9809         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9810         vadjusment values properly when layout gets smaller.
9811
9812         * gtk/gtktextview.c (need_repaint_handler): Areas being
9813         passed in are far completely inaccurate, and sometimes
9814         too small, so, for now, just queue a redraw on the
9815         whole visible region.
9816
9817 2000-04-25  Havoc Pennington  <hp@redhat.com>
9818
9819         * gtk/gtktextbtree.c (summary_destroy): new function to 
9820         destroy tag summary nodes
9821         (gtk_text_line_next_could_contain_tag): this function was 
9822         totally broken if the line passed in wasn't below the tag
9823         root. Fix it.
9824         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9825         "wildcard" case, we have to do a linear scan. Blah.
9826         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9827         we have to do the linear scan
9828         (tag_removed_cb): When a tag is removed from the tag table, 
9829         remove the GtkTextTagInfo node from the btree.
9830         (gtk_text_btree_spew): Implement the spew function, for 
9831         our debugging pleasure.
9832
9833 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9834
9835         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9836         a problem with referring to the wrong buffer.
9837
9838         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9839
9840         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9841         font description to gtk_style_new() - otherwise things
9842         don't work without a .gtkrc file.
9843
9844         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9845         tags table if we create it ourself, too.
9846
9847         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9848         it was conflicting with XKB modifiers.
9849
9850         * gtk/gtktextview.[ch]: Add simple support for 
9851         GtkIMContext.
9852
9853 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9854
9855         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9856         with deletion from last commit.
9857
9858 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9859
9860         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9861         in the context from the current locale.
9862         
9863         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9864         context, not hardcoded value.
9865
9866         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9867         not logical.
9868
9869 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9870
9871         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9872         attributes - that doesn't handle partial-glyph selection
9873         properly. Instead use new pango_layout_line_get_x_ranges()
9874         functionality to draw the selection.
9875
9876         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9877         now properly handles out-of-range coordinates.
9878
9879         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9880
9881         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9882         public.
9883
9884         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9885         for paragraphs opposite to the base direction of the widget.
9886
9887         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9888
9889         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9890         causes Arabic words to reshape as you cursor through.
9891
9892         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9893         cursor position when moving vertically with the arrow keys and
9894         scrolling with page-up/page-down. (Arrow keys save only the X,
9895         scrolling saves both X and Y.)
9896
9897         This means you can line-up / line-down or page-up / page-down
9898         without losing your place, and also that moving vertically
9899         with the cursor keys keeps the same X position, not the same
9900         character count:
9901
9902         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9903         arrow keys move by display lines, not paragraphs.
9904
9905 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9906
9907         * gtk/gtklayout.c: Make sure that the bin window is at least
9908         as big as the allocation. (Should we also make sure that the
9909         bin window is big enough to completely cover widget->window?)
9910
9911         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9912         function to get the onscreen rectangle.
9913
9914         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9915         for offsets in window coordinates.
9916
9917 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9918
9919         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9920         confusion.
9921
9922         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9923         from the widget direction.
9924
9925         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9926         Add a "direction" attribute.
9927
9928         * gtk/gtktextview.c: global s/tkxt/text_view/.
9929
9930         * gtk/testtext.c: Added long block of text in Arabic, to test out
9931         the direction attributes. (Some problems with the shaping system
9932         for arabic become obvious - like the fact the cursor splits words
9933         into unjoined pieces.)
9934
9935 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9936
9937         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9938
9939         * gtk/gtktextlayout.c: Fix up alignment.
9940
9941         * gtk/testtext.c: Add some tests for centering, wrapping.
9942
9943 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9944
9945         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9946         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9947         If we wrote GTK+-specific layout-render function this could just replace
9948         the draw_layout() operation in the vtable.
9949
9950         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9951         pango_layout_get_cursor_pos() and use that function.
9952
9953         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9954         is a non-static symbol.
9955
9956         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9957         with gtk_text_btree_find_line_by_y()
9958
9959         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9960         renderer that handles GtkTextAppearance attributes.
9961
9962         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9963
9964           - Move the values in the style that don't affect geometry into a
9965             GtkTextAppearance structure.
9966           - Change underline to take a PangoUnderline and "font" a string
9967             representation of a font description
9968           - Add a "font_desc" attribute which takes a FontDescription structure.
9969
9970         * gtk/gtktextlayout.[ch]:
9971
9972           - Get rid of the display-line list per each line. Instead, we
9973             generate, on demand, a GtkTextLineDisplay structure which]
9974             contains a PangoLayout * and other necesary information
9975             (offsets, cursor locations) for displaying a paragraph.
9976           - Get rid of the code to wrap lines, create display chunks,
9977             etc. Instead, we just go through a paragraph and convert
9978             it into the necessary inputs to a PangoLayout.
9979           - Implement a new attribute type, GtkTextAttrAppearance. This
9980             holds a GtkTextAppearance, and is used to pass colors, 
9981             stipple, etc, through from the layout to the display without
9982             having to use lots and lots of individual attributes.
9983           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9984             in terms of PangoLayout functions.
9985         
9986         * gtk/gtktextview.c: 
9987          
9988           - Handle passing the necessary PangoContext to the layout
9989           - Some fixups in painting to deal with the automatic backing store
9990             and offsetting of GTK+-1.4
9991           - Add a style_set handler so that the default style reacts
9992             properly to theme changes.
9993         
9994         * gtk/gtktext?*.[ch]: Random code-style fixes.
9995
9996         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9997
9998 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9999
10000         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10001         in original form preparatory to Pango-ization and gdkimcontext-ization.
10002
10003 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10004
10005         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10006         so that we can derive from gtkimcontext in language bindings properly.
10007
10008 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10009
10010         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10011         Add a compose table including (almost) all the compose combinations
10012         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10013         data in the XIM implementation.
10014
10015         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10016         Moved functions to convert keyvalues from and to unicode here from
10017         the win32 port and made them public.
10018
10019 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10020
10021         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10022
10023 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10024
10025         * gtk/gtkimcontext.[ch]: Base class for new input context system
10026
10027         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10028         the real input context implementation to be loaded from modules
10029         and switched on the fly.
10030
10031         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10032         context that just does direct keysymbol => unicode translation.
10033
10034         * gtk/gtkentry.[ch]: Start switching editing over to using
10035         GtkInputContext. (No handling of preedit yet.)
10036
10037 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10038
10039         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10040         many substitutions. (klass should not be subsituted.)
10041
10042 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10043
10044         * configure.in: Add checks for Pango
10045
10046         * configure.in docs/Makefile.am: Add test for sgml2html
10047         and allow 'make dist' without building html, but print out
10048         warnings in that case. (For making snapshots)
10049
10050         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10051         Add Pango libraries and C flags
10052
10053         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10054         Add function (gdk_draw_layout) to draw a pango layout.
10055
10056         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10057         for getting Pango contexts for GDK.
10058
10059         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10060
10061         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10062         editing.
10063
10064         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10065         keysym => unicode translations. More languages can be added
10066         here, but real input-method support is needed.
10067
10068         * docs/Changes-1.4.txt: Added note about entry behavior.
10069         
10070         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10071         to set the reading direction for a widget and the global direction.
10072         Add test which allows toggling the global direction. Two private
10073         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10074
10075         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10076           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10077
10078         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10079
10080         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10081         underlining now handled by Pango.
10082
10083         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10084         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10085         is temporary.)
10086
10087         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10088         convenience functions for creating contexts and layouts for widgets.
10089
10090         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10091
10092 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10093
10094         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10095         titles to be active, even if they aren't visible.
10096         (gtk_clist_column_titles_passive):  Ditto.
10097
10098 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10099
10100         * gtkmenu.c:
10101         * gtkmenu.h:
10102         * gtktypeutils.h: Spelling/grammar fixes in comments.
10103
10104 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10105
10106         * gdk/nanox/*.h: add missing header files.
10107
10108 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10109
10110         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10111         send_event to TRUE.
10112         (gtk_drawing_area_size): queue a resize.
10113
10114 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10115
10116         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10117         the handlers, also invalidate them. bug nailed down by Karl Nelson
10118         <kenelson@ece.ucdavis.edu>.
10119
10120 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10121
10122         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10123         "(nil)" foundries, patch from Grigorios Magklis.
10124
10125         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10126         on non-available fonts, based on a patch by Grigorios Magklis
10127         <maglis@cs.rochester.edu>.
10128
10129 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10130
10131         * gdk/x11/gdkregion-generic.c: If a region does not have any
10132         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10133         instead of GDK_OVERLAP_RECTANGLE_IN.
10134
10135 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10136
10137         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10138         OFFSCREEN, as it is no longer necessary.
10139
10140 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10141
10142         * gtk/gtkcolorsel.c: Patch from David Santiago
10143         <mrcooger@cyberverse.com> to change things so that the 
10144         indicator of the active palette entry is done independently,
10145         not via the focus, since it should always be visible.
10146
10147 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10148
10149         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10150         refcount leaks as in the X11 backend.
10151
10152         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10153         cosmetics.
10154
10155         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10156         backend. Add _gdk_windowing_window_destroy().
10157
10158         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10159         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10160         either, but these probably do exist on nanox?)
10161         
10162         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10163         which isn't necessarily defined by <math.h>.
10164
10165         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10166         ancestry past GtkObject.
10167
10168         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10169         from DLL on Win32.
10170
10171         * gtk/gtk.def: Update corresponding to recent changes.
10172
10173         * gtk/makefile.{cygwin,msc}: Updates.
10174
10175 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10176
10177         * docs/Changes-1.4.txt: A bit of editing.
10178
10179         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10180         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10181         to clear the update area for the window, and clear it
10182         when hiding a window.
10183
10184         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10185         if window destroyed.
10186
10187         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10188
10189         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10190         gdk_window_destroy() to the generic code, since there was a lot of 
10191         window-system-independent logic it in. Add a function:
10192         
10193          _gdk_window_destroy() 
10194
10195         to the internal API to destroy a window without unreferencing it.
10196         Add a function:
10197
10198          _gdk_windowing_window_destroy()
10199
10200         That does the windowing-system-dependent part of destroying 
10201         the window.
10202
10203 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10204
10205         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10206
10207 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10208
10209         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10210         Make gtk_widget_shape_combine_mask() keep a reference count on
10211         the pixmap since it keeps it around.
10212
10213 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10214
10215         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10216         leak.
10217
10218         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10219         leak with event filters.
10220
10221 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10222
10223         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10224         signal handlers with the right data arguments. (Fixes
10225         some warnings when a widget was repeatedly set as a drag
10226         destination.)
10227
10228         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10229         window so we can avoid avoid setting the DND properties on the
10230         toplevel window repeatedly.
10231
10232 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10233
10234         * gdk/win32/gdkwin32.h: Define more message types missing from
10235         mingw headers.
10236
10237         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10238         call gdk_window_destroy_notify(). It was never called. This
10239         probably meant that the GdkWindow was never freed. Thanks Owen for
10240         noticing (!).
10241
10242         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10243         window as destroyed before calling DestroyWindow(). DestroyWindow()
10244         causes a call to the window procedure (gdk_WindowProc), which
10245         calls gdk_event_translate(), which calls
10246         gdk_window_destroy_notify(), which gets confused unless the window
10247         is set as destroyed.
10248
10249         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10250         this function to indicate it's win32 only. Put inside #ifdef
10251         G_ENABLE_DEBUG.
10252
10253         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10254         debugging function. (gdk_event_translate:) Add a default branch
10255         that uses the above function to print debug messages with all
10256         Windows messages symbolically.
10257
10258         * gdk/win32/gdkprivate-win32.h: Declare it, and
10259         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10260
10261 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10262
10263         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10264         public header file.
10265
10266 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10267
10268         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10269
10270         * gtk/gtktext.c: made the adjustments no-construct args, simply
10271         provide default adjustments.
10272         (gtk_text_destroy): release adjustments.
10273
10274         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10275         adjustment argument non-construct.
10276
10277         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10278         instead of in finalize.
10279         (gtk_progress_get_text_from_value): 
10280         (gtk_progress_get_current_text): 
10281         (gtk_progress_set_value): 
10282         (gtk_progress_get_percentage_from_value): 
10283         (gtk_progress_get_current_percentage): 
10284         (gtk_progress_set_percentage): 
10285         (gtk_progress_configure): ensure an adjustment is present.
10286
10287 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10288
10289         * gtk/gtkcolorsel.[hc]:
10290         * gtk/gtkcolorseldialog.[hc]:
10291         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10292         their parent implementation, use bit fields for boolean values, don't
10293         create unused widgets, usage of glib types, braces go on their own
10294         lines, function argument alignment, #include directives etc. etc. etc..
10295
10296         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10297
10298 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10299
10300         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10301
10302         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10303         of NULL.
10304
10305         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10306         to freed data.
10307         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10308
10309         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10310         to NULL when the toplevel is getting destroyed.
10311         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10312         (gtk_menu_destroy): 
10313         (gtk_menu_init): store the information of whether we have to
10314         readd the initial child ref_count during destruction in a new
10315         GtkMenu field needs_destruction_ref_count.
10316
10317         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10318         here, those reading: learn from my mistake! ;)
10319         in order for set_?adjustment to support a default adjustemnt if
10320         invoked with an adjustment pointer of NULL, the code read (pseudo):
10321         if (v->adjustment) unref (v->adjustment);
10322         if (!adjustment) adjustment = adjustment_new ();
10323         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10324         now imagine the first unref to actually free the old adjustment and
10325         adjustment_new() creating a new adjustment from the very same memory
10326         portion. here, the latter comparision will unintendedly fail, and
10327         all hell breaks loose.
10328         (gtk_viewport_set_hadjustment):
10329         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10330         after unreferencing it.
10331
10332         * gtk/gtkcontainer.[hc]: removed toplevel registration
10333         functions: gtk_container_register_toplevel(),
10334         gtk_container_unregister_toplevel() and
10335         gtk_container_get_toplevels() which had wrong semantics
10336         anyways: it didn't reference and copy the list.
10337
10338         * gtk/gtkwindow.c: we take over the container toplevel registration
10339         bussiness now. windows are registered across multiple destructions,
10340         untill they are finalized. the initial implicit reference count
10341         users are holding on windows is removed with the first destruction
10342         though.
10343         (gtk_window_init): ref & sink and set has_user_ref_count, got
10344         rid of gtk_container_register_toplevel() call. add window to
10345         toplevel_list.
10346         (gtk_window_destroy): unref the window if has_user_ref_count
10347         is still set, got rid of call to
10348         gtk_container_unregister_toplevel().
10349         (gtk_window_finalize): remove window from toplevel list.
10350         (gtk_window_list_toplevels): new function to return a newly
10351         created list with referenced toplevels.
10352         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10353
10354         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10355         adjustment a non-construct arg.
10356         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10357         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10358         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10359
10360         * gtk/gtkrange.c: added some realized checks.
10361         (gtk_range_destroy): get rid of the h/v adjustments in the
10362         destroy handler instead of finalize. remove timer.
10363         (gtk_range_get_adjustment): demand create adjustment.
10364
10365         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10366         we simply create them on demand now and get rid of them in
10367         the destroy handler.
10368         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10369         destroy handler instead of finalize.
10370         (gtk_viewport_get_hadjustment): 
10371         (gtk_viewport_get_vadjustment): 
10372         (gtk_viewport_size_allocate): demand create h/v adjustment
10373         if required.
10374
10375         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10376         gtk_widget_real_destroy () functionality.
10377         (gtk_widget_real_destroy): reinitialize with a new style, instead
10378         of setting widget->style to NULL.
10379
10380 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10381
10382         * gtk/gtkcalendar.c:
10383         * gtk/gtkbutton.c: ported _get_type() implementation over to
10384         GType, either to preserve memchunks allocation facilities,
10385         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10386
10387         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10388         over. prepare for ::destroy to be emitted multiple times.
10389         removed reference tracer magic. chain into GObjectClass.shutdown()
10390         to emit ::destroy signal.
10391
10392         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10393         fundamental.
10394
10395         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10396         cludge.
10397
10398         * gtk/gtksocket.c:
10399         * gtk/gtkplug.c:
10400         * gtk/gtklayout.c:
10401         * gtk/gtklabel.c:
10402         * gtk/gtkargcollector.c:
10403         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10404         not being a fundamental anymore, and to work with the new
10405         type system (nuked fundamental type varargs clutter).
10406
10407         * gtk/*.c: install finalize handlers in the GObjectClass
10408         part of the class structure.
10409         changed direct GTK_OBJECT()->klass accesses to
10410         GTK_*_GET_CLASS().
10411         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10412
10413         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10414         GType. made most of the GTK_*() type macros and Gtk* typedefs
10415         simple wrappers around macros and types provided by GType.
10416         most notably, a significant portion of the old API vanished:
10417         GTK_TYPE_MAKE(),
10418         GTK_TYPE_SEQNO(),
10419         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10420         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10421         GTK_TYPE_ARGS,
10422         GTK_TYPE_CALLBACK,
10423         GTK_TYPE_C_CALLBACK,
10424         GTK_TYPE_FOREIGN,
10425         GtkTypeQuery,
10426         gtk_type_query(),
10427         gtk_type_set_varargs_type(),
10428         gtk_type_get_varargs_type(),
10429         gtk_type_check_object_cast(),
10430         gtk_type_check_class_cast(),
10431         gtk_type_describe_tree(),
10432         gtk_type_describe_heritage(),
10433         gtk_type_free(),
10434         gtk_type_children_types(),
10435         gtk_type_set_chunk_alloc(),
10436         gtk_type_register_enum(),
10437         gtk_type_register_flags(),
10438         gtk_type_parent_class().
10439         replacements, where available are described in ../docs/Changes-1.4.txt.
10440         implemented compatibility functions for the remaining API.
10441
10442         * configure.in: depend on glib 1.3.1, use gobject module.
10443
10444 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10445
10446         * TODO.xml: Various updates to current status.
10447
10448 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10449
10450         * gtk.m4: Print out version when test succeeds.
10451
10452 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10453
10454         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10455         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10456         
10457         (Original triangle color selector from Simon Budig
10458         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10459         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10460         Santiago <mrcooger@cyberverse.com>)
10461
10462         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10463         out into a separate widget.
10464
10465         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10466         and opacity controls.
10467
10468 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10469
10470         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10471         snuck in prematurely.
10472
10473 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10474
10475         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10476         had deleted a ! operator by mistake, which caused
10477         GDK_SELECTION_CLEAR events never to be generated, which caused
10478         only the first copy to the clipboard from an gtkeditable to
10479         actually cause a copy to the Windows clipboard.
10480
10481 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10482
10483         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10484         compilation, too. Current mingw gcc distributions include the
10485         necessary headers. Also the necessary IIDs are now in mingw
10486         headers/libraries, and own definitions unnecessary.
10487
10488         More hacking on OLE2 DND, still doesn't work though, and thus
10489         ifdeffed out.
10490
10491         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10492         here, too.
10493
10494 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10495
10496         * gdk/nanox/*: nano-X port work in progress.
10497         * gdk/simple.c: simple test for Gdk.
10498         * README.nanox: notes about the port: read this first!
10499         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10500         with nano-X.
10501
10502 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10503
10504         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10505         gdk_window_clear() into common code, implement in terms of
10506         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10507         not redirected to the backing rectangle.
10508
10509 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10510
10511         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10512         EXTRA_DIST. It does not work well when the file that
10513         everything depends on is not in the tarball.
10514
10515 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10516
10517         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10518         with recursion where process_updates() is called from
10519         an expose handler. (GtkTextView is highly broken in
10520         doing this, but it should work, so it is a nice test
10521         case.)
10522
10523 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10524
10525         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10526         handle the case where updates are queued during processing of
10527         updates.
10528
10529 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10530
10531         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10532         window is on gdk_display - use that instead of segfaulting.
10533
10534 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10535
10536         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10537         broken and require an empty arg, give it to them.
10538
10539 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10540
10541         * gtk/gtklabel.h: indentation fixes.
10542
10543 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10544
10545         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10546         draw too narrow or too low arcs, they seem to fail, at least with
10547         some display drivers.
10548
10549         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10550
10551         Large changes to the Win32 backend, partially made necessary by
10552         the changes to the backend-independent internal
10553         structures. Attempts to implement similar backing store stuff as
10554         on X11. The current (CVS) version of the Win32 backend is *not* as
10555         stable as it was before the no-flicker branch was merged. A
10556         zipfile with that version is available from
10557         http://www.gimp.org/win32/. That should be use by "production"
10558         code until this CVS version is usable. (But note, the Win32
10559         backend has never been claimed to be "production quality".)
10560
10561         * README.win32: Add the above comment about versions.
10562
10563         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10564
10565         * gdk/gdk.def: Update.
10566
10567         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10568         presumably be replaced by some more better mechanism as 1.4 gets
10569         closer to release shape.
10570
10571         * gdk/makefile.{cygwin,msc}: Update.
10572
10573         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10574         internal headers. Change code according to changes in these. Use
10575         gdk_drawable_*, not gdk_window_* where necessary.
10576
10577         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10578         our old DND.
10579
10580         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10581         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10582         Use correct function name in warning messages.
10583
10584         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10585         GSourceFuncs gdk_event_prepare and gdk_event_check.
10586         (gdk_event_get_graphics_expose): Do implement, use
10587         PeekMessage. Thanks to Hans Breuer.
10588         (event_mask_string): Debugging function to print an GdkEventMask.
10589         (gdk_pointer_grab): Use it.
10590
10591         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10592         (old) book I used claimed was Hangul actually is CJK Unified
10593         Ideographs Extension A. Also, Hangul Syllables were missing.
10594         Improve logging.
10595
10596         * gdk/win32/gdkgc-win32.c: Largish changes.
10597
10598         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10599         g_win32_getlocale() from GLib, and not setlocale() to get current
10600         locale name.
10601
10602         * gdk/win32/gdkprivate-win32.h
10603         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10604         gdkwin32.h, similarily as in the X11 backend.
10605
10606         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10607         assignment was used instead of equals in if test. Thanks to Hans
10608         Breuer.
10609
10610         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10611         the X11 version.
10612
10613         * gdk/win32/makefile.{cygwin,msc}
10614         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10615         path to the Win32 headers that works also with the mingw compiler.
10616
10617         * gtk/gtkstyle.c: Include <string.h>.
10618
10619 2000-04-26  Havoc Pennington  <hp@redhat.com>
10620
10621         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10622         replacing the broken gtk_label_get ()
10623
10624 2000-04-15  Havoc Pennington  <hp@pobox.com>
10625
10626         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10627         this keeps scanner scripts from getting confused.
10628
10629         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10630         data, rather than void
10631
10632 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10633
10634         * gtk/gtkclist.c (gtk_clist_motion)
10635         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10636         with is_hint FALSE, get x and y from the event. They used to be
10637         used uninitialised. The Win32 backend never sends motion events
10638         marked as hints. This for instance fixes the annoying file and
10639         font selector behaviour in the Win32 version.
10640
10641 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10642
10643         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10644         gtk_private_n_signals variables, they are used by some software,
10645         sigh.
10646
10647         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10648         installation directory from the Registry, where the installer
10649         should have put it.
10650
10651 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10652
10653         * gdk/x11/Makefile.am: Fix problem with installation directory for
10654         gdkx.h
10655
10656         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10657         <mrcooger@cyberverse.com> so that when selecting menus with the
10658         mouse, the first item will not be selected, but when selecting
10659         with an accelerator, or navigating left-right on a menubar with
10660         the menus popped up, the first item will be selected.
10661
10662 2000-04-05  Dan Damian  <dand@dnttm.ro>
10663
10664         * configure.in: Added "ro" to ALL_LINGUAS.
10665
10666 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10667
10668         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10669         indentation.
10670
10671         * Makefile.am (EXTRA_DIST): Fix typo.
10672
10673         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10674         to catch gdkconfig.h
10675
10676         * gtk/gtkitemfactory.c: Added FIXME.
10677
10678 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10679
10680         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10681         s/return_if_fail/return_val_if_fail/g and add a return value.
10682
10683 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10684
10685         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10686         merge slipup.
10687
10688         * gdk/gdkinput.h: Fix missing line from merge.
10689
10690 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10691
10692         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10693         instead of gdkprivate.h.
10694
10695 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10696
10697         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10698         parent class to correctly be GtkDialogClass.
10699
10700 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10701
10702         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10703         toplevel windows and their immediate children by their parents,
10704         since the size of toplevel windows is out of our immediate
10705         control and we don't get any real benefit from trying to track
10706         this size for clipping.
10707
10708         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10709         for input_only windows.
10710
10711         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10712         to fix some hacks and make sure that we don't try to set the
10713         background of input only windows.
10714
10715 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10716
10717         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10718         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10719         stuff that we've traditionally exposed.
10720
10721         * gdk/**.c: Use gdkinternals.h where appropriate.
10722
10723         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10724         not include gdkprivate-x11.h, move all stuff of conceivable public
10725         interest into gdkx.h; keep all really private stuff in
10726         uninstalled header gdkprivate-x11.h.
10727
10728         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10729         image->image_put on windows through a new function _gdk_window_draw_image()
10730         to allow us to do backing store for images. (Sort of ugly)
10731
10732         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10733         contexts locally so that we can offset them properly when drawing 
10734         onto backing pixmaps.
10735
10736         * gdk/gdkinput.h: Reindented
10737
10738         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10739         pixmap or color for the window, so we can properly initialize
10740         our double-buffer pixmaps, and also so that we temporarily set
10741         a background of None while scrolling.
10742
10743         * gdk/gdkregion.h: Revise region boolean operators to have an
10744         interface that is actually convenient - switch from creating new
10745         regions on every op, to "methods" that modify existing regions
10746         (A = A OP B). 3 argument forms which allow dest == src, would also
10747         be possible, but the current interfaces seem to map nicely
10748         onto what needs to be done. (There is quite a lot of region
10749         code in GDK now.)
10750
10751         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10752         operator.
10753
10754         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10755         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10756         to 32 bit coordinates, modify it to be mostly GTK+ style
10757         and to have interfaces that match gdkregion.h.
10758
10759         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10760         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10761         create a backing pixmap and redirect all drawing to
10762         that backing pixmap until a matching gdk_window_end_paint().
10763
10764         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10765         Create a special drawable class for GtkWindow's that 
10766         redirects the drawing to the backing pixmap as necessary
10767         and then calls the real operations in _gdk_windowing_window_class.
10768
10769         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10770         Store invalid region for each window. Generate expose events for invalid
10771         region in an idle. This replaces both the expose compression
10772         and the redrawing queuing in GTK+. It is both more efficient and
10773         simpler than either one individually and far more so then the
10774         combination.
10775
10776         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10777         Emulate 32 bit coordinates for windows with 16 bit coordinates
10778         by offsetting drawing, guffaw scrolling techniques and
10779         mapping/unmapping child windows as necessary.
10780
10781         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10782         where, when invalid regions are processed, the region is stored,
10783         and if expose events come in that are detectably duplicate
10784         the processed exposes (by comparison of event serial numbers),
10785         the stored region is subtracted out of those exposes.
10786
10787         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10788         regions newly exposed when scrolling or resizing windows.
10789         This, combined with forcing processesing of queued invalidated
10790         regions, gives nice flicker-free scrolling.
10791
10792         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10793         invalidated regions after every scroll.
10794
10795         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10796         emulation in GDK. Its, for all practical purposes just a
10797         GtkViewport/GtkFixed hybrid now.
10798
10799         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10800         (16-bit) structures as necessary instead of just casting.
10801
10802         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10803         in terms of the structures from gdkregion-generic.c, using appropriate
10804         offsets from GDK to X11 coordinates. Cache clip mask and
10805         origin and ts origin locally and only flush to the server
10806         when drawing, to avoid constantly setting and resetting these
10807         values when offsetting GC's for scrolling and backing pixmaps.
10808
10809         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10810
10811         * gtk/gtkcontainer.c: Call process_all_updates at end
10812         of resizing to reduce flicker. (Avoids having redraw
10813         lag arbitrarily behind resize under some circumstances)
10814
10815         * gtk/gtkentry.c: Remove old backing store code, and simply take
10816         advantage of the new backing store capabilities of GDK.
10817
10818         * gtk/gtkmain.c: Simple implementation of widget backing
10819         store - simply push a paint while handling each expose.
10820         (Should really be configurable widget for widget.)
10821         
10822         * gtk/gtkwidget.c: Remove all the old complicated redraw
10823         code, and simply invalidate the GDK windows from
10824         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10825         debugged complexity ... gone to the winds.)
10826
10827         Remove all the code for suppressing expose events while
10828         resizes are pending; this isn't needed since the invalid
10829         areas won't be processed until after the resizes are
10830         processed, since they are in a lower priority idle.
10831
10832 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10833
10834         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10835         and height of dest rectangle for non-intersecting rectangles.
10836
10837 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10838
10839         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10840         for GdkRectangle.
10841
10842 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10843
10844         * gdk/gdk{events,image,private,types,window}.h
10845          gdk/x11/gdkinputprivate.h: Change all coordinates
10846          from int16 to int. Also, Change width and height from
10847          unsigned to signed to avoid all the stupid C 
10848          signedness bugs.
10849
10850 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10851
10852         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10853         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10854         Add some more detailed checking.
10855
10856         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10857         New function to retrieve the depth of a drawable.
10858
10859         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10860         field, reorder fields to save memory. 
10861
10862 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10863
10864         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10865         of the background image instead of scaling the background down to
10866         a line.
10867
10868         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10869         which temporarily set slider to wrong size.
10870
10871         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10872         queue_clear().
10873
10874 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10875
10876 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10877
10878         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10879
10880 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10881
10882         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10883         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10884
10885         * gdk/win32/gdkfont-win32.c
10886         * gdk/win32/gdkproperty-win32.c
10887         * gdk/win32/gdkselection-win32.c
10888         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10889         now declared such.
10890
10891 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10892
10893         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10894
10895 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10896
10897         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10898         is called without trapping X errors.
10899
10900 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10903         way into the fontset lists.
10904
10905 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10906
10907         * gtk/gtkthemes.h: add extern "C" scope.
10908
10909 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10910
10911         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10912         to make appends to the list constant. (gtk-guy-990901-0.patch)
10913
10914 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10915
10916         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10917         for the typename hash table.
10918
10919 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10920
10921         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10922         to make sure we never divide by zero. 
10923         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10924
10925 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10926
10927         * gtk/gtkfontsel.c: Apply patch from
10928         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10929         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10930
10931         Also, some cleanups in atom handling.
10932
10933 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10934
10935         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10936         not GtkWidget.
10937
10938 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10939
10940         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10941         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10942         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10943         more guint wrap-around bugs before going to bed.
10944
10945 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10946
10947         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10948         guint wrap arounds in allocation.width.
10949
10950         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10951         process untill we fit the allocation given.
10952
10953 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10954
10955         * gtk/gtkwidget.c:
10956         (gtk_widget_unrealize): guard widget access with ref/unref
10957         around signal emission.
10958         (gtk_widget_hide): same here, but also check its destroyed
10959         state before queueing a resize.
10960
10961 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10962
10963         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10964         of gtk_default_insensitive_bg as insensitive base color.
10965
10966         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10967         to the widget's state.
10968         (gtk_text_realize): same here.
10969         (gtk_text_state_changed): same here.
10970         (draw_bg_rect): compare background color against base[] from
10971         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10972
10973 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10974
10975         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10976         grabs are active, unless a delete event is send to the toplevel
10977         of the currently grab holding widget.
10978
10979 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10980
10981         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10982         debugging g_print's.
10983
10984 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10985
10986         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10987         ever make the scrolled-window requisition ever depend on the 
10988         visibility state of the scrollbars for the AUTOMATIC policy. 
10989         This breaks the GTK+ requisition model, and causes loops.
10990
10991 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10992
10993         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10994         the default font to avoid problems with XFree86-4.0 where the
10995         default charset is iso10646-1, not iso8859-1.
10996
10997 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10998
10999         * acinclude.m4
11000         * config.guess
11001         * config.sub
11002         * ltconfig
11003         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11004
11005         * gtk/Makefile.am: minor cosmetic consistency tweak
11006
11007 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11008
11009         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11010         the activate_time to 0, so that we handle a quick
11011         press/release press/release properly and don't suppress
11012         the second release. (Red Hat bug #7545)
11013
11014 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11015
11016         * gtk/gtkctree.c (row_delete):
11017         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11018         bugs with destruction notifier, *always* update internal
11019         structures *before* calling user code.
11020
11021 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11022
11023         A few more fixes for bug #5487, #2051, #2677.
11024         * gtk/gtkclist.c : 
11025         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11026         not GDK_BUTTON_PRESS.
11027         (resync_selection): resync only if selection_mode is
11028         GTK_SELECTION_EXTENDED
11029         * gtk/gtkctree.c (resync_selection): same here
11030
11031 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11032
11033         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11034         gdk_drag_get_selection() and gtk_menu_detach().
11035
11036         [ From Jeroen Ruigrok/Asmodai ]
11037
11038 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11039
11040         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11041         page->tab_label can be NULL.
11042
11043 2000-01-25  Havoc Pennington  <hp@pobox.com>
11044         
11045         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11046         arg is boolean
11047
11048         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11049
11050         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11051
11052         * gdk/gdkproperty.c (gdk_property_get): return boolean
11053
11054         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11055
11056         * gdk/gdkim.c (gdk_im_ready): return boolean
11057
11058         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11059
11060         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11061         glib clash, should fix glib)
11062
11063         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11064         (gdk_get_show_events): return gboolean, and canonicalize 
11065         to TRUE/FALSE
11066
11067         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11068         colormap is private
11069         (gdk_colors_alloc): gboolean whether to be contiguous
11070         (gdk_color_equal): return gboolean since we are a predicate
11071         and not a qsort() (this looks semi-wrong due to glib breakage,
11072         IMO glib should be fixed)
11073         
11074         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11075         (gdk_get_use_xshm): return gboolean
11076         (gdk_pointer_is_grabbed): return gboolean
11077
11078         * gdk/gdk.h: Change prototypes to match all the above changes,
11079         and re-run egtk-format-protos as required.
11080
11081 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11082
11083         * gtk/gtkctree.c (resync_selection): 
11084         * gtk/gtkclist.c (resync_selection):
11085
11086         Return immediately if clist->drag_pos < 0. This is a workaround
11087         for the corrupt state that the clist gets into when a
11088         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11089
11090         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11091         
11092         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11093         variable from recent commit.
11094
11095 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11096
11097         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11098
11099 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11100
11101         * gtk/Makefile.am: prefix all autogenerated source that get build in
11102         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11103         in builddir. since we subsequently cd into srcdir for autogeneration,
11104         the paths have to be stripped from the target file names, thusly we
11105         use $(@F) as target names now.
11106         put a comment about configure.in's --disable-rebuilds option,
11107         which can be used for non-writable source directories, for development
11108         setups though, srcdir has to be *writable*.
11109
11110 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11111
11112         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11113           Finish the job of allowing event to be NULL.
11114           (Fixes bug #4283, reported by Chris Blizzard)
11115
11116         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11117           things so that the cursor appears on screen, properly
11118           take into account INNER_BORDER.
11119           (Fixes bug #4754, reported by Antonio Campos)
11120
11121 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11122
11123         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11124           show the tab_label unless it itself is visible.
11125
11126           gtk/gtknotebook.c (gtk_notebook_size_request):
11127           Do a better job of making sure that the visibility
11128           of the tab label corresponds to whether it should
11129           be mapped or not.
11130
11131 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11132
11133         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11134           Use the requisition, not the allocation, since the
11135           allocation has not necessarily been computed yet.
11136           (Pointed out by Eugene Osintsev)
11137
11138 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11139
11140         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11141           style/base[GTK_STATE_INSENSITIVE] both to
11142           gtk_default_insensitive_bg!
11143           (Bug #2187, reported by Jonathan Blandford)
11144
11145         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11146           Add Alt_L, Alt_R to list of invalid accelerators.
11147           (Bug #3736, reported by Vlad Harchev)
11148
11149 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11150
11151         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11152         bugs which occured after an attempt to open 
11153         invalid home directory left cmpl_state->reference_dir == NULL.
11154
11155          - completion on files in home directory didn't work
11156          - completion on an empty string caused  segfault
11157
11158          (Bug #3678, reported by Steve Ratcliffe)
11159
11160         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11161         cut and paste error that was causing scales to
11162         be incorrectly positioned.
11163         (Bug #2956,
11164          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11165
11166 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11167
11168         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11169         when checking for dcgettext, if we've found we needed
11170         it for dgettext.
11171 +
11172 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11173
11174         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11175         queue_clear on NO_WINDOW widgets during a reparent,
11176         since at that point the window and widget heirarchies
11177         are out of sync. This stops crashing in some cases
11178         (the scrolled window reparent test, for instance), and
11179         _probably_ won't cause drawing errors.
11180
11181         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11182         test do what it was supposed to do and be robust against
11183         window closings, etc. (Bug #2443)
11184
11185 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11186
11187         * gtk/gtkentry.c: Fix return values on mouse events.
11188         (Bug #2686, Sky <seb_sky@yahoo.com>)
11189
11190         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11191         (pointed out by George Lebl)
11192
11193         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11194         (From Ettore Perazzoli  <ettore@helixcode.com>)
11195  
11196 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11197
11198         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11199         clicks between rows or outside calender area correctly.
11200         (Patch from Damon Chaplin)
11201
11202         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11203         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11204           Call destroy function when overwriting existing data. 
11205           (Pointed out by Damon Chaplin)
11206
11207 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11208
11209         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11210           which was causing problems on various systems with Xmu.
11211           This hasn't been needed for a very long time.
11212           (Fixes #1185 3167)
11213
11214 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11215
11216         * gdk/gdki18n.h: Include <ctype.h> when defining
11217           gdk_isw* in terms of is* as a fallback.
11218           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11219
11220 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11221
11222         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11223           realize the widget when it is size allocated!
11224           (old, old bug)
11225
11226         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11227           Removed unused call to gdk_window_get_size() that
11228           showed up when the above was fixed.
11229
11230 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11231
11232         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11233           fix up widget->window when the widget is a
11234           NO_WINDOW container widget.
11235
11236 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11237
11238         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11239           to account for the fact that feof() does _not_ 
11240           return TRUE on errors, and thus avoid infinite loops
11241           when trying to use gdk_pixmap_create_from_xpm()
11242           on unreadable values.
11243
11244 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11245
11246         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11247
11248 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11249
11250         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11251           gdk_gc_set_dashes to take gint8 instead of gchar to
11252           make it clearer that it is _not_ a NULL terminated string.
11253
11254         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11255           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11256           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11257           arguments.
11258
11259 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11260
11261         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11262         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11263         background size relative to our allocation, guard against small
11264         allocations, we may have not yet been size allocated.
11265
11266 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11267
11268         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11269         not just version == 3. We implement all 3 + most of 4 - 
11270         (we don't support matching text/plain;charset=iso-8859-1
11271         to a dest that expects text/plain). We'll still advertise
11272         3 to be safe, but any client implementing version >= 3
11273         must interoperate with 3.
11274         
11275 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11276
11277         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11278         background and gc members, add a warning in gtk_tooltips_set_color()
11279         indicating that this function is deprecated.
11280
11281 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11282
11283         * docs/gtkfaq.sgml: FAQ Update:
11284           - Minor cleanups (Emmanuel, me)
11285           - New questions:
11286                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11287                 How can I retrieve the text from a GtkMenuItem? (timj)
11288                 How do I validate/limit/filter the input to a GtkEntry? (me)
11289                 Memory does not seem to be released when I free the list
11290                         nodes I've allocated (timj)
11291
11292 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11293
11294         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11295         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11296         for which it is no use to call GetLastError onWin9x.
11297         (gdk_other_api_failed) New function, for general error
11298         reporting without calling GetLastError.
11299         (gdk_win32_api_failed) OTOH, this function always calls
11300         GetLastError. (gdk_win32_last_error_string) Remove this function,
11301         GLib has the equivalent now.
11302
11303         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11304         call them with function name, file name and line number in the
11305         arguments.
11306
11307         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11308         functions.
11309         
11310         * gtk/gtk.def: Add some missing entry points.
11311
11312         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11313         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11314         
11315         Fixes by Hans Breuer:
11316
11317         * gdk/makefile.msc: Update for debugging.
11318
11319         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11320         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11321         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11322         in the dash_list.
11323
11324         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11325         the x11 backend.
11326
11327         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11328
11329         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11330
11331 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11332
11333         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11334         just pixel value of background colour.
11335
11336         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11337         containing code snippet previously duplicated in a couple of
11338         places.
11339         
11340         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11341         gdk_colormap_color.
11342
11343         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11344         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11345         events for autorepeated Shift, Control and Alt keys. Use
11346         gdk_colormap_color.
11347
11348         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11349         pointer is inside the window the cursor of which we are setting,
11350         call SetCursor immediately.
11351
11352         * gdk/win32/makefile.cygwin
11353         * gtk/makefile.cygwin: If we don't have the build number stamp
11354         file, use zero.
11355
11356         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11357         gtk_paned_set_gutter_size as empty.
11358
11359         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11360         
11361 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11362
11363         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11364           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11365           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11366           docs/gtk_tut.sgml docs/gtk.texi TODO:
11367
11368           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11369
11370 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11371
11372         * gtk/gtkcalendar.c: Implement num_marked_dates,
11373           and don't emit mutiple day_selected signals on
11374           month_prev.
11375
11376 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11377
11378         * docs/make-todo (lineno): let title and logo be configurable so
11379         that GNOME can use this script too.
11380
11381         * TODO.xml: added logourl and a title
11382
11383 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11384
11385         * TODO.xml: Added some UI items, and an explanatory
11386         comment at the top of the file.
11387
11388 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11389
11390         * TODO.xml: some updates, added abunch of new entries.
11391         a note for those fiddeling with this file, when done
11392         with it, invoke:
11393         $ ./docs/make-todo TODO.xml >/dev/null
11394         and correct output errors before comitting changes.
11395
11396 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11397
11398         * TODO.xml: Added XML-structured TODO file.
11399         * docs/make-todo: python script to turn TODO.xml into
11400           pretty XML output. 
11401
11402 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11403
11404         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11405         the function to let it draw the seven dots, instead of the old,
11406         much maligned, method.
11407         (draw_dot): New function to draw a dot.
11408
11409         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11410         to draw the handle inside the border width as opposed to outside.
11411         Use paint function instead of gdk_draw_point.
11412
11413         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11414         to draw the handle inside the border width as opposed to outside.
11415         Use paint function instead of gdk_draw_point.
11416
11417         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11418         Change indenting to be more GTK like.
11419
11420 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11421
11422         * docs/gtk_tut.sgml: New section on GtkCalendar
11423         * examples/calendar: Update example code
11424
11425 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11426
11427         * docs/gtkfaq.sgml: FAQ Update
11428
11429 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11430
11431         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11432         to prevent the scroll event to be propagated upwards.
11433
11434 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11435
11436         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11437         OwnerGrabButtonMask from button entries for
11438         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11439
11440         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11441         to the event mask (which will result in button/press release
11442         being added to the event mask on Unix) so scrolling works
11443         for layouts in scroll windows.
11444
11445         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11446
11447         Patch from Anders Carlsson  <andersca@gnu.org> to add
11448         a scroll event.
11449
11450         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11451         scrolling to the "Test Scrolling" part of testgtk.
11452  
11453         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11454  
11455         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11456         it against GDK_SCROLL.
11457  
11458         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11459         way of mouse wheel scrolling.
11460  
11461         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11462  
11463         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11464  
11465         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11466  
11467         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11468         gdk_event_mask_table.
11469  
11470         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11471         GdkEventScroll handler.
11472  
11473         * gdk/gdkevents.h: Added GdkEventScroll structure.
11474  
11475 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11476
11477         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11478         and Anders Carlsson to change the Paned widgets so that they
11479         can be dragged from anywhere along the length. Also change
11480         the way that this is drawn to make this apparent.
11481
11482         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11483         from George Lebl to check that option_menu->menu is present
11484         before getting history.
11485
11486 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11487
11488         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11489         before the assertion for non-NULL segment list.
11490
11491         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11492         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11493         machine, but it might be display driver dependent. Sigh, so make
11494         sure the stipple is that size. Does Windows suck or what?
11495
11496         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11497         places.
11498
11499 2000-02-13  Havoc Pennington  <hp@pobox.com>
11500
11501         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11502         refcount to 1
11503         (gdk_cursor_new): init refcount to 1
11504
11505         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11506
11507 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11508
11509         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11510         so that we don't have to do unnecessary settings to the HDC.
11511
11512         * gdk/win32/gdkdrawable-win32.c
11513         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11514         gdk_gc_predraw.
11515
11516         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11517         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11518         GDI paths, call WidenPath to get the outline of the stroken path,
11519         and then fill the outline (with the brush that was built from the
11520         stipple).
11521
11522         * gdk/win32/gdkgc-win32.c: Factor out common code from
11523         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11524         gdk_win32_gc_values_to_win32values. Use correct colour for
11525         SetBkColor() (Until now the code actually used a random colour in
11526         the call to SetBkColor()... but that didn't show up as not many
11527         GDI APIs use the background colour. Pattern (opaque stippled)
11528         brushes do.)
11529
11530         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11531         gdk_win32_api_failed): New functions for error logging.
11532
11533         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11534         WIN32_API_FAILED to call them, passing function or file name and
11535         line number.
11536
11537         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11538
11539         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11540         GdkColor for foreground and background in GdkGCWin32Data.
11541
11542         * gdk/makefile.cygwin: Link in the resource object separately.
11543
11544         * gdk/win32/rc/gdk.rc
11545         * gtk/gtk.rc (New file)
11546         * gdk/win32/makefile.cygwin
11547         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11548         as in GLib.
11549
11550 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11551
11552         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11553         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11554         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11555         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11556         parameters given and cursor->ref_count. coding style fixups.
11557
11558         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11559         not GtkWidget.
11560         
11561         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11562         fix up widget macros and add _GET_CLASS() variant.
11563         
11564         * gtk/*.c: some GtkType fixups.
11565
11566 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11567
11568         * gdk/win32/gdkproperty-win32.c
11569         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11570         were reversed.
11571
11572 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11573
11574         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11575         g_filename_to_utf8 to convert the font names Windows gives us from
11576         whatever is the default codepage to UTF-8.
11577         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11578         in the other direction.
11579
11580         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11581         error in debugging output.
11582
11583 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11584
11585         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11586         and height parameters to gdk_window_clear_area(). Not minus one.
11587
11588 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11589
11590         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11591         checks if the widget passed to gtk_drag_get_data() was not the
11592         dest widget.
11593
11594 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11595
11596         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11597         g_filename_from_utf8 functions (which were added a moment ago to
11598         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11599         size buffers.
11600
11601         gtk_file_selection_get_filename returns the filename in the C
11602         runtime encoding. It calls g_filename_from_utf8, but copies the
11603         returned string to a static buffer, which is returned. I think
11604         this is better than returning the result from g_filename_from_utf8
11605         directly, which would mean all apps that use it would have to free
11606         the return value. Or should this function care about this issue at
11607         all? Maybe a new function with clearly defined semantics.
11608
11609         * gtk/gtkfilesel.h: Add comment about
11610         gtk_file_selection_get_filename returning the filename in the C
11611         runtime's encoding.
11612
11613         * README.win32
11614         * gdk/gdk.def
11615         * gdk/makefile.{cygwin,msc}
11616         * gtk/gtk.def: Updates.
11617
11618         * gdk/gdkcursor-win32.c: Initialise refcount.
11619
11620 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11621
11622         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11623
11624 2000-01-30  Havoc Pennington  <hp@pobox.com>
11625
11626         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11627         destroy
11628
11629         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11630
11631         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11632         implemented in platform-specific code
11633
11634         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11635
11636         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11637         underscore in front
11638
11639         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11640         put an underscore in front
11641
11642         * gdk/gdkcursor.c: new file, implements
11643         gdk_cursor_ref/gdk_cursor_unref
11644
11645         * gdk/gdkcursor.h: Refcount GdkCursor
11646
11647         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11648
11649 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11650
11651         * gdk/gdkwindow.h
11652         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11653
11654 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11655
11656         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11657         structures to properly inherit from GtkWidget not GtkBin.
11658
11659 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11660
11661         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11662         (bug #5178 - Peter Wainright)
11663         
11664         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11665         so that it will be installed.
11666         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11667
11668 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11669
11670         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11671         for the GtkStyleClass vtable const.
11672
11673         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11674         take a const string argument like GtkTranslateFunc. This will
11675         require changes in use code.
11676
11677 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11678
11679         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11680         semantics (to mimic the X11 backend, which just calls XClearArea)
11681         is to check for zero width (and height), and in that case use the
11682         window's width minus x (height minus y). This fixes for instance
11683         some redraw problems with gtkclist, which were easily noticeable
11684         in the gtk file selection widget.
11685
11686         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11687         windows.
11688
11689 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11690
11691         * configure.in
11692         * gdk/Makefile.am
11693         * gdk/x11/Makefile.am
11694         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11695         (bug #5177).
11696         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11697         out later.
11698
11699 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11700
11701         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11702         WM_MOVE for iconified or invisible windows. This fixes various
11703         problems when minimising windows. Thanks to Bernd Herd.
11704
11705 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11706
11707         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11708         backend's draw_lines method, not draw_points.
11709
11710 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11711
11712         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11713         before Owen's reorganisation: Don't have queued_events and
11714         queued_tail statics in this file, but use gdk_queued_events and
11715         gdk_queued_tail. This makes exposure event compression work again.
11716
11717         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11718         seem to be needed?
11719
11720 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11721
11722         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11723         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11724         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11725         doesn't do anything.
11726
11727         * gdk/gdk.def: Add gdk_xid_table_insert.
11728
11729         * gdk/win32/gdkprivate-win32.h
11730         * gdk/win32/gdkevents-win32.c
11731         * gdk/win32/gdkinput-win32.c
11732         
11733         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11734         extension_events field in the GdkWindowWin32Data struct. Use only
11735         the extension_events field in GdkWindowPrivate. Previously one was
11736         set, and the other one tested, which broke tablet
11737         functionality. Thanks to Keishi Suenaga for pointing this out.
11738
11739 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11740
11741         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11742         When handling a single character (text length == 1), don't handle
11743         it as if it was UTF-8.
11744
11745 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11746
11747         * Makefile.am: Distribute README.win32.
11748         
11749         * gdk/Makefile.am
11750         * gdk/win32/Makefile.am: Distribute Win32 files.
11751
11752         * gdk/makefile.msc: New file.
11753
11754         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11755         after label).
11756
11757         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11758         gdk_error_code as GDKVAR, as they are referred outside GDK.
11759
11760         * gdk/win32/makefile.msc: Update.
11761
11762         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11763         tweaks. Check only if at least one of those Unicode subrange bits
11764         we care for is set. If no code page bits are set, guess (wildly)
11765         based on the charset.
11766
11767         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11768
11769         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11770         non-NULL.
11771
11772         * gtk/gtkdnd.c
11773         * gtk/gtklayout.c
11774         * gtk/gtkplug.c
11775         * gtk/gtkselection.c
11776         * gtk/gtksocket.c
11777         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11778         appropriate. There must be a cleaner way to handle this?
11779
11780         * gtk/gtkrc.c: Must include windows.h on Win32.
11781
11782         * gtk/testgtk.c: No need to include gdkx.h.
11783
11784         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11785
11786 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11787
11788         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11789         the rbearing is set to the same as the width, but this should be
11790         fixed.
11791
11792 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11793
11794         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11795         function. If Windows doesn't tell us what Unicode subranges a font
11796         covers, guesstimate based on the codepages it covers. This will
11797         hopefully help those Windows versions or fonts that don't give us
11798         any useful Unicode subrange information with GetTextCharsetInfo.
11799         Call this function in gdk_font_load_internal.
11800
11801         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11802         minor changes.
11803
11804 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11805
11806         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11807         New function, long needed.
11808
11809 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11810
11811         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11812         only_if_exists argument of gdk_atom_intern to
11813         bool.
11814
11815 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11816
11817         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11818         Fix two copy&paste errors.
11819
11820         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11821         win32 has changed.
11822
11823         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11824         GdkWin32SingleFont struct.
11825
11826         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11827         subranges of loaded fonts. Clear font signature first, in case
11828         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11829         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11830
11831         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11832         Unoffset clip region.
11833
11834 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11835
11836         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11837         event->any.window before calling filter functions.
11838
11839 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11840
11841         * gtk/gtkgamma.h: Adapt cast macros to standard.
11842
11843 [ Merges from 1.2 ]
11844
11845 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11846
11847         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11848         If translation does not include a '/', use entire
11849         translation instead of crashing.
11850
11851 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11852
11853         * docs/gtk_tut.sgml:
11854         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11855
11856 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11857
11858         * gtk/gtkselection.c (gtk_target_list_remove): Use
11859         g_list_remove_link, not g_list_remove.
11860
11861         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11862         
11863 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11864
11865         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11866         statement upon unselection (how the heck did that slip in?).
11867
11868 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11869
11870         * gtk/gtktext.c (gtk_text_freeze): 
11871         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11872         in frozen state (and aparently crashes). patch provided by Anders
11873         Melchiorsen <and@kampsax.dtu.dk>.
11874
11875 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11876
11877         * fix insensitive default/focus widget activation,
11878         reported by Matt Goodall <mgg@isotek.co.uk>.
11879
11880         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11881         (gtk_window_activate_default):
11882         (gtk_window_activate_focus):
11883         return handled=FALSE for actiavtion of insensitive default
11884         widgets. return handled=TRUE for activation of insensitive
11885         focus widgets. don't activate in either case.
11886
11887 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11888
11889         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11890         and $glib_cflags to match library order and in the
11891         theory that an old version of GLib is more likely to
11892         be in the include directory for X then vice-versa.
11893         (Bug #2776)
11894
11895 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11896
11897         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11898         to determine the locale for fontsets, not LC_MESSAGES;
11899         the user may want English messages with a handling
11900         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11901         will still be broken) (Bug #2891)
11902
11903 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11904
11905         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11906
11907 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11908
11909         * gtk/gtkrc.ko: Changed the Korean default fontset.
11910
11911 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11912
11913         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11914         where when scrolling to the left or top double exposes
11915         were done, causing major slowdowns.
11916
11917 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11918
11919         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11920         names to lowercase and alphanumeric, before looking
11921         them up.
11922
11923         * gtk/Makefile.am: Install codeset variant gtkrc files
11924         with normalized names.
11925
11926 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11927
11928         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11929         popup menus when the menu is already visible, but its parent
11930         is still hidden, (happens after tornoff window got hidden).
11931
11932 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11933
11934         * gtk/Makefile.am (install-data-local): Fix
11935         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11936         deleted, causing error messages on install.
11937
11938 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11939
11940         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11941         the handle as well, since we now sometimes ignore
11942         exposes on the handle while resizing.
11943
11944 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11945
11946         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11947         extra g_free introduced in one of the last one or two 
11948         commits.
11949
11950 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11951
11952         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11953         consistent, put each style that a gtkrc.* file creates
11954         in a unique namespace, remove old files before installing.
11955
11956 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11957
11958         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11959         gtk_rc_init is called multiple times. (Yes, people who
11960         do that have bugs in their code.)
11961
11962 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11963
11964         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11965         Remove it since it's generated by the Makefile anyway
11966
11967 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11968
11969         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11970         device->info.axes for core pointer.
11971
11972 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11973
11974         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11975         idle_id, to deal with obsolete, broken C libraries.
11976
11977 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11978
11979         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11980         allocation->x/y twice!
11981
11982         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11983         consistent with gtk_vscale_pos_trough().
11984
11985 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11986
11987         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11988         be queueing a resize on a toplevel container between
11989         the time we show it and when we map it. So, we need
11990         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11991         use GTK_WIDGET_DRAWABLE() for child windows.
11992
11993 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11994
11995         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11996         (fixes bug #2144)
11997
11998 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11999
12000         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12001         container DRAWABLE (instead of VISIBLE), so we don't queue
12002         resizes on non-toplevel containers.
12003
12004 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12005
12006         * gtk/gtkselection.[ch]: Make the data argument
12007         const guchar *.
12008
12009 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12010
12011         * gtk/gtkwindow.c: Try to behave sensibly if 
12012         the focus widget is the window itself. (Should
12013         we allow this at all?)
12014
12015 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12016
12017         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12018         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12019         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12020         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12021         in prototypes and implementations consistent (Tomas Ogren).
12022
12023         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12024         before the widget is unparented (reported by damon).
12025
12026         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12027         since we provide unsigned data anyways.
12028
12029 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12030
12031         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12032         the call to gtk_tooltips_layout_text() until later.
12033
12034         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12035         Call gtk_widget_ensure_style() before using the style.
12036
12037 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12038
12039         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12040         for old widgets that don't propagate draws to all
12041         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12042
12043 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12044
12045         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12046         for a redraw but just the widget that requested the resize.
12047
12048 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12049
12050         * gtk/gtkcontainer.c: added new widget level method
12051         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12052         reallocate_redraws : 1 to reflect the setting, exported this through
12053         the argument system as a boolean ::reallocate_redraws.
12054
12055         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12056         on the widget because the allocation changes, do so as well for
12057         widget->parent if the parent has reallocate_redraws set to TRUE.
12058         with that containers requesting reallocation redraws get automatically
12059         redrawn if their children changed allocation (this unfortunately
12060         affects also other children that didn't change allocation, but we
12061         cannot work around that before 1.3).
12062
12063 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12064
12065         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12066         _and_ height are >0 (not _or_).
12067
12068         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12069         instead of gtk_container_queue_resize(), which is a core gtk internal
12070         function (must have been on crack when i queued that).
12071
12072         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12073         we can check more reliably if we want to discard expose events.
12074         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12075         flag.
12076         
12077         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12078         we simply trust these events. for deciding whether to discard exposes,
12079         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12080         
12081 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12082
12083         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12084         queues of areas that are completely off screen.
12085
12086         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12087         logic for handleboxes.
12088
12089         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12090         check on width/height.
12091
12092 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12093
12094         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12095         we are fine with using $@ the way we do (if we actually encounter
12096         brokeness with $@ in VPATH builds because of additional path prefixes,
12097         we need to use $(@F) actually).
12098
12099 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12100
12101         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12102         short lived bugs, that would allow language bindings to do surgeries
12103         to our guts.
12104
12105 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12106
12107         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12108         where comparison was being done against an uninitialized
12109         value causing intermittant results depending on
12110         compiler flags. Also make it clearer that we aren't
12111         ever initializing the child as 0x0 (though this will
12112         be caught in gtk_widget_size_allocate())
12113
12114 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12115
12116         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12117         gtk_window_unset_transient_for() call after we do checks
12118         involving the old transient parent.
12119         [ From Lance Capser <lmc@cyberhighway.net> ]
12120
12121 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12122
12123         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12124         an empty file.
12125
12126 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12127
12128         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12129         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12130
12131 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12132
12133         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12134         `$@' is valid only in the build dir, not after we've done 
12135         `cd $srcdir'.  Also use `test -f' instead of less portable
12136         `test -e'.
12137
12138 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12139
12140         * gtk/gtktext.c (correct_cache_insert): Rewrite
12141          for simplicity, and hopefully correctness.
12142          (Fixes bug #1322, which was a segfault when
12143           on some insertions with the properties around
12144           the insertion set up just wrong.)
12145
12146         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12147          a "changed" signal, clamp the new value to the adjustment
12148          bounds to avoid segfaulting if someone tries to change
12149          the adjustment to a bogus value. (Bug #1795)
12150
12151 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12152
12153         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12154         for children, for toplevel windows handle them
12155         like delete_event.
12156
12157         * gtk/gtkplug.c: Add an unrealize handler so that
12158         we unref plug->socket_window when we are done
12159         with it.
12160
12161 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12162
12163         * gtk/gtktext.c (clear_area): Fix stupid signedness
12164          problem that was causing background to sometimes
12165          be misaligned.
12166
12167 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12168
12169         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12170         
12171         * gtk/gtkmenu.c (gtk_menu_position): Make
12172          sure we never position menus with negative x, y,
12173          since gtk_widget_set_uposition() can't handle that.
12174
12175         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12176          Modify the positioning code a bit so that we always
12177          put the top-left corner onscreen. (This is for
12178          UI reasons, gtk_menu_position() now takes care of
12179          gtk_widet_set_uposition() brokeness.)
12180
12181 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12182
12183         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12184
12185 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12186
12187         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12188           RC style that is passed in. The lack of the ref
12189           before was a bug. If people worked around this
12190           bug, this will introduce a slight memory leak
12191           in their code. The code should typically look like:
12192
12193             rc_style = gtk_rc_style_new ();
12194             [...]
12195             gtk_widget_modify_style (widget, rc_style);
12196             gtk_rc_style_unref (rc_style);
12197
12198         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12199           the style if it was already set.
12200
12201         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12202           style if it was set before.
12203
12204 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12205
12206         * gtk/testgtk.c (main): Add a check to see if we
12207           are being run from the correct directory and
12208           to quit nicely if we are not.
12209
12210         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12211           static.
12212
12213 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12214
12215         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12216
12217         * gtk/gtkwindow.c:
12218         queue resizes unconditionally (gtk_widget_queue_resize will figure
12219         what to do if the window is not realized).
12220         (gtk_window_move_resize): only recenter the window
12221         for GTK_WIN_POS_CENTER_ALWAYS.
12222         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12223         the same way as GTK_WIN_POS_CENTER.
12224
12225 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12226
12227         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12228         with (!(info->last_flags & GDK_HINT_POS)) instead of
12229         (!info->last_flags & GDK_HINT_POS).
12230
12231         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12232         new_height unconditionally, because we use these values even if
12233         !default_size_changed && !hints_changed.
12234         comented the (default_size_changed || hints_changed) case with
12235         respect to resize rejects from the window manager.
12236
12237         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12238         in the zvt condition hack, since this includes the window hints, set
12239         the hints after the handling_resize case.
12240
12241         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12242         window is initially shown with to the geometry.
12243
12244 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12245
12246         * gtk/gtkwindow.c (gtk_window_move_resize):
12247         s/size_changed/default_size_changed/g so i know what's
12248         really going on (frying brain on smaller flame now).
12249
12250 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12251
12252         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12253         we have size_changed upon handling_resize. this is a gross
12254         workaround for the broken zvt widget and should be removed in
12255         1.3 again (search for FIXME).
12256         Owen provided an accurate comment for this:
12257
12258         /* We could be here for two reasons
12259          *  1) We coincidentally got a resize while handling
12260          *     another resize.
12261          *  2) Our computation of size_changed was completely
12262          *     screwed up, probably because one of our children
12263          *     is broken. It's probably a zvt widget.
12264          *
12265          * For 1), we could just go ahead and ask for the
12266          * new size right now, but doing that for 2)
12267          * might well be fighting the user (and can even
12268          * trigger a loop). Since we really don't want to
12269          * do that, we requeue a resize in hopes that
12270          * by the time it gets handled, the child has seen
12271          * the light and is willing to go along with the
12272          * new size. (this happens for the zvt widget, since
12273          * the size_allocate() above will have stored the
12274          * requisition corresponding to the new size in the
12275          * zvt widget)
12276          *
12277          * This doesn't buy us anything for 1), but it shouldn't
12278          * hurt us too badly, since it is what would have
12279          * happened if we had gotten the configure event before
12280          * the new size had been set.
12281          */
12282
12283 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12284
12285         * gtk/gtkrc.c: deal properly with the fact that RC
12286           style lists may include rc styles more than once.
12287
12288         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12289           unused static function.
12290
12291         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12292           stack of directories of RC files currently being
12293           parsed and implicitely add them to pixmap path.
12294           
12295           This fixes a bug where the directory would get
12296           appended then overwritten by pixmap_path declarations.
12297
12298           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12299
12300         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12301           theme's exit function. (Patch from Peter Wainwright,
12302           bug #1454)
12303
12304         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12305           Add a destroy() handler to take care of removing
12306           group for menu item. (Fixes bug #1197)
12307
12308         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12309           in warning message.
12310
12311 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12312
12313         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12314         roundtrip to figure window's width and height, since we know that
12315         anyways from widget->allocation.
12316
12317 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12318
12319         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12320           the hints after we request the new size.
12321
12322 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12323
12324         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12325           GTK_WIDGET_REALIZED() assertion - we can compute the
12326           hints before we are realized.
12327
12328         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12329           hint changing so that we have a value of hints_changed
12330           when we decide whether to constrain the window size.
12331
12332         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12333
12334         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12335         change back to G_MAXINT.
12336
12337 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12338
12339         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12340         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12341         contain uncluttered values.
12342         (gtk_window_compute_hints): simply assert that window is realized
12343         and that geometry_info is valid, since we rely on this anyways.
12344         (gtk_window_constrain_size): major cleanups to the code.
12345         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12346         for the base size, instead of the minimums. use 32767 as max width
12347         and height (like in gtkwindow.c) instead of G_MAXINT.
12348
12349 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12350
12351         * cleaned up the GtkContainer.need_resize flag handling mess, we
12352         only need to force resize requests when we were prematurely
12353         realized, or our widget tree was modified when we were temporarily
12354         hidden. handling these cases directly upon showing the window (i.e.
12355         while the GdkWindow is still unmapped) avoids the need to wait for
12356         a configure event response and therefore makes the GUI more snappier
12357         and avoids blank windows during the roundtrip.
12358
12359         * gtk/gtkwidget.c:
12360         (gtk_widget_hide): 
12361         (gtk_widget_show): don't queue resizes on toplevels, they know how
12362         to deal with matters.
12363
12364         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12365         flag directly for not visible resize containers and spare us unecessary
12366         signal emissions.
12367
12368         * gtk/gtkwindow.c:
12369         (gtk_window_realize): if we need to enforce premature size allocation,
12370         queue a container resize so we are correctly resized later on.
12371         (gtk_window_init):
12372         (gtk_window_size_request):
12373         don't freak around with the ->need_resize flag,
12374         gtk_container_queue_resize() will care about that.
12375         (gtk_window_show):
12376         handle initial resizing issues here, we can handle matters better in
12377         this place, especially since we know that our GdkWindow is still
12378         unmapped.
12379         (gtk_window_move_resize):
12380         don't care about ->need_resize at all.
12381         handle size changes properly that occoured while we waited for a
12382         configure event.
12383
12384 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12385
12386         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12387         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12388         Move the hint setting code from gtk_widget_set_uposition
12389         to here; set the hints so that we respect any previously
12390         set geometry hints.
12391
12392         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12393         change the window hints here or move the window here,
12394         let that happen in gtk_window_move_resize().
12395
12396 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12397
12398         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12399         to already queued resizes (and therefore redraws) on a widget, check
12400         its anchestry as well.
12401
12402         * gtk/gtkcontainer.c:
12403         (gtk_container_queue_resize): clear resize widgets for resize
12404         containers before aborting prematurely. this is especially important
12405         for toplevels which may need imemdiate processing or their resize
12406         handler to be queued.
12407         (gtk_container_dequeue_resize_handler): added new internal function for
12408         gtkwindow.c.
12409
12410         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12411         configure event, take possible changes in window position into account
12412         as well.
12413         if we request a new window size, queue up a resize handler that will
12414         last until the configure event response arrives.
12415         combined the ->need_resize case (initial show) with the general size
12416         (hints) changed case and added even more comments.
12417         if !auto_shrink, only revert to the old allocation if the new size
12418         is smaller than the current allocation.
12419
12420 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12421
12422         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12423                            gtk_window_set_geometry_hints
12424                            gtk_window_set_default_size):
12425         When hints are set, queue a resize so that the hints will
12426         be eventually reset on the toplevel.
12427
12428         * gtk/gtkwindow.c (gtk_window_show): Use
12429         gtk_window_compute_default_size(). Clear the need_resize flag
12430         on the initail map so that we don't unnecessarily trigger the
12431         resize code.
12432
12433         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12434         into separate functions. Compare the hints we are setting
12435         with what we set last time so that we can accurately
12436         tell when we need to reset the hints.
12437
12438         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12439         function to figure out the size from requisition
12440         and default_size.
12441
12442         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12443         from fvwm to constrain a size to the geometry hints.
12444
12445         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12446         to compare two sets of geometry hints.
12447
12448         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12449         from gtk_window_set_hints(), just compute the hints,
12450         don't set them.
12451
12452         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12453         code from gtk_window_move_resize() to separate function,
12454         rationalize a bit.
12455
12456 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12457
12458         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12459         structure into a new private structure.
12460
12461         * gtkrc.c: Split GtkRcStyle into public/private.
12462         In the private part, add a list of pointers to the
12463         RcStyle lists this RcStyle participates in.
12464
12465         * gtkrc.c: When a RcStyle is free, remove all
12466         lists referencing it from the 
12467         realized_style_ht hash, and free those lists.
12468         
12469         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12470         gtk_rc_init(), since that adds the default styles
12471         to the list of parsed RC files again.
12472
12473         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12474         
12475 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12476
12477         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12478         checks that ensure that a widget's allocation is at least 1 in width
12479         and height. (GNOME note: this doesn't affect old panel code anymore,
12480         because GtkSocket will request width and height of at least 1 since
12481         Fri Jul 23).
12482
12483         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12484         allocated yet (happens if the user realizes the window prematurely),
12485         size request and allocate it.
12486         (gtk_window_size_allocate): guard against guint underflows.
12487
12488 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12489
12490         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12491         in gtk_built_sources, so gtk.defs gets built prior to all other
12492         sources.
12493
12494 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12495
12496         * gtk/Makefile.am:
12497         invoke indent on gtkmarshal.*. 
12498         rewrote source generation rules, use COPYING as oldest source tag for
12499         a piggyback rule to generate all sources from (don't touch it ;).
12500         major cleanups, strip spaces on build rules for GNU Make.
12501
12502         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12503         source and target files from commandline arguments. don't invoke indent.
12504
12505 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12506
12507         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12508         notebook after switch to avoid drawing problems.
12509         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12510         
12511         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12512         show them instead. 
12513         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12514
12515 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12516
12517         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12518         notebook after switch to avoid drawing problems.
12519         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12520         
12521         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12522         show them instead. 
12523         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12524
12525 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12526
12527         * gtk/gtkwindow.c:
12528         we use window->need_resize from configure_event now, to indicate that
12529         the gtkwindow should keep its allocation (e.g. because the user resized
12530         the window through window manager handles). resize_count is now reliably
12531         used to figure whether we got the allocation we requested from the
12532         window manager.
12533         configure events get queued as resizes now, the real stuff (size
12534         computation and allocation) now only goes on in gtk_window_move_resize().
12535         GtkWindow's requisition now contains its *real* requisition (like all
12536         other widgets), *not* taking usize into account.
12537         geometry_info->last_{width|height} is now updated from set_hints() only
12538         so it always contains the last hints we set for the window manager.
12539         made some event handlers return TRUE instead of FALSE.
12540         the overall code should be much more straight forward now, and the
12541         significant code portions are accompanied by comments now.
12542         (gtk_window_set_hints):
12543         removed requisition argument and made it
12544         fetch the requisition through gtk_widget_get_child_requisition.
12545         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12546         does that now.
12547         (gtk_window_show):
12548         ensure that the widget is realized before calling 
12549         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12550         ensure that we got properly size requested and allocated before
12551         realization.
12552         (gtk_window_configure_event):
12553         ignore plain window moves, or reallocate the widget tree through the
12554         resize queue otherwise.
12555         (gtk_window_move_resize):
12556         mostly rewrote this function to figure window manager hints more
12557         reliably, coalesce window moves and resizes to reduce configure events
12558         and do actuall size allocations.
12559
12560 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12561
12562         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12563         that have a resize pending, because a redraw is already queued for them.
12564
12565         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12566         hack to clear resize_widgets.
12567
12568         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12569         for resize containers prior to size allocation. (this is also a bit
12570         ugly, but avoids side effects for stopped emissions and is thus more
12571         reliable).
12572         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12573
12574         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12575         function from gtk_tooltips_expose, as we connect to ::expose_event
12576         *and* ::draw now.
12577
12578 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12579
12580         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12581         checks.
12582         (gtk_target_list_unref): Likewise.
12583
12584         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12585
12586 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12587
12588         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12589         guard against division by zero. (Fixes bug #1339)
12590
12591 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12592
12593         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12594         Prevent the trivial leak of information of allowing
12595         word motion when the entry is not visible.
12596
12597 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12598
12599         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12600         modality to error dialog as well as confirmation dialogs.
12601         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12602
12603 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12604
12605         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12606         tree->view_lines.
12607         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12608
12609         * gtk/Makefile.am (install-data-local): Solaris apparently
12610         has various troubles with ln -f; use rm first instead.
12611         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12612
12613 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12614
12615         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12616         use `cp' followed by `rm' (the `rm' was already there).
12617
12618 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12619         
12620         * configure.in: Fix autoconf warnings about cross compilation by
12621         trying to provide sane defaults for AC_TRY_RUN.
12622         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12623         put them into $(srcdir) when generated. Also add a dependency of
12624         gtksignal.h on gtkmarshal.h for -j builds. 
12625         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12626
12627 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12628
12629         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12630         GDK_THREADS_{LEAVE,ENTER} pair.
12631         (From Paul Fisher <pnfisher@redhat.com>)
12632
12633 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12634
12635         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12636         width and height are always >0 (owen).
12637
12638 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12639
12640         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12641         change that assured that a widget's allocated with and height are
12642         always >1, since this breaks *buggy* panel code. unfortunately this
12643         back-breaks the gimp's color selector.
12644
12645         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12646         allocation is always >0 in width and height, before sending the
12647         configure event; this is a *gross* hack to get the gimp back to work.
12648         
12649         * marked both cases with TODO-1.3
12650
12651 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12652
12653         * gtk/gtktext.c: Don't display wrap indicators when
12654         text is not editable and word wrap is on.
12655
12656 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12657
12658         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12659         option menus here as they are not derived from menu shell, assure that
12660         the option menu has a menu we can add items to.
12661
12662 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12663
12664         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12665         width/height to (gint) before calculations and check against < 0 to
12666         avoid guint wraparounds.
12667
12668 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12669
12670         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12671         width and height is never zero. sanity check both dimensions against
12672         32767 and issue a warning if the allocation is greater than that.
12673
12674 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12675
12676         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12677         to g_main_pending() as well.
12678
12679 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12680
12681         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12682         call to g_main_iteration() - since that will regrab
12683         GTK+ lock to process events.
12684
12685 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12686
12687         * gtk/gtkwindow.c
12688         - Regularize with the rest of GTK+ by making widget->requisition
12689           not reflect the set_usize()
12690         - Always recompute geometry hints, then check if they
12691           changed before sending them to the X server. The
12692           previous checks for changes would fail in a number
12693           of circumstances. 
12694
12695 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12696
12697         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12698
12699 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12700
12701         * gtk/gtkdnd.c:
12702         - Code cleanups
12703         - Instantaneously update on modifier key presses
12704         - Allow cancellation of the drag with Escape.
12705
12706 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12707
12708         * gtk/testgtk.c (create_handle_box): Set the policy
12709         to auto_shrink - otherwise the appearance is rather
12710         strange when flipping between horizontal and vertical.
12711
12712 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12713
12714         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12715         (gtk_window_set_default_size): don't change a value if it's < 0.
12716         queue a resize.
12717
12718 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12719
12720         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12721
12722 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12723
12724         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12725         add an extra "/" when concating "/" + filename.
12726         (From Matt Grossman <mattg@oz.net>)
12727
12728 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12729
12730         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12731         for fg_gc if we set it for drawing pixmap.
12732
12733 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12734
12735         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12736         
12737         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12738         already set, call old engine's destroy function and
12739         unref the old engine.
12740
12741 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12742
12743         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12744
12745 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12746
12747         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12748
12749 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12750
12751         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12752         expand behaviour changed.
12753
12754         * gtk/gtklabel.c (gtk_label_set_pattern):
12755         (gtk_label_set_justify):
12756         (gtk_label_set_line_wrap):
12757         don't bother invoking queue_clear, the reallocation does
12758         that for us, always free_words so the upcoming resize will
12759         relayout the label's contents.
12760
12761 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12762
12763         * applied argument implementation patches from Elena Devdariani
12764         <elena@cogent.ca>.
12765
12766         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12767         ::space_style, ::relief
12768         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12769         * gtk/gtkpreview.c: ::expand
12770         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12771         * gtk/gtknotebook.c: ::homogeneous
12772         * gtk/gtklabel.c: ::wrap
12773         * gtk/gtklist.c: ::selection_mode
12774         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12775         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12776         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12777         * gtk/gtkclist.c: ::sort_type
12778         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12779         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12780
12781 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12782
12783         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12784         comment.
12785
12786 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12787
12788         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12789         counting right when we have to attach a new style
12790         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12791
12792         * gtk/gtkstyle.c: Documented the refcounting
12793         peculularities of gtk_style_attach.
12794
12795 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12796
12797         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12798         window types.
12799
12800         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12801         of GTK_TOPLEVEL for creating the window.
12802
12803 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12804
12805         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12806         the last argument (reported by Per Winkvist).
12807         
12808 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12809
12810         Fixes for invisible XOR lines (Frank Loemker
12811         <floemker@TechFak.Uni-Bielefeld.DE>)
12812         
12813         * gtk/gtkclist.c (gtk_clist_realize): Always use
12814         a non-zero pixel for GDK_XOR.
12815
12816         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12817         Use GDK_INVERT instead of GDK_XOR.
12818
12819 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12820
12821         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12822         signals if h/voffsets differ from adjustment values.
12823         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12824
12825 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12826
12827         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12828         ::selection-done emissions up to the topmost menu shell.
12829
12830 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12831
12832         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12833         the user data on the window before destroying it.
12834
12835         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12836         unrealize handler to take care of destroying 
12837         notebook->panel properly. 
12838         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12839
12840         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12841         of g_new and g_realloc to stop memory leak. (Actually,
12842         we could just use g_realloc(), but I'm not 100% sure
12843         that is portable).
12844         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12845
12846 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12847
12848         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12849
12850         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12851         for fontsets.
12852
12853         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12854         with bin/button confusion.
12855
12856 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12857
12858         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12859         and show how preselection of radio items is done.
12860
12861 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12862
12863         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12864         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12865         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12866         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12867         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12868         * gtk/gtktable.c (gtk_table_attach): 
12869         * gtk/gtklist.c (gtk_list_insert_items): 
12870         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12871         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12872         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12873         * gtk/gtkbin.c (gtk_bin_add): 
12874         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12875         * gtk/gtkfixed.c (gtk_fixed_put): 
12876         * gtk/gtklayout.c (gtk_layout_put):
12877         general fixups to container_add logic. always realize child if
12878         child->parent is realized, only map the child and queue a resize
12879         if child and child->parent are both visible.
12880
12881 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12882
12883         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12884         instead of gtk_container_foreach to walk and unrealize children, so
12885         composite children get also unrealized.
12886         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12887         (gtk_widget_map): assert that the widget is visible (basic constrain).
12888         (gtk_widget_real_map): assert that the widget is realized (basic
12889         constrain).
12890
12891 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12892
12893         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12894
12895 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12896
12897         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12898         file for iso-8859-2 locales.
12899
12900         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12901
12902 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12903
12904         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12905          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12906          Remove some suspicious and useless lines. 
12907
12908 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12909
12910         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12911         width,height = 0, 0 to mean - here to edge of window,
12912         instead of -1, -1, since the former is all we support.
12913
12914 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12915
12916         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12917         when removing from quit_functions list.
12918
12919 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12920
12921         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12922
12923 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12924
12925         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12926          When redrawing characters on non-visible entry, use appropriate
12927          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12928
12929 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12930
12931         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12932         from drag coordinates.
12933         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12934         use drag_dest_cell.
12935
12936         * gtk/gtktree (drag_dest_cell)
12937         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12938         (Bug #1129)
12939
12940 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12941
12942         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12943         translate_* fields.
12944         (gtk_item_factory_finalize): invoke translate_notify independant from
12945         translate_data.
12946         (gtk_item_factory_set_translate_func): likewise.
12947         (gtk_item_factory_destroy): only remove ifactory pointer from those
12948         widgets that belong to us (stupid me).
12949
12950 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12951
12952         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12953         rc_style list when lookup succeeeds.
12954
12955 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12956
12957         * gtk/gtkctree.c (resync_selection): 
12958         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12959         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12960         bug.
12961
12962 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12963
12964         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12965         Add some missing GDK_THREADS_ENTER()/LEAVE around
12966         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12967
12968 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12969
12970         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12971         rather than emit_by_name.
12972
12973         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12974         on the widget across multiple signal emissions.
12975         (gtk_editable_delete_text): same here.
12976         (gtk_editable_class_init): set widget_class->activate_signal after
12977         editable_signals[ACTIVATE] has been created.
12978
12979 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12980
12981         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12982         position here prematurely -- we might not have the
12983         right ->min_position and ->max_position yet.
12984
12985 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12986
12987         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12988         Add error traps so if the other end of the connection
12989         dies, we survive.
12990
12991         * gtk/gtkselection.c (gtk_selection_notify): Clean
12992         up properly when selection property retrieval fails.
12993         
12994         * gtk/gtkselection.c (gtk_selection_request): Correctly
12995         reject SelectionRequest notifies where the handler
12996         returns no data.
12997
12998 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12999
13000         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13001         when we've previously highlighted.
13002
13003         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13004         emit two "drag_leave" signals for Motif drops.
13005
13006         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13007         back the correct status messages when dropping from
13008         Motif onto a proxy window that is rejecting the
13009         drop.
13010
13011 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13012
13013         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13014         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13015         to compare two argument values. added gtk_arg_to_valueloc() to set a
13016         variable from an arg through its location (pointer).
13017
13018         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13019         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13020         as gfloat*, uchars are collected as guchar*, ints are collected as
13021         gint*, etc...
13022
13023 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13024
13025         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13026         Include <string.h> instead of <strings.h>.
13027
13028         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13029         (actually, a lot more duplicate includes occur if
13030          you trace through the sequence of #include's)
13031         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13032         
13033 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13034
13035         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13036         gtk-a-higuti-990322-[0-3]
13037
13038         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13039         that was causing -DX_LOCALE not to work.
13040
13041         * gtk/gtkrc.c (gtk_rc_init):
13042         X_LOCALE will never have LC_MESSAGES defined
13043
13044 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13045
13046         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13047         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13048
13049         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13050         left/right as well (gtk-michael-980726-0.patch.gz).
13051
13052         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13053         for pointer values, use gchar instead of char. fixed uline allocation
13054         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13055         chunks instead of G_ALLOC_ONLY.
13056         (gtk_label_size_request): always alter requisition as passed and leave
13057         widget->requisition alone.
13058         (gtk_label_set_text): allow NULL strings.
13059         (gtk_label_new): likewise.
13060
13061 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13062
13063         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13064
13065 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13066
13067         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13068         *and* mapped (i.e. drawable).
13069         (gtk_bin_expose): only send exposes to drawable children.
13070
13071         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13072         (gtk_box_expose): only send exposes to drawable children.
13073
13074         * gtk/gtkhscale.c (gtk_hscale_draw): 
13075         * gtk/gtkvscale.c (gtk_vscale_draw):
13076         hm, this is an ugly one. we first compute the size of our trough area
13077         here (window relative) and then check intersection with the draw_area
13078         which is parent relative because we're a NO_WINDOW widget, so we need
13079         to offset the trough area by allocation.x and allocation.y before the
13080         check. (this must not be done for the background area though, since
13081         that's already computed parent relative).
13082
13083 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13084
13085         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13086         unrealize title buttons.
13087
13088 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13089
13090         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13091         (gtk_clist_column_title_active): 
13092         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13093
13094         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13095         zero initialize event, removed superfluous gdk_window_get_pointer call
13096
13097         * gtk/gtklist.c (gtk_list_vertical_timeout)
13098         (gtk_list_horizontal_timeout): removed superfluous
13099         gdk_window_get_pointer call
13100
13101 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13102
13103         * plugging problems reported by "Bruce Mitchener, Jr."
13104         <bruce@puremagic.com> due to a purify session.
13105
13106         * gtk/gtkstyle.c:
13107         (gtk_style_ref): 
13108         (gtk_style_unref): assert ref_count to be > 0.
13109
13110         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13111         the requisition.
13112         (gtk_clist_set_shift): likewise.
13113
13114         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13115         adjustments.
13116
13117         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13118         event before sending it and set send_event to TRUE (which needs to
13119         be done for *all* synthesized events).
13120         (gtk_list_vertical_timeout): likewise.
13121
13122         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13123         leaks.
13124
13125         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13126         to TRUE when synthesizing events.
13127
13128 [ *** end of merges from 1.2 *** ]      
13129         
13130 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13131
13132         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13133         (or copied from gdkconfig.h.win32 on Win32, sigh).
13134
13135         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13136
13137         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13138
13139         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13140
13141         * gdk/gdkconfig.h.win32: New file.
13142
13143         * gdk/win32/makefile.cygwin: Build just a static archive here.
13144
13145         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13146         for the DLL from the static archive built above.
13147
13148         * gdk/gdk.def: Moved here from the win32 subdirectory.
13149
13150         * gdk/win32/*: Adapt for the changed private struct organisation.
13151
13152         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13153
13154 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13155
13156         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13157         for wheel mice (buttons 4 and 5).
13158
13159 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13160
13161         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13162         drawables use just the pixel field in the foreground and
13163         background GdkColor of the GdkGC.
13164
13165         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13166         GdkColors containing uninitialized (red,green,blue) fields, and
13167         just the pixel field filled in, and furthermore in the
13168         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13169         It thus turns out that we really don't need to have the full
13170         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13171         it later to have just the pixel values.
13172
13173 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13174
13175         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13176
13177 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13178
13179         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13180         New question on GtkLabel background colors.
13181
13182         * docs/gtk_tut.sgml:
13183           - Correct the example code callback
13184             function definitions.
13185           - Update the gtkdial example code, from Frans van Schaik.
13186           - Update setselection.c to current API.
13187
13188         * examples/Makefile examples/*/*.c: Update to code
13189         listed in tutorial.
13190
13191 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13192
13193         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13194         subrange table (from the "Developing International Software for
13195         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13196         block... Get the loaded font's charset correctly.
13197
13198         (Note that this, and the other *-win32.c files, still really are
13199         the old ones, the win32 subdirectory is not ready for compilation
13200         yet after the reorg.)
13201
13202 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13203
13204         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13205         check.
13206
13207 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13208
13209         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13210         on results of XQueryDeviceState().
13211
13212 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13213
13214         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13215         we need to accesss only ->children. We need an accessor
13216         for the children.
13217
13218         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13219         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13220         to get rid of gdkx.h include.
13221         
13222         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13223         and random references to 'None'.
13224
13225         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13226         Get rid of unused #include <gdk/gdkx.h>
13227
13228         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13229         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13230         gdkconfig.h.
13231
13232 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13233
13234         * gdk/win32/gdkdraw.c
13235         * gdk/win32/gdkfont.c
13236         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13237         following yesterday's changes. (Unrelated to Owen's reorg.)
13238
13239 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13240
13241         * gdk/x11/gdkinput-gxi.c: Add missing include,
13242           fix GdkWindowPrivate => GdkDrawablePrivate.
13243
13244         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13245
13246         * gdk/x11/Makefile.am (xinput_sources): Add missing
13247         backslash to fix building with --with-xinput=none
13248
13249 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13250
13251         Move all X specific code into the x11/ directory.
13252         Aside from shuffling things around, did the following:
13253
13254        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13255          gdk_arg_context_* - a simple argument parsing system
13256          in the style of popt.
13257
13258        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13259          gdk/x11/gdkprivate-x11.h:
13260          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13261          add ->klass and ->klass_data fields. The klass_data
13262          field points to an auxilliary structure that is
13263          windowing system dependent.
13264
13265        * gdk/gdkfont.c: Make most of the measurement functions
13266          simply wrappers around gdk_text_extents().
13267
13268        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13269          _gdk_font_strlen() function that hides the weird
13270          behavior in gtk+-1.[02] where a string is interpreted
13271          differently for 8-bit and 16-bit fonts.
13272
13273        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13274          to store common code for synthesizing double/triple
13275          press events.
13276         
13277        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13278          Make all the function that modify an existing GC
13279          simply wrappers around gdk_gc_set_values().
13280          
13281        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13282          for throwing out later.
13283
13284        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13285          GdkImagePrivate and GdkColormapPrivate to have a
13286          windowing system dependent part (GdkFontPrivateX etc.)
13287          that "derives" from the system-independent part.
13288
13289        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13290          Got rid of the included-source-files for XInput in
13291          favor of automake conditionals. (Which didn't exist
13292          when XInput support was originally added.)
13293
13294        * gdk/gdkrgb.c: Remove the visual id from the debugging
13295          statements since that is X11 specific; print out
13296          type/depth info instead.
13297          
13298
13299 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13300
13301         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13302         loading duplicates of hashed fonts.
13303
13304         * gdk/gdk.c (gdk_keysym_convert_case): rename
13305         gdk_XConvertCase to gdk_keysym_convert_case, allow
13306         results to be NULL in the GTK+ style.
13307
13308         * gdk/gdkcompat.h: Started compatibility header
13309         for renames.
13310
13311 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13312
13313         * gdk/win32/gdkprivate.h: New font private structures, related to
13314         fontsets.
13315
13316         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13317         gdk_font_list_free(). On X11, will just be wrappers to
13318         XListFonts() and XFreeFontNames(). On Win32, the code previously
13319         in gtkfontsel.c is now here.
13320
13321         New function gdk_font_xlfd_create(). On X11 will get the FONT
13322         property of the font (for GDK_FONT_FONTs), or call
13323         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13324         builds a XLFD style name from the font information in the LOGFONT
13325         struct(s).
13326
13327         New function gdk_font_xlfd_free(), which correspondingly frees the
13328         string returned by gdk_font_xlfd_create().
13329
13330         Implement fontsets on Win32. Add a function that iterates over a
13331         wide char string and calls a callback function for each substring
13332         of wide chars from the same Unicode subrange (and thus probably
13333         available in the same real font).
13334
13335         Improve the XLFD emulation a bit.
13336
13337         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13338
13339         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13340         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13341         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13342         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13343         ImmGetCompositionStringW() to get the composed Unicode chars.
13344
13345         * gdk/win32/gdkgc.c
13346         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13347         struct changes.
13348
13349         * gdk/win32/gdk.def: Add the new functions.
13350
13351 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13352
13353         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13354         get the Platform SDK to get <dimm.h>.
13355
13356         * gdk/win32/gdkevents.c: More event handling fixes and
13357         simplification. Never generate motion events with is_hint true. We
13358         used to do that on bogus grounds earlier. Windows sends
13359         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13360         moved, ignore these.
13361
13362         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13363
13364         * gdk/win32/gdkglobals.c
13365         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13366         the TrackMouseEvent function, and use it.
13367
13368         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13369         char before calling WideCharToMultiByte in order to get a string
13370         for the window title.
13371
13372         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13373
13374         * gdk/win32/gdk.def: Remove obsolete functions.
13375
13376         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13377         /nodefaultlib and /defaultlib switches.
13378
13379         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13380
13381 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13382
13383         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13384         EuroSign).
13385
13386         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13387         same type as GdkWChar, especially on Win32.
13388
13389         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13390
13391         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13392         before passing to Windows GDI for drawing etc. Convert to the
13393         system default codepage before passing to Windows as window
13394         titles.
13395
13396         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13397         support changing input locale on the fly.
13398
13399         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13400         on-the-fly changes. Convert incoming characters from the current
13401         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13402         on the current input language. Use keysym<->Unicode mapping tables
13403         and functions borrowed from xterm sources.
13404
13405         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13406         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13407         Manager) if available. IMEs and the Active IMM are available under
13408         the disguise of Chinese, Korean and Japanese support for IE and
13409         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13410         support is present in all editions (as long as you install it).
13411
13412         Call DispatchMessage from gdk_events_queue() (and thus
13413         gdk_WindowProc()), instead of duplicating the code in
13414         gdk_WindowProc().
13415
13416         Reworked the grab handling and propagation code, factored out
13417         duplicated code snippets into separate functions. Other cleanups,
13418         too.
13419
13420         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13421         the <dimm.h> header describing the Active IMM.
13422
13423         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13424         just do the same as for "single" fonts.
13425
13426         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13427         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13428         the new keysyms from gdkkeysyms.h.
13429
13430         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13431         fontset, so that gtkentry uses wide characters.
13432
13433         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13434         GTk+'s system directory "gtk+", not "gtk".
13435
13436 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13437
13438         * docs/gtkfaq.sgml: FAQ update
13439
13440 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13441
13442         * gdk/win32/gdkprivate.h: Add more font private data.
13443
13444         * gdk/win32/gdkfont.c
13445         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13446         fonts and strings. Now works much better. You still have to
13447         have a correct font selected, though. No fontset emulation yet.
13448
13449 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13450
13451         * gtk/maketypes.awk: Use G_OS_WIN32.
13452
13453         * gtk/gtk.def: Add some missing entry points. Also some non-public
13454         ones, but PyGTK porter claims to need them.
13455
13456         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13457         built-in type generation.
13458
13459 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13460
13461         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13462         GDK_FONT_FONT fonts (which is all we have for now, we don't
13463         emulate fontsets). The X11 version uses plain XDrawString in that
13464         case, too. The string passed to gdk_draw_text_wc seems to be in
13465         fact (at least, when used by gtkentry and gtktext) either in a
13466         single-byte charset, or a DBCS. Not Unicode.
13467
13468         This fixes the problem in gtkfontsel, where even if you had
13469         selected a font with a non-Latin1 charset (windows-greek, for
13470         instance), the preview still used Latin-1 glyphs.
13471
13472         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13473         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13474         (gdk_font_load): Recognize the demibold etc weights, even if we
13475         don't have the corresponding constants in the headers.
13476         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13477         version. Should save font resources a bit, when we don't have
13478         multiple HFONTs for the same font.
13479
13480         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13481         version.
13482
13483 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13484
13485         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13486         X values
13487
13488 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13489
13490         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13491         layout support (as mentioned on
13492         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13493
13494 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13495
13496         * gtk/fnmatch.c
13497         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13498
13499 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13500
13501         * configure.in (ALL_LINGUAS): Added Galician (gl)
13502
13503 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13504
13505         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13506
13507         * gdk/win32/gdkcompat.c: New file, actually provide an
13508         implementation for the deprecated functions. (Just temporarily.)
13509
13510         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13511
13512         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13513
13514         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13515
13516 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13517
13518         * configure.in: Added "uk" to ALL_LINGUAS.
13519         
13520 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13521
13522         * configure.in: correct checking for BeOS check
13523
13524         * gdk/gdktypes.h
13525         * gtk/fnmatch.c
13526         * gtk/gtkfilesel.c
13527         * gtk/gtkitemfactory.c
13528         * gtk/gtkmain.[ch]
13529         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13530
13531 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13532
13533         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13534         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13535         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13536         by Bulgarian). 
13537
13538 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13539
13540         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13541         Fix a reference to window_private->destroyed.   
13542
13543         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13544         (ugly) setting of an internal GdkWindow member to use
13545         a _slightly_ cleaner macro.
13546
13547         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13548         GdkDrawablePrivate and GdkWindowPrivate.
13549         Add extra macros for accessing GDK_DRAWABLE_ components.
13550
13551         * *.[ch]: Massive adjustments for the above, use the
13552         new macros in a lot of places.
13553
13554 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13555
13556         * gdk/gdktypes.h: Make GdkDrawable the base type,
13557         not GdkWindow.
13558
13559 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13560
13561         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13562
13563 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13564
13565         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13566
13567 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13568
13569         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13570         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13571
13572         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13573
13574         * docs/gtk-config.1: Now autogenerated.
13575         * docs/Changes-1.4.txt: started
13576         
13577 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13578
13579         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13580         to #ifdef also here.
13581
13582         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13583         Owen did to the X11 backend.
13584
13585         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13586         ScrollWindowEx when blitting inside a window, it can't be correct
13587         in the general case.
13588
13589         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13590         WM_GETMINMAXINFO is easier.
13591
13592         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13593         depth equal to the bitspixel value, not the visual's depth.
13594
13595         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13596         to 24 even if the bitspixel value is 32.
13597
13598         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13599         need to check for depth==32 when bpp==32, depth will always be 24.
13600
13601 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13602
13603         * docs/Changes-1.4.txt: Started
13604         
13605         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13606
13607         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13608         
13609         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13610         into C file.
13611         
13612         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13613         header to gdkinputprivate.h.
13614
13615         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13616         unused since before 1.2.
13617
13618 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13619
13620         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13621         expand possible hex escapes in the font family (put there by
13622         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13623         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13624         On Win32, add hex escapes here, too.
13625
13626 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13627
13628         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13629         to #ifdef GDK_WINDOWING_X11.
13630
13631 [ Merges from gtk-1-2 ]
13632
13633 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13634
13635         * configure.in: fixed "GNU Make" check to pass with new make version
13636         3.77.95.
13637
13638 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13639
13640         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13641         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13642         AM_PATH_GTK() macros don't get confused by the -pre1.
13643
13644 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13645
13646         * configure.in (REBUILD): Change check for perl5
13647           to check explicitely for v >= 5.002. (5.001
13648           does not work with our scripts.)
13649
13650 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13651
13652         * configure.in: evaluate $PERL for the perl version check. added
13653         --disable-rebuilds to give the user an option to completely disable
13654         any source autogeneration rules.
13655
13656 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13657
13658         * configure.in: evaluate $ac_make when checking for GNU Make.
13659
13660 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13661
13662         * docs/Makefile.am: added generation.txt.
13663
13664         * Makefile.am: require automake 1.4, build README from README.in and
13665         INSTALL from INSTALL.in in dist-hook.
13666         
13667         * README.in:
13668         * INSTALL.in: new files to autogenerate README and INSTALL from.
13669
13670         * configure.in: figure whether we have GNU Make
13671
13672         * docs/generation.txt: minor additions/corrections.
13673
13674 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13675
13676         * docs/gtkfaq.sgml: FAQ Update
13677
13678 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13679         
13680         * configure.in: Fix autoconf warnings about cross compilation by
13681         trying to provide sane defaults for AC_TRY_RUN.
13682
13683 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13684
13685         * ltconfig
13686         * ltmain.sh: upgrade to libtool 1.3.3
13687
13688 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13689
13690         * INSTALL: Indicate that the --with-glib= configure
13691         time flag is unsupported.
13692
13693 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13694
13695         * docs/generation.txt: Added a file that gives
13696         documenation about the autogeneration process for
13697         various autogenerated files.
13698         
13699 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13700
13701         * configure.in (LIBS): Look for libgmodule in the
13702         right location.
13703
13704 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13705
13706         * docs/gtk_tut.sgml: Removed references to
13707         code examples in my directory on gtk.org as
13708         they should all be in the tutorial now.
13709
13710         * docs/gtk_tut.sgml: Added sources for dial-test
13711         and scribble-xinput programs that were previously
13712         missing.
13713
13714 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13715
13716         * TODO: Added entry about menu keyboard navigation, removed
13717         some finished items.
13718
13719 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13720
13721         * acinclude.m4: Standardize on func_dgettext
13722         not func_gettext, so that the checks for dgettext
13723         actually are paid attention to.
13724
13725 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13726
13727         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13728         directly, rather than repeating the checks for
13729         gettext.
13730
13731         * INSTALL: Added information about gettext and
13732         NLS support.
13733
13734         * acinclude.m4 (LIBM): Check for dgettext, not
13735         just gettext. This should hopefully fix things wrt
13736         systems with old versions of GNU gettext installed.
13737
13738 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13739
13740         * configure.in (LIBS): Look for libgmodule in the
13741         right location.
13742
13743 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13744
13745         * autogen.sh: add --enable-maintainer-mode
13746
13747         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13748
13749 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13750
13751         * docs/gtk-config.1.in:
13752           docs/Makefile.am:
13753           configure.in: gtk-config is now generated.
13754
13755         * docs/gtk-config.1: Removed, now generated.
13756
13757 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13758
13759         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13760         handle CreateNotify itself, still put out a debuging message for
13761         --gdk-debug=events. made the ReparentNotify debugging message more
13762         verbose.
13763         wrap xcoords translation for ConfigureEvents into an error trap,
13764         a destroy event may already be pending, and in that case, the
13765         actuall coordinate values are not at all critical.
13766
13767 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13768
13769         * gdk/gdkcc.c: Stop leaking the color_hash all over
13770         the place. Simplify and improve the logic.
13771
13772 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13773
13774         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13775         for prototypes and function implementations consistent (reported
13776         by Tomas Ogren).
13777
13778 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13779
13780         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13781         send_event set in debugging output.
13782         (gdk_compress_exposures): default initialize the event so we don't
13783         operate on bogus values (namely send_event).
13784
13785 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13786
13787         * gdk/gdkwindow.c: When we receive an unexpected
13788         destroy notify on one of our windows, don't just
13789         warn about it, also mark our windows as destroyed.
13790
13791 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13792
13793         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13794           name => font and name => fontset hashes. The 
13795           name => fontset hash is a _big_ win since we
13796           weren't previously caching fontsets at all and loading
13797           fontsets is expensive. The name => font hash
13798           is less of a win, but it does save us from doing
13799           repeated XQueryFont calls on the same font.
13800
13801         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13802           list so we can remove font/fontset from hash.
13803
13804 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13805
13806         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13807           and slightly confusing test. [ XInternAtom (,,TRUE)
13808           will never return None ].
13809
13810 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13811
13812         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13813           gdk/gdkwindow.c (gdk_window_set_hints):
13814
13815         Don't omit setting the properties if flags == 0 -
13816         there may be an existing set of properties there
13817         already. (Very old bug. Would it be better to
13818         delete the property instead?)
13819
13820         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13821           spelling error in comment.
13822
13823 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13824
13825         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13826           to avoid stomping over gdk_error_warnings.
13827
13828         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13829           as (bits_per_pixel + 7) / 8. This gives the same
13830           result as before for multiples of 8, but actually
13831           a "reasonable" value for 1bit or 4bit displays.
13832
13833 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13834
13835         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13836         GNU Make.
13837
13838 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13839
13840         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13841         discarding configure events.
13842
13843 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13844
13845         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13846         refcount is greater than zero.
13847
13848         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13849
13850         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13851
13852         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13853
13854         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13855
13856 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13857
13858         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13859         that format 32 => sizeof(item) == 4. It really is
13860         sizeof(long).
13861
13862 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13863
13864         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13865         core dump at all on X IO errors, only core dump
13866         if --enable-debug for X errors.
13867
13868 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13869
13870         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13871         unknown window:" message. disabled ConfigureNotify discarding code,
13872         because it led to events being processed out of order.
13873
13874 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13875
13876         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13877
13878         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13879         we export this function, supress error warnings and don't reset the
13880         error code in the first half of this function.
13881
13882         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13883         code (instead of just -1) so gdk_error_trap_pop() reveals something
13884         actually informative about the error that happened.
13885
13886         * gdk/*.c:
13887         don't rely on gdk_error_code being -1 if an error occoured, but just
13888         gdk_error_code != 0.
13889
13890 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13891
13892         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13893         pointer *before* invoking the filter function, so we at least don't
13894         crash if a filter is removed that is currently executed. window filters
13895         *really* need to be made truely reentrant at some point.
13896
13897 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13898
13899         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13900         PropertyNotify debug messages.
13901
13902 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13903         
13904         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13905         
13906         * gdk/gdkim.c: Fix cut-and-paste errors for 
13907         x/y and PreeditAttributes/StatusAttributes.
13908
13909 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13910
13911         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13912         G_MAXINT to 2^16 to alleviate overflow problems in
13913         various window managers.
13914
13915 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13916
13917         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13918         for fontsets.
13919
13920 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13921
13922         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13923         Initialize size_hints.x and size_hints.y because kwm
13924         brokenly pays attention to them.
13925         (Bug #1181 -  Lars Heete <hel@admin.de>)
13926
13927 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13928
13929         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13930         return value of gdk_list_visuals(). 
13931         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13932
13933 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13934
13935         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13936         XSetIMValues to (void *) when comparing to NULL, to workaround
13937         the problem of some compilers barfing since older X headers don't
13938         have the prototype for it.
13939
13940 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13941
13942         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13943         for pseudocolor where colormap->colors was double
13944         allocated.
13945
13946         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13947         color value in the hash table with the pixel filled
13948         in so when we do later hash table lookups, the color
13949         value is correct.
13950         
13951 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13952
13953         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13954         making the call
13955
13956 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13957
13958         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13959         pointed out by Morten Welinder <terra@diku.dk>.
13960
13961 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13962
13963         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13964           default filter from the list
13965
13966 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13967
13968         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13969           default filter from the list
13970
13971 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13972
13973         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13974
13975         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13976         g_strdup_printf instead of calcing the length separately
13977
13978 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13979
13980         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13981         that we don't do in many other places. (Fixing duplicate 
13982         #include of config.h)
13983
13984         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13985         Otherwise, #ifndef XINPUT_NONE check in the latter
13986         doesn't work. (Bug #546)
13987
13988 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13989
13990         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13991         "None" case insensitive.
13992
13993 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13994
13995         * gdk/gdkselection.c: 
13996         Add error traps so if the other end of the connection
13997         dies, we survive.
13998
13999 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14000
14001         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14002         dest_xid field into two fields - one for the window
14003         to send in messages, one to indicate the last looked
14004         up window for caching purposes. This is needed, so
14005         that Leave messages get the correct window.
14006
14007 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14008
14009         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14010         Fix warning created by people mucking around
14011         with the gsource API.
14012
14013         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14014         Change mapping between GIOCondition and GdkInputCondition
14015         to match the way the Linux kernel does it. This should
14016         fix problems where closed pipes were no longer signalling
14017         GDK_INPUT_READ on systems with a native poll().
14018
14019 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14020
14021         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14022         explicitly for the string "None" - it is in the XPM
14023         spec and some servers treat unknown colors in odd ways
14024         (like asking the user!)
14025
14026 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14027
14028         * gdk/gdkevents.c: made "->" into a "." of previous change so
14029         it compiles
14030
14031 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14032
14033         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14034         window field of the event structure before calling
14035         user filters.
14036
14037 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14038
14039         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14040         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14041
14042 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14043
14044         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14045         intermediate text property - prevents major memory
14046         leak when gdk_use_mb.
14047         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14048
14049 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14050
14051         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14052         gtk-a-higuti-990322-[0-3]
14053
14054         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14055         sizeof(wchar_t) != sizeof (GdkWChar)
14056
14057         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14058         that was causing -DX_LOCALE not to work.
14059
14060         * gtk/gtkrc.c (gtk_rc_init):
14061         X_LOCALE will never have LC_MESSAGES defined
14062
14063         * gdk/gdk.c (gdk_init_check):
14064         Remove --xim-preedit and --xim-status from argv properly.
14065
14066         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14067         that the client window is present on the X server
14068         before we pass it to the input method.
14069
14070 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14071
14072         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14073         if --display is specified on the command line, than
14074         the drag window will not be created on that display.
14075         
14076 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14077
14078         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14079         lookups with only_if_exists == TRUE were inserting
14080         bogus values into the atom cache.
14081
14082 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14083
14084         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14085         then reset it to NULL.
14086
14087         * gdk/gdkcolor.c:
14088         (gdk_colors_free): 
14089         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14090         key for g_hash_table_remove() in both functions, this prevents us
14091         from accessing possibly uninitialized portions of a GdkColor structure
14092         where we are only interested in its pixel value.
14093
14094 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14095
14096         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14097         font hash table, if we have a GdkFontPrivate entry for this font
14098         already, simply increment its reference count, provided by Olaf Dietsche
14099         <olaf.dietsche+list.gtk@netcologne.de>.
14100
14101 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14102
14103         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14104         just to be sure.
14105
14106         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14107         unused variables, leftovers from the X11 version.
14108
14109         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14110
14111         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14112         downcase fields on X11.
14113
14114 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14115         
14116         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14117         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14118
14119 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14120
14121         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14122
14123         * gtk/makefile.msc: Correct path to libintl.
14124
14125         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14126         use of gint vs. int, and gint vs. gboolean in headers and
14127         definitions. Use GtkType for the *_get_type functions. Note that
14128         these changes preserve binary compatibility.
14129
14130         * gdk/gdk.c
14131         * gdk/win32/gdk.c
14132         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14133
14134         * gtk/gtkmain.c
14135         * gtk/gtkclist.c
14136         * gtk/gtkmenufactory.c
14137         * gtk/gtknotebook.c
14138         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14139         vs. gboolean.
14140
14141         * gtk/gtkcolorsel.[ch]
14142         * gtk/gtkcombo.[ch]
14143         * gtk/gtkdrawingarea.[ch]
14144         * gtk/gtkgamma.[ch]
14145         * gtk/gtkhandlebox.[ch]
14146         * gtk/gtkhpaned.[ch]
14147         * gtk/gtkhruler.[ch]
14148         * gtk/gtkplug.[ch]
14149         * gtk/gtkpreview.[ch]
14150         * gtk/gtkruler.[ch]
14151         * gtk/gtksocket.[ch]
14152         * gtk/gtkstatusbar.[ch]
14153         * gtk/gtktoolbar.[ch]
14154         * gtk/gtkvbbox.[ch]
14155         * gtk/gtkvpaned.[ch]
14156         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14157         functions.
14158
14159         * gtk/gtkgamma.h: Fix bug, missing () in call of
14160         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14161
14162 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14163
14164         * gdk/gdkcolor.c (gdk_colormap_new)
14165         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14166         colormap->colors was allocated twice.
14167
14168         * gdk/win32/gdk.c: Remove some unused stuff.
14169
14170         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14171         colormap.
14172
14173         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14174         * gtk/gtklabel.h (gtk_label_get_type)
14175         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14176         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14177         in a couple of places, not guint.
14178
14179 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14180
14181         * configure.in,po/et.po: added Estonian language file
14182
14183 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14184
14185         * configure.in,po/da.po: added Danish file
14186
14187 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14188
14189         * docs/gtkfaq.sgml: Minor FAQ Update
14190
14191 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14192
14193         * docs/gtkfaq.sgml: FAQ update
14194
14195 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14196
14197         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14198         way to get window contents continually refreshed while resizing. I
14199         didn't like the effects myself, so it's not on by default.
14200
14201         * gdk/win32/gdkprivate.h: New flag variable
14202         gdk_event_func_from_window_proc, FALSE by default.
14203
14204         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14205         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14206         are passed --gdk-event-func-from-window-proc.
14207
14208         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14209         and we have am event_func, call it instead of enqueing the event.
14210
14211 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14212
14213         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14214         Kelley: Set expose_count in GdkEventExposes correctly.
14215
14216         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14217         MULTIPLE_WINDOW_CLASSES).
14218
14219         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14220         for bug in NT, apparently NT *does* draw the end pixel, too, in
14221         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14222
14223 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14224
14225         Improvements by Hans Breuer: 
14226
14227         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14228
14229         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14230         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14231         window contents while dragging" is turned on. Allocate at least
14232         one unique class for every GdkWindowType. If support for single
14233         window-specific icons is ever needed (eg. Dialog specific), every
14234         such window should get its own class.
14235
14236 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14237
14238         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14239         error that caused crashes.
14240
14241 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14242
14243         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14244         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14245         bugs when for instance part of the window was outside the
14246         display. Thanks to Philippe Colantoni for finding and fixing this.
14247
14248 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14249
14250         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14251         endpoint calculations which were totally wrong. (A little RTFMing
14252         helps a lot ;-)
14253
14254         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14255         from a separate directory, not from gettext, because of licensing
14256         issues (we want to use the LGPL version).
14257
14258         * README.win32: Mention the intl from glibc vs from gettext issue.
14259
14260 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14261
14262         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14263         in the key event handling: Now AltGr chars work again. Also,
14264         now Alt-digits are passed up as well as Control-digits.
14265         Pass keypad plus and minus as normal plus and minus.
14266
14267 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14268
14269         * docs/gtkfaq.sgml: FAQ Update
14270
14271 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14272
14273         * README.win32
14274         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14275         the Wintab SDK.
14276
14277         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14278         OK, but getting closer. Guard against bogus tilt data from Wacom
14279         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14280         enable easier building without Wintab.
14281
14282         * gdk/win32/gdkinput.h
14283         * gdk/win32/gdkevents.c 
14284         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14285         
14286         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14287         code. As we have just one visual on Win32, no sense to have it in a
14288         table, and no need for the hash table.
14289
14290         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14291         better on white background.
14292
14293 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14294
14295         * README.win32: Update gcc build instructions. Mention gettext is
14296         GPL.
14297
14298         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14299         supported cursor size with GetSystemMetrics.
14300
14301         * gdk/win32/gdkfont.c
14302         * gtk/gtkfontsel.c: Guard against some font weight and charset
14303         symbols being undefined (in mingw32 headers).
14304
14305         * gdk/win32/makefile.cygwin
14306         * gtk/makefile.cygwin
14307         * gtk/gtkthemes.c: No longer need to have differently named
14308         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14309
14310 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14311
14312         * docs/gtkfaq.sgml: Long awaited FAQ update.
14313
14314 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14315
14316         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14317         it. Obscure bit manipulation needed.
14318
14319         * gdk/win32/gdkevents.c: Logging.
14320         
14321         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14322         style (file name include compiler name) for theme engines.
14323
14324 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14325
14326         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14327
14328         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14329         events. The key.string wasn't zero-terminated, still we strdup'ed
14330         it in gdk_event_copy(). Synthesize crossing events for button
14331         events before possible propagation.
14332
14333         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14334
14335         * gdk/win32/makefile.cygwin
14336         * gtk/makefile.cygwin: Use new DLL naming style for the
14337         GCC-compiled ones.
14338
14339         * gdk/win32/makefile.msc
14340         * gtk/makefile.msc: Cosmetics mostly.
14341
14342         * gtk/gtk.def: Add missing entry points.
14343
14344         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14345
14346 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14347
14348         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14349         or height is zero. Don't print a warning if Pie or Arc fails, they
14350         always fail (?) for very narrow ellipses.
14351
14352         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14353         the part or the destination window corresponding to source area
14354         outside of the source drawable's boundary.
14355
14356         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14357         anything if less than two points.
14358
14359         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14360         return NULL. Gtk cut-and-paste inside a single program works
14361         better this way. (It always gets the clipboard contents from
14362         Windows, not from its own copy, which is cleared anyway. I can't
14363         say I fully understand what happens... Emulating the X selection
14364         and property stuff is a bit of a mess.)
14365
14366         * gdk/win32/gdkevents.c
14367         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14368
14369         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14370         that never got deleted). Revamp gdk_region_shrink.
14371
14372         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14373         after use.
14374
14375         * gtk/gtk.def: Add some missing entry points.
14376
14377         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14378         component.
14379
14380 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14381
14382         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14383         Control-digits specially.
14384
14385 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14386
14387         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14388
14389 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14390
14391         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14392         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14393         finding this.)
14394
14395 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14396
14397         * gtk+.spec.in: Corrected some typos in files section.
14398         
14399 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14400
14401         * README.win32: Mention using GNU gettext.
14402         * config.h.win32: Enable NLS stuff.
14403         * gtk/makefile.msc: Use GNU gettext.
14404         * gdk/win32/gdkdnd.c: Minor header reorg.
14405         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14406         cosmetics.
14407         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14408         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14409
14410 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14411
14412         * acinclude.m4
14413         * config.guess
14414         * config.status
14415         * ltconfig
14416         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14417
14418 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14419
14420         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14421         SafeAdjustWindowRectEx. Don't override all calls to
14422         AdjustWindowRectEx by it, but use it only in two places: When
14423         creating a new top-level window and when moving a top-level
14424         window.
14425
14426         Use screen coordinate rectangle, not client rectangle, in
14427         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14428         when we try to place a window so that the decoration (mainly,
14429         title bar) isn't visible.
14430
14431         These changes fix the bug that showed up for instance as the
14432         GIMP's saved top-level windows moving right and down (by an amount
14433         equal to the window decoration) for each session. This bug showed
14434         up also in testgtk's "Saved Position".
14435
14436         gdk_window_resize also redone a bit.
14437
14438 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14439
14440         * gtk/testgtkrc: Add (commented out) Windows-style theme
14441         include line.
14442
14443         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14444
14445 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14446
14447         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14448         gdkx.h to a gdk subdirectory, so that applications can include
14449         these with <gdk/*.h> without trouble.
14450
14451         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14452         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14453         have their bitmap destroyed.
14454
14455         * gdk/win32/gdk.def: Add gdk_root_parent.
14456
14457 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14458
14459         * configure.in
14460           gtk-config.in
14461           ltconfig
14462           ltmain.sh     
14463           gtk/Makefile.am: changes to compile nicely (with xlib) 
14464           on BeOS
14465
14466 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14467
14468         * acinclude.m4
14469         * config.guess
14470         * config.sub
14471         * ltconfig
14472         * ltmain.sh: upgrade to libtool 1.3
14473
14474 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14475
14476         * gtk/gtkclist.c:
14477         * gtk/gtkctree.c: merges from gtk-1-2
14478
14479 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14480
14481         Support added for building using a GNU toolchain on Win32,
14482         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14483
14484         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14485         * config.h.win32: Changes for gcc.
14486         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14487         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14488         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14489         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14490         Protect shl stuff unavaiilable with mingw32 headers.
14491         * gdk/win32/gdkevents.c: Fix typo.
14492         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14493         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14494         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14495         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14496         the mingw32 headers.
14497         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14498         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14499         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14500         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14501         Test for NATIVE_WIN32, not _MSC_VER.
14502         * gtk/gtkmain.c: No use warning about developer version on Win32,
14503         there aren't any non-developer versions anyhow.
14504         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14505         * gtk/makefile.msc: Use pthread from another directory. Minor other
14506         changes. 
14507
14508 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14509
14510         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14511           default filter from the list
14512
14513 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14514
14515         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14516          when gtk_widget_grab_default() is called for a widget that
14517          is not within a GtkWindow.
14518
14519 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14520
14521         * docs/gtk_tut.sgml, examples/clist.c: use a
14522           scrolled window in the clist example. Minor
14523           tutorial fixes.
14524
14525 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14526
14527         * docs/gtk_tut.sgml: Style check from David King
14528           <dking@youvegotmail.net>
14529
14530 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14531
14532         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14533         compile with unknown value of GDK_WINDOWING
14534
14535 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14536
14537         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14538         after the rule is fired.
14539         (install-exec-local): Install gdkconfig.h only if the contents are
14540         different from the currently installed gdkconfig.h.
14541
14542 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14543
14544         * gdk/Makefile.am (configexecincludedir): Rename from 
14545         configincludedir so that gdkconfig.h will be installed 
14546         as part of `make install-exec'. 
14547
14548 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14549
14550         * acinclude.m4
14551         * config.guess
14552         * config.sub
14553         * ltconfig
14554         * ltmain.sh: upgrade to libtool 1.2f
14555
14556         * autogen.sh: libtool is not required to autogen gtk+
14557
14558         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14559         needed)
14560
14561 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14562
14563         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14564         declaring gdk variables exported/imported from the DLL. New image
14565         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14566         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14567         GDK_DRAG_PROTO_OLE2.
14568
14569         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14570         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14571         declared only for the Win32 version, but could be in the X11
14572         version as well. (Needed for a Xlib-less gdk_imlib.)
14573         gdk_color_hash should have only one parameter. Declare
14574         gdk_threads_mutex with GDKVAR.
14575         
14576         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14577         just one parameter.
14578
14579         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14580         per pixel, not bits.
14581
14582         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14583         Fetch bpp (which means bits-per-pixel here) from another place on
14584         Win32. Accept also depth==32 (which we might get on Win32) with
14585         bpp==32.
14586
14587         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14588         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14589         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14590         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14591         in the backend-dependent directory, not in the common gdk
14592         directory.
14593
14594         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14595         headers.
14596
14597 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14598
14599         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14600         want to use the Gtk+ devel version (which is true, and yes - even i am
14601         currently working with the 1.2.x branch). so everyone reading this, you
14602         probably want to issue
14603         cvs checkout -r glib-1-2 glib
14604         and
14605         cvs checkout -r gtk-1-2 gtk+
14606         as your next two comands.
14607
14608 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14609
14610         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14611         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14612
14613         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14614         file. strongly deprecated the GTK_HAVE_* macros, we provide
14615         GTK_CHECK_VERSION() for people that need to check for certain
14616         Gtk+ versions.
14617
14618         * gtk/gtkcompat.h: removed this from CVS.
14619         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14620         idea right from the start, it just didn't seem like that back then.
14621
14622 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14623
14624         * merges from gtk-1-2:
14625
14626 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14627
14628         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14629         item factory class has been created.
14630         (gtk_item_factory_parse_rc): likewise.
14631
14632         * gtk/gtkmenu.c:
14633         keep proper references for old_active_menu_item.
14634         (gtk_menu_reparent): unset the usize of the new parent,
14635         so the menu can sanely be size requested and we don't get nasty screen
14636         artefacts upon next reparentation.
14637         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14638         enter notify. only synthesize enter notifies if the pointer really is
14639         inside the event window.
14640         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14641         (gtk_menu_popup): move the background setting stuff into
14642         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14643
14644         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14645         gtk_menu_shell_select_item() to select the new item.
14646         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14647         do the right thing for deselection as well.
14648
14649 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14650
14651         * gtk/gtkwidget.[hc]:
14652         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14653         are locked.
14654
14655         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14656         existing accelerators if the widget's accelerators are locked.
14657
14658 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14659
14660         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14661
14662         * gtk/gtkmenu.c: truely forward key press and key release events to
14663         the menu widget from the toplevel or tearoff window. we can't simply
14664         connect to that, we need to stop further processing of the events as
14665         well.
14666
14667 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14668
14669         * gtk/gtkmenu.c:
14670         (gtk_menu_key_press): pass event->keyval, event->state to
14671         gtk_accelerator_valid, instead of event->keyval twice.
14672         refuse to install single letter accelerators for menus that use
14673         single letter shortcuts.
14674
14675         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14676         gtk_menu_ensure_uline_accel_group().
14677
14678         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14679         which will always return an uline accel group, made
14680         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14681         yet created.
14682
14683 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14684
14685         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14686
14687         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14688         Leave button sensitive, trap  button_press, button_release,
14689         motion_notify, enter_notify and leave_notify events instead.
14690         (gtk_clist_column_title_active): disconnect event handler.
14691         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14692         Guillaume Laurent <glaurent@worldnet.fr>
14693
14694 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14695
14696         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14697         width/height mixups.
14698
14699         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14700         if needed.
14701
14702 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14703
14704         * gtk/testgtk.c (create_item_factory): unref the item factory after
14705         window's destruction.
14706
14707         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14708         count on the menu shell around the menu item's activation, since the
14709         signal emission may cause menu shell destruction.
14710
14711         * gtk/gtkitemfactory.c:
14712         the previous code leaked one accel group per menu. we use
14713         gtk_menu_get_uline_accel_group() now to fix that, and with that
14714         also create the underline accelerator group of the menus only if
14715         required (i.e. an underline accelerator has been specified).
14716         (gtk_item_factory_construct):
14717         (gtk_item_factory_create_item): removed code that would create an
14718         extra accel group for the menu (and leak references).
14719         (gtk_item_factory_create_item): adapted the underline accelerator
14720         installation code to properly feature gtk_menu_get_uline_accel_group().
14721
14722         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14723         menu->accel_group, this may return NULL if the accelerator group
14724         hasn't been set yet.
14725         added gtk_menu_get_uline_accel_group() to retrive the underline
14726         accelerator group of the menu, this will be created on demand
14727         and proper care is taken about its reference count.
14728
14729         * gtk/gtkitemfactory.h:
14730         * gtk/gtkitemfactory.c:
14731         dumped the approach of keeping a widgets by action list on the
14732         factory since the factory<->widget destroy negotiation didn't work
14733         and would be hard to get going at all. instead we keep a list of
14734         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14735         persistant throughout a program's life time).
14736         also, i removed the static const gchar *key_* variables, and made
14737         them inline strings (they weren't actually used anyways).
14738         (gtk_item_factory_add_item): update ifactory->items.
14739         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14740         the item factory pointer from the remaining ifactory widgets).
14741         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14742         list to find the widget.
14743         (gtk_item_factory_get_item): new function that works around
14744         gtk_item_factory_get_widget() limitations, this function will only
14745         return menu items, even for <Branch> entries.
14746
14747 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14748
14749         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14750         font hash table, if we have a GdkFontPrivate entry for this font
14751         already, simply increment its reference count, provided by Olaf Dietsche
14752         <olaf.dietsche+list.gtk@netcologne.de>.
14753
14754         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14755         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14756
14757 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14758
14759         * gtk/gtkcontainer.c:
14760         (gtk_container_add_with_args):
14761         (gtk_container_addv):
14762         (gtk_container_add): before adding a child to a conatiner, make sure
14763         it is (default) constructed, this is neccessary because under certain
14764         circumstances the child will get relized and mapped immediatedly, in
14765         which case it has to be constructed already.
14766
14767 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14768
14769         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14770         values > 1 as TRUE also.
14771
14772 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14773
14774         * README.win32: New file.
14775                 
14776         * configure.in: Check for lstat.
14777
14778         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14779         completeness.
14780
14781         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14782
14783         * gtk/gtk.def: Removed CRs.
14784
14785         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14786         ..\gdk\win32).
14787
14788         * gdk/win32/makefile.msc: Correct upwards relative paths.
14789         
14790 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14791
14792         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14793           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14794           it was connecting a void function to expose_event and the int
14795           returning function to the draw signal
14796
14797 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14798
14799         * configure.in:
14800         Use correct path to libgmodule.la when ref'ing uninstalled copy
14801         of glib.  (Already in stable branch, Bug #417)
14802
14803 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14804
14805         Win32 merge and general portability stuff:
14806                 
14807         * acconfig.h,configure.in: Check for <sys/time.h>.
14808
14809         * gdk/win32: New directory (actually, been there for a while).
14810         
14811         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14812         NATIVE_WIN32, and use these. Always case fold on Win32. No
14813         backslashed escapes on native Win32.
14814
14815         * gtk/{gtk.def,makefile.msc}: New files.
14816
14817         * gtk/Makefile.am: Add above new files.
14818         
14819         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14820         instead of <strings.h>.
14821
14822         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14823         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14824         <unistd.h> appropriately.
14825
14826         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14827         Use ABS() (from <glib.h>) instead of abs().
14828         
14829         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14830         of gtk (and thus glib) headers, so that WIN32 will be
14831         defined. With MS C, include <direct.h> for mkdir prototype.
14832
14833         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14834         some casts, needed by MS C.
14835
14836         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14837         implemented).
14838
14839         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14840         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14841         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14842
14843         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14844                 
14845         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14846         the event is not a hint, or its window is not the slider. Needed
14847         on Win32, at least.
14848
14849         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14850         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14851         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14852         a subdirectory of the Windows directory as gtk system
14853         configuration directory.
14854
14855         * gtk/gtkselection.c: No chunks on Win32.
14856
14857         * gtk/gtksocket.c: Not implemented on Win32.
14858
14859         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14860
14861         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14862
14863         * gtk/maketypes.awk: Declare variables with a macro that expands to
14864         necessary export/import magic in the case of Win32.
14865                 
14866         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14867
14868 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14869
14870         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14871         since those were meant only for gdki18n.h.  
14872         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14873         for widechar tests.
14874         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14875
14876 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14877
14878         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14879         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14880
14881         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14882         installed) to CFLAGS.
14883
14884         * gdk/Makefile.am: Add rules for gdkconfig.h.
14885
14886         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14887         APIs.
14888
14889         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14890         gdkx.h anyway when compiling for X11.
14891         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14892         general): Merge in Win32 version.
14893         
14894         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14895         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14896         expansion (if we don't have HAVE_PWD_H), allow for drive
14897         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14898         included code from Craig Setera's port to Win32 (the one that uses
14899         X11, and the cygwin dll), even if it probably will be abandoned.
14900
14901         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14902         the user entered one herself.  This way one can complete *.h and
14903         don't get matches on any .help files, for instance.
14904         
14905 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14906
14907         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14908         font hash table, if we have a GdkFontPrivate entry for this font
14909         already, simply increment its reference count, provided by Olaf Dietsche
14910         <olaf.dietsche+list.gtk@netcologne.de>.
14911
14912         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14913         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14914
14915 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14916
14917         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14918         the number of calls to gdk_draw_point() (and thus to X) by
14919         clipping the points by hand.
14920
14921         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14922         the clip parameter.
14923         (gtk_handle_box_paint): Only paint the handle if the expose area
14924         intersects it.
14925
14926 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14927
14928         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14929
14930 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14931
14932         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14933         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14934
14935 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14936
14937         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14938          textmode (O_TEXT) for OS/2 version.
14939
14940 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14941
14942         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14943         GtkSpinButton, "input" and "output", to make the output more flexible.
14944         The user has to provide a mapping between adjustment->value and the
14945         output string (and vice versa, if the spin button is editable). 
14946         See testgtk for examples.
14947
14948 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14949
14950         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14951         new one.
14952         
14953         * configure.in: set gtk+ version to 1.3.0.