]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
New "columns_changed" signal.
[~andy/gtk] / ChangeLog.pre-2-4
1 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@webwynk.net>
2
3         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
4         "columns_changed" signal.
5         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
6         motion code to draw arrows to the side if indicator is outside the
7         widget.
8         (gtk_tree_view_map_expanded_rows): Implement.
9
10 2001-05-07  Alexander Larsson  <alexl@redhat.com>
11
12         * demos/testpixbuf-save.c: 
13         * demos/testpixbuf-drawable.c:
14         Include gdkfb.h on linux-fb.
15
16 2001-05-07  Alexander Larsson  <alexl@redhat.com>
17
18         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
19         New function for getting toplevel window at position.
20         (gdk_drag_find_window): Use get_toplevel_window () instead
21         of gdk_window_get_pointer(). (gdk_drag_status): Use
22         correct context for getting window.
23
24         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
25         g_strdup the atom name.
26
27         * gdk/linux-fb/gdkwindow-fb.c:
28         Costmetic fix.
29
30         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
31         Add code for changing cursor on linux-fb backend (same as
32         win32).
33
34 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
35
36         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
37         present before doing anything with it.  Patch from Håvard Kvålen
38         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
39         report was not for the development branch of GTK+, but it applies
40         anyways).
41
42 2001-05-04  Havoc Pennington  <hp@redhat.com>
43
44         * configure.in: fix some shell typos
45
46         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
47
48         * gtk/gtkimage.c: handle animations
49
50         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
51         border_width * 2, not just border_width
52
53         * gtk/gtkscale.c: add "format_value" signal to allow people
54         to override the way values are drawn.
55         (gtk_scale_get_value_size): fix width/height mistake,
56         and compute size from actual displayed text, not 
57         from made-up text.
58
59         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
60         signal registration
61
62         * tests/testtext.c: Add "Remove all tags" menu item for testing
63
64         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
65
66         * demos/gtk-demo/main.c (main): add hack so we can find modules
67         without installing gtk
68
69         * demos/gtk-demo/textview.c (insert_text): demo font scaling
70
71         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
72         factor)
73         (gtk_cell_renderer_text_set_property): remove some bogus
74         g_object_notify
75
76         * gtk/gtktexttag.c: add "scale" property which is a font scaling
77         factor
78
79         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
80         to layout
81
82         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
83         gtk_text_iter_is_first
84
85 2001-01-06  Hans Breuer  <hans@breuer.org>
86
87         * gdk/gdk.def : updated exports
88
89         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
90         gdk won't compile anymore
91  
92         * gdk/win32/gdkevents-win32.c : initialize ret_val when
93         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
94         Improved gdk_flush () to not only do pending drawing operations
95         but also process all currently pending events. This should make
96         the behaviour more similar to the X11 version.  
97
98         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
99         option needs to be set even if there is no GDK_GC_BACKGROUND.
100         (gdk_win32_hdc_get) : use predraw_set_background () independent
101         of value_mask. This allows to draw dashed lines leaving the original
102         background intact.
103
104         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
105         after processing, because we can't reuse it as the X11 version does.
106
107         * gtk/gtk.def : updated exports
108
109         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
110         would like to get rid of this file again, and use straight
111         makefile.msc again, as the other Gtk+ subdirs do)
112
113         * test/makefile.msc (new file) : build the test apps here
114
115 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
116
117         * Release 1.3.5
118
119         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
120
121         * NEWS: Updated
122
123         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
124         Makefile breakage.
125
126 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
127
128         * demos/gtk-demo/images.c (progressive_timeout): Fix
129         typo in filename.
130
131         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
132         out FIXME warning; just too annoying.
133
134 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
135
136         * gdk/linux-fb/gdkcolor-fb.c:
137         Better error messages.
138
139         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
140         Initialize abs_x and abs_y.
141         
142         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
143         Correct handling of stipple offset.
144
145         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
146         Treat directcolor framebuffers as truecolor.
147         
148 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
149
150         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
151         dependency on Atk for accessibility support.
152
153         * configure.in **/Makefile.am: Major reworking of substituted
154         variables for CFLAGS/LIBS to make a lot more sane and 
155         keep the the compile/link lines a bit shorter.
156
157         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
158
159 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
160
161         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
162         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
163         use _gtk_boolean_handled_accumulator.
164
165 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
166
167         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
168         to fix things so clicking inside selection leaves cursor
169         at point where clicked. (#50324)
170
171         * gtk/gtksettings.c (gtk_settings_class_init): Restore
172         sane value for default double click time.
173
174         * tests/testtext.c (test_init): Really path to input modules.
175
176 2001-05-03  Sven Neumann  <sven@convergence.de>
177
178         * demos/testpixbuf-save.c: include target-specific headers as
179         done in testpixbuf-drawable.c
180
181 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
182
183         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
184         new_text_length appropriately when we run into the 
185         size limit for the entry. (#53445, reported by Jeff Franks)
186
187         * tests/testgtk.c (create_entry): Remove most of the
188         property toggle buttons. Replace with a "Props" button
189         that brings up a property editor.
190
191         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
192         Split the property editor code out for reuse, improve.
193
194 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
195
196         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
197         trap errors around calls to XSetInputFocus since we have
198         no way of knowing reliably whether we are viewable or
199         not. (#53947)
200
201 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@webwynk.net>
202
203         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
204         fix bug in dropping columns.  Moving columns now basically works
205         modula some fine tuning.
206
207 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
208
209         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
210         autoscroll support.  It mostly works, but could use some fine
211         tuning.
212         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
213         Actually move the column.
214
215 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
216
217         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
218           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
219           New default theme! A slighly improved version of the 2.0 Raleigh
220           theme, with Windows-esque focus/drawing default. 
221           (GtkWidget::interior_focus defaults to TRUE.)
222
223         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
224
225 2001-04-30  Havoc Pennington  <hp@pobox.com>
226
227         * tests/testtext.c (line_numbers_expose): fix to work with
228         gtk_paint_layout change
229
230 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
231
232         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
233           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
234           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
235           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
236
237         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
238           with GtkWidget::interior_focus = TRUE better.
239
240         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
241         ::default_outside_border for more flexibility.
242
243         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
244         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
245         change that had to be made with g_object_get.
246
247 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
248
249         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
250         (gtk_tree_view_move_column_after): Clean up interface. 
251
252 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
253
254         * gtk/gtkpacker.h:
255         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
256          to gtkenum.h.
257
258         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
259         handled in switch).
260
261         * gtk/Makefile.am:
262         (gtk.defs): generate enum portions with  glib-mkenums.
263         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
264         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
265         
266         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
267         addition.
268
269         * docs/Changes-2.0.txt: keep a note on signal handlers now
270         not getting emitted during the emission they were connected within.
271
272 2001-04-28  Havoc Pennington  <hp@pobox.com>
273
274         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
275
276 2001-04-24  Havoc Pennington  <hp@redhat.com>
277
278         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
279         (gtk_text_layout_move_iter_to_next_line): fix these two for
280         invisible text, lots of other stuff still hosed.
281
282         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
283         new function, replaces the get/set palette stuff. This function 
284         is intended for use by libgnomeui which should set the hook to a
285         thing which sets the palette in GConf, and we need the
286         GConf-to-xsettings proxy which will result in the change being
287         propagated back to the GTK app.
288
289         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
290         about unusable signals that it may be because the signal has 
291         parameters.
292
293         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
294         style, otherwise gtkrc.c won't know to create a new GtkStyle for
295         it.
296         (gtk_widget_modify_color_component): call
297         gtk_widget_modify_style() so the rc style will get copied.
298         (gtk_widget_modify_font): ditto
299
300         * gtk/gtkrc.c: make a couple variables static
301
302         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
303         help button by default, since it does nothing
304
305         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
306         around with UI
307
308         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
309         so we can have tooltips
310
311         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
312         can have tooltips
313
314         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
315         GDK_ENABLE_BROKEN, because its memory behavior is completely
316         hosed.
317
318         * gtk/gtknotebook.c: remove key press handler, replace with
319         binding set, add numeric keypad support
320
321         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
322
323         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
324
325         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
326         addition to plain Delete
327
328         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
329         GDK_KP_Enter in addition to GDK_Return
330
331         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
332         activate on entry instead of key press
333         (gtk_font_selection_on_clist_key_press): get
334         rid of this signal handler, not needed with new font sel.
335
336         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
337         no-longer-needed emit_stop_by_name(), just return TRUE
338
339         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
340         cruft, this widget is no longer focusable.
341
342         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
343         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
344         move_slider action signal, add binding set for vscale/hscale, in
345         the process support numeric keypad
346
347         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
348         make GDK_Return and GDK_KP_Enter activate the entry via 
349         binding set, instead of hardcoded.
350
351 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
352
353         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
354         code.  Some documentation added.
355
356 2001-04-27  Havoc Pennington  <hp@redhat.com>
357
358         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
359
360         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
361
362         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
363         line/para separators
364         (gtk_entry_create_layout): set single paragraph mode on the layout
365
366         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
367         spacing between the image and label; instead, inside a button box 
368         the button will get extra space that will go there, but if people 
369         configure button box for 0 chubbiness, then there's no spacing.
370
371         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
372         and min/max size style properties, so people can tune their
373         chubbiness.
374
375         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
376         functions
377
378         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
379         space_style, and button_relief into style properties, remove
380         functions for setting them
381         
382         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
383         it back down
384
385         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
386         types from gtk_widget_style_get
387
388         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
389         with a style property.
390
391         * gdk/x11/gdkevents-x11.c: namespace the settings
392
393         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
394
395         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
396         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
397         be used. Also, translate doc strings for settings. Also, namespace
398         the double-click-time property. Also, remove bell properties crap.
399
400 2001-04-27  Sven Neumann  <sven@gimp.org>
401
402         * Makefile.am: before creating links, check if pkg-config files
403         exist for the default target. Otherwise link to the pkg-config files
404         that got installed with this build.
405
406 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
407
408         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
409         dragging code.  Revealed some (potential) GdkWindow bugs.
410
411         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
412         _gdk_window_init_position to the end of reparent to fix the case
413         of reparenting when new_x != old_x and new_y != old_y.
414
415 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
416
417         * gtk/gtkentry.c (strstr_len): Fix optimization that
418         was correct for the use here, but completely incorrect
419         in general.
420
421 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
422
423         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
424         until patch adding gtk_window_set_size() is recommitted. 
425
426         * **Makefile.am configure.in gdk/x11/gdkim-11.c
427           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
428           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
429           (#10784)
430
431 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
432
433         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
434         window == NULL in a number of cases.
435
436         * tests/testdnd.c: Set module path for gdk-pixbuf.
437
438 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
439
440         * gtk/Makefile.am xembed.h: File containing #defines
441         for XEMBED protocol.
442
443         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
444
445         - Change protocol from old plug/socket specific protocol
446           to XEMBED draft
447         - Various fixes to work with GTK+-2.0
448
449         Still quite a bit of work to do here to handle initiation
450         from the socket side (as specified by XEMBED), to handle
451         the more advanced features of XEMBED, and to figure out
452         a good way to handle same-app embedding with less overhead
453         than using full XEMBED.
454
455 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
456
457         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
458         track of whether the toplevel has the focus; only send
459         focus-in events to the focus widget when the window
460         actually has the focus.
461
462 2001-04-25  Havoc Pennington  <hp@pobox.com>
463
464         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
465         were still in the header
466
467 2001-04-24  Alexander Larsson  <alexl@redhat.com>
468
469         * gtk/gtkclist.[ch]:
470         * gtk/gtkctree.c:
471         When there is a row highlighted for D'n'D it must alse
472         be painted hightlighted on exposes. Otherwise exposes from
473         the icon being dragged will mess up the hightlight.
474
475         * gtk/gtkfontsel.c:
476         Don't recenter selected font when exposing the font family
477         clist. This means you can now actually scroll the font family
478         list.
479
480         * gtk/gtknotebook.c:
481         Fix focus movement on scrolling tabs that are placed on the left
482         and right.
483
484 2001-04-21  Havoc Pennington  <hp@pobox.com>
485
486         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
487         empty/invisible lines.
488
489         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
490         (gtk_text_iter_set_visible_line_index): new functions to set
491         indexes excluding invisible text
492
493         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
494         index
495
496         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
497         (gtk_text_iter_get_visible_line_offset): new functions to 
498         get indexes excluding invisible text
499
500         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
501         bunch of extra padding that served no purpose
502
503         * gtk/gtkdialog.c: Make all the spacings configurable via style
504         properties, for chubbiness configuration in themes
505
506         * tests/testtext.c: fix path to the immodules.
507         
508 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
509
510         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
511         got munched by #endif.
512
513         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
514
515         * gtk/gtktreeview.c: Refactored code to clean up a number of
516         events.
517
518         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
519         values to make consistent with other functions.  Spotted by Jeff
520         Franks <jcf@tpg.com.au>.
521
522         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
523         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
524
525 2001-04-23  Sven Neumann  <sven@gimp.org>
526
527         * gtk/Makefile.am
528         * gtk/gtkplug.c
529         * gtk/gtksocket.c: on request of Owen, reverted my last change 
530         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
531
532 2001-04-23  Sven Neumann  <sven@gimp.org>
533
534         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
535         compile for non-X11 targets again
536
537 2001-04-20  Alexander Larsson  <alexl@redhat.com>
538
539         * gtk/gtkcolorsel.[ch]:
540         API Change. Take GdkColor arguments instead of gdouble *.
541         Leave the old gtk_color_selection_set_color for compatibility,
542         but marked deprecated.
543         Do correct rounding when converting RGB <-> HSV.
544         
545         * gtk/gtkcolorseldialog.c:
546         * tests/testgtk.c:
547         Use new GtkColorSelection API.
548
549         * gtk/gtkhsv.c:
550         Fix problem selecting colors in triangle when Hue is 330.
551         Fix some black dots around the HSB triangle.
552         
553         * gtk/gtkfilesel.c:
554         return FALSE from the focus_in_event handler to fix focus problems.
555
556 2001-04-18  Havoc Pennington  <hp@redhat.com>
557
558         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
559         set, so keybindings are configurable    
560         (gtk_window_activate_default): Change to activate the focus widget
561         instead if there's a focus widget, to be consistent with the
562         behavior that previously existed in key_press_event
563
564 2001-04-18  Havoc Pennington  <hp@redhat.com>
565
566         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
567
568 2001-04-18  Havoc Pennington  <hp@redhat.com>
569
570         Close bug #50615:
571         
572         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
573         the layout
574
575         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
576
577         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
578
579         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
580         
581         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
582         to blue for base, in addition to bg
583         
584 2001-04-18  Havoc Pennington  <hp@redhat.com>
585
586         * tests/testgtk.c (create_image): allow shrinking the image window
587         to test that we clip to allocation.
588
589         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
590         #9845
591
592         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
593
594 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
595
596         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
597         mode on shm segments to 0600. We'll see who complains.
598
599         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
600         _gdk_windowing_window_destroy() AFTER recursing through
601         children.
602
603         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
604         testsocket_child on X.
605
606         * tests/testsocket[_child].c: Fix uses of
607         gtk_window_get_default_accel_group().
608
609         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
610
611         * gdk/gdkimage.c: (gdk_image_get):
612         Deal with the possibility that XGetImage() might return NULL.
613         Allocate the GdkImagePrivate structure only after XGetImage()
614         succeeds in order not to dereference a NULL ximage pointer.  This
615         prevents a core dump when XGetImage() fails - which is unlikely,
616         but can happen due to race conditions accessing the geometries of
617         drawables.  An x error will still be triggered, but the gdk image
618         wrapper at least wont seg fault.
619         
620 2001-04-18  Havoc Pennington  <hp@redhat.com>
621
622         * gtk/gtkimage.c: fix to properly queue resizes when the image is
623         set
624
625         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
626         if the insertion point isn't editable
627
628         * demos/gtk-demo/images.c: Added a GtkImage demo
629
630         * demos/gtk-demo/drawingarea.c: drawing area demo
631         
632         * demos/gtk-demo/menus.c (create_menu): cleanups
633
634 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
635
636         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
637           gdk/x11/gdkevents-x11.c: Introduce an extra child
638         of toplevel windows that serves to hold the focus to
639         avoid events being delivered to embedded windows.
640
641         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
642         some extra variables to clean up code and reduce the
643         number of casts.
644
645         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
646         guint for 1 bit bit fields, not gboolean.
647
648 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
649
650         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
651         not TRUE. (Fixes #52925)
652
653 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
654
655         * Released 1.3.4
656
657         * NEWS: Updated
658
659         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
660         use GTK_TYPE_ENUM.
661
662 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
663
664         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
665
666         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
667         names to compatibility #defines so docs work.
668
669         * gtk/gtkenums.h: Remove GtkMenuFactoryType
670
671         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
672
673         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
674
675         * tests/testgtkrc: No magenta cursors, please.
676
677         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
678
679         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
680         
681 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
682
683         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
684         grabs, since they are no longer necessary.
685
686         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
687         by signal_connect() and call gtk_button_pressed() rather
688         than signal_connect_after().
689
690         * tests/testgtk.c: Restore radio menu items to combos 
691         since they'll look OK with Raleigh, and it is easier
692         than finishing the process of removing them that was
693         started earlier.
694
695 2001-04-16  Hans Breuer  <hans@breuer.org>
696
697         * gdk/gdk.def :
698         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
699
700         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
701         we are interested in the functions return value not the function address
702         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
703
704         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
705
706 2001-04-14  Hans Breuer  <hans@breuer.org>
707
708         * gdk/gdk.def :
709         * gdk/makefile.msc : updated
710
711         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
712         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
713         (the testgtk::text backgound pixmap is drawn again)
714         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
715         Win32 Pango change
716         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
717
718         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
719         Not sure if the returned settings have the right unit, because I couldn't
720         find any docs for the X version ...
721
722         * gtk/gtk.def :
723         * gtk/makefile.msc.in : updated
724
725 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
726
727         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
728         wording problems. (Compared to version from Johannes Stezenbach to
729         check correctness.)
730
731 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
732
733         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
734         this to compile.
735
736 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
737
738         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
739         not pixbufpos.
740
741         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
742
743         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
744         are unsigned insts, therefore use g_value_set_uint.
745         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
746
747 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
748
749         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
750
751         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
752         GTK_TYPE_STRING.
753
754         * gtk/gtktreeview.c: New functions to allow initial column
755         dragging work.
756
757         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
758
759         * tests/testtreefocus.c: give dave some love.
760
761         * tests/testtreesort.c: Modify test to check really long samples.
762
763 2001-04-11  Alexander Larsson  <alexl@redhat.com>
764
765         * gtk-2.0.m4: Pass pkg-config options
766         before the other args so it works even if
767         POSIXLY_CORRECT is set.
768
769 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
770
771         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
772         0, interface 0).
773
774 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
775
776         * gtk/gtkcalendar.c (gtk_calendar_button_press):
777         check for action_func != NULL
778
779 2001-04-04  Sven Neumann  <sven@gimp.org>
780
781         * tests/testgtk.c (test_init): corrected path to gtk.immodules
782
783 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
784
785         * Released Gtk+-1.3.3.
786
787 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
788
789         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
790
791 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
792
793         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
794         files to/from source dir. (if we don't stay in builddir, we
795         can't reach make-inline-pixbuf.
796
797         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
798         deps.
799
800         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
801         ages 0).
802
803 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
804
805         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
806         moved to the GtkTreeSortable interface.
807
808         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
809         Make more efficient (fixes #50262).
810
811 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
812
813         * NEWS: Updated.
814
815         * configure.in: Remove support for uninstalled glib.
816
817         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
818         so as not to stop emission.
819
820         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
821         is no longer supported.
822
823         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
824         into tests, change build order to build modules before
825         gtk/.
826
827         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
828         to here.
829
830 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
831
832         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
833         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
834         GPatternSpec. this is actually unlikely to cause breakage in
835         third-party apps since except for gle, pretty much ever caller
836         passes NULL here.
837
838         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
839
840         * *.c: use g_pattern_*() API.
841
842         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
843
844         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
845         directions aren't passed in.
846
847         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
848         functionality to be usable from gtkstyle.c as well, give precedence
849         for conversion to user-supplied parsers.
850         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
851
852         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
853         _gtk_settings_parse_convert() for rcporperty value conversion.
854
855 2001-04-03  Alexander Larsson  <alexl@redhat.com>
856
857         * gdk/linux-fb/gdkevents-fb.c:
858         Add empty gdk_setting_get().
859
860 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
861
862         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
863         variable names.
864         
865         * gtk/makeenums.pl: touch this so enum files get remade.
866
867 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
868
869         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
870         work again when not sorted.
871
872         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
873         and "expand_row" signal, closing bug 52578.
874
875         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
876         support.
877
878         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
879         support.
880
881 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
882
883         * gdk/gdkevents.h: Add GdkEventSetting event for notification
884         of changes to system settings, gdk_setting_get() to retrieve
885         a single system setting.
886
887         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
888         to the draft XSETTINGS mechanism.
889
890         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
891         XSETTINGS.
892
893         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
894         of GDK settings changes to the GtkSettings object.
895
896         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
897         double-click-timeout property to GDK.
898
899         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
900         Define GDK boxed types here.
901
902         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
903         gdk/gdkenumtypes.[ch] for enum definitions.
904
905         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
906         * gtk/gtk-boxed.defs: Comment out GDK types
907         * gtk/gtktypeutils.h: Remove GDK types
908         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
909
910 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
911
912         * Applied patch from Ron Steinke to add signal accumulators
913         so that signals with the convention 'TRUE return means
914         handled' stop emission on a TRUE return.
915
916         * gtk/gtkmain.[ch]: Add private accumulator 
917         _gtk_boolean_handled_accumulator, used throughout GTK+.
918         
919         * gtk/gtkspinbutton.c: Add accumulator for ::output.
920
921         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
922         
923         * gtk/gtkwidget.c: Add accumulators for event signals,
924         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
925         for ::mnemonic-activate.
926
927         * gtk/gtkwindow.c: Add accumulator for ::frame_event
928
929 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
930
931         * gtk/gtkwidget.c: Add missing include.
932
933 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
934
935         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
936         marshaller.
937
938         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
939         "changed" signal to "range_changed".
940
941         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
942         removing a tree from one model would remove all trees from that
943         model.
944         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
945         changed signal instead.
946
947 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
948
949         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
950         chaining up to parent impl, since we have a INPUT_ONLY
951         window.
952
953         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
954         foreground color for the cursor.
955
956 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
957
958         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
959         param spec when caching property values, since we unref it
960         later when we free the style.
961
962         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
963         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
964
965 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
966
967         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
968         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
969         stupidity.
970
971 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
972
973         [ First pass at adding style properties. Still needs some definite
974         fine-tuning. ]
975
976         * gtk/gtkbutton.c: Add ::default_spacing style property.
977          
978         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
979         ::indicator_spacing style properties.
980
981         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
982         style properties.
983
984         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
985         rather than a normal property.
986
987         * gtk/gtkwidget.c: Add an ::interior_focus style property to
988         draw focus inside buttons, in the Windows/Java Metal/etc. style.
989
990         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
991         Honor ::interior_focus.
992         
993         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
994         TRUE.
995
996         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
997         Add ::slider_width, ::trough_border, ::stepper_size,
998         ::stepper_spacing style properties.
999
1000         * gtk/gtkscale.[ch] Add ::slider-length style property.
1001
1002 2001-04-02 Alexander Larsson   <alexl@redhat.com>
1003
1004         * gdk/linux-fb/gdkwindow-fb.c:
1005         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
1006         warnings that were spewed on startup.
1007
1008         * gtk/gtkwindow-decorate.c:
1009         gtk_window_reposition -> _gtk_window_reposition
1010
1011 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
1012
1013         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1014         Add boxed type for GtkRequistion. Use it for ::size-request.
1015
1016         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1017         Add a new GtkBorder structure useful for geometry properties
1018         for widgets. Add corresponding GTK_TYPE_BORDER.
1019         
1020         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
1021         Support automatic parser selection like
1022         gtk_settings_install_property_parser().
1023
1024         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
1025         functionality for use by gtk_widget_class_install_style_property.
1026         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
1027
1028 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
1029
1030         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
1031         g_param_spec_unichar(). 
1032
1033 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
1034
1035         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
1036         _NET window managers.
1037
1038         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
1039
1040 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
1041
1042         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
1043         bad needs to be nuked, not just deprecated.
1044
1045         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
1046         gtk_widget_popup().
1047
1048         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
1049         
1050         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
1051         widget.
1052         
1053         * docs/Changes-2.0.txt: updates.
1054         
1055 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
1056
1057         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
1058         for (i = 0; i < 100; i ++)
1059           g_print ("I will confirm it compile before committing\n");
1060
1061 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
1062
1063         * gtk/gtktreestore.c: Initial work on implementing the
1064         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
1065
1066 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
1067
1068         * gtk/gtkwidget.c: fixed a bunch of notifications, added
1069         reference counts around emissions where the widget is used afterwards.
1070         added freeze/thaws around multiple properties being notified.
1071         (_gtk_widget_get_aux_info): cleanups.
1072         
1073         * gtk/gtksettings.c (gtk_settings_install_property): provide
1074         default parsing functions for gdkcolor, enums and flags.
1075
1076         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
1077         applied by owen.
1078         backed out gtk_window_get_location(), gtk_window_set_location(),
1079         gtk_window_get_size() and gtk_window_set_size(), these
1080         have to be sorted out wrg x/y/width/height/default_with/default_height
1081         properties.
1082         kept a flag in GtkWindowGeometryInfo to handle user
1083         resetting default sizes.
1084         cleaned up ZVT comments.
1085         bunch of assorted bug fixes, notification fixes.
1086         (_gtk_window_reposition): make this a really internal function.
1087         
1088         * gtk/testgtk.c: fixups.
1089         
1090 2001-03-31  Hans Breuer  <hans@breuer.org>
1091
1092         * config.h.win32.in : disable USE_MMX for msvc build cause
1093         the assembler doesn't fit and is out of my scope. Disable
1094         USE_GMODULE for msvc build as wel. The right way to share
1095         binaries on win32 would be to use libtiff.dll etc. To reduce
1096         installation hassles IMO it's better to include all fileformats
1097         builtin to gdk-pixbuf
1098
1099         * gdk-pixbuf/makefile.msc : new file
1100
1101         * gdk/gdk.def : updated
1102
1103         * gdk/win32/gdkevents-win32.c : don't erase the background if
1104         .no_bg is set. It improves the scrolling (e.g. of testgtk main
1105         buttons
1106         * gdk/win32/gdkgeometry-win32.c : added comment about the above
1107
1108         * gdk/win32/gdkwindow-win32.c : added three new functions like
1109         the X version. Only one is implemented, because the other two
1110         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
1111         be default behaviour on win32 anyway ...
1112
1113         * gtk/gtk.def : updated
1114
1115         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
1116         from where it was built and add an additional rule to automagically
1117         build gtkmarshal.[hc]
1118
1119         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
1120         before array access for the current entry isn't finished
1121
1122         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
1123         use g_return_val_if_fail
1124
1125         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
1126         for the static array, but let the compiler calculate it. It
1127         makes me wonder if gcc isn't capable to catch bugs like this ...
1128
1129 2001-03-31  James Henstridge  <james@daa.com.au>
1130
1131         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
1132         constant "-1" in the aux info structure.
1133
1134 2001-03-30  Alexander Larsson  <alexl@redhat.com>
1135
1136         * gtk/gtkbutton.c (gtk_button_get_property):
1137         * gtk/gtklabel.c:
1138         Remove leaks.
1139         
1140         * gtk/gtkcontainer.c:
1141         * gtk/gtkhscale.c:
1142         * gtk/gtkhscrollbar.c:
1143         * gtk/gtklayout.c:
1144         * gtk/gtkmisc.c:
1145         * gtk/gtkprogress.c:
1146         * gtk/gtkprogressbar.c:
1147         * gtk/gtkrange.c:
1148         * gtk/gtktable.c:
1149         * gtk/gtkviewport.c:
1150         * gtk/gtkvscale.c:
1151         * gtk/gtkvscrollbar.c:
1152         * gtk/gtkwidget.c:
1153         Property patches, based on patches from John Margaglione and Lee Mallabone.
1154
1155 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
1156
1157         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
1158         adjustment. Cleaned redundant preconditions (spin != NULL). Added
1159         inline API function docs.
1160         (gtk_spin_button_new_with_range): New convenience constructor.
1161         (gtk_spin_button_set_increments): New adjustment helper.
1162         (gtk_spin_button_set_range): New adjustment helper.
1163
1164         * gtk/testgtk.c : added test of the new convenince constructor and
1165         value_changed signals.
1166
1167 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
1168
1169         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
1170         listen to the reorder signal.
1171
1172 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
1173
1174         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
1175         to get the aux info structure fo the widget.
1176
1177         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
1178         above function.
1179
1180         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
1181
1182         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
1183         to get the size of the window manager frame, basically the same
1184         code that gdk_window_get_root_origin() had
1185         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
1186
1187         * gtk/gtkwindow.c (gtk_window_set_default_size): use
1188         gdk_window_resize() if the window is realized and resizeable
1189
1190         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
1191         typo so that setting gravity works
1192
1193         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
1194         allocation if auto_shrink is on, even if the default size
1195         has not changed.
1196
1197         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
1198         g_return_if_fail
1199
1200 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
1201
1202         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
1203         reordering/sorting work.  Now pretty much works.
1204
1205         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
1206         reorder mostly work.  Still need to get the parity correct.
1207
1208         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
1209         signal, so I can listen for the sort_column_changed signal so I
1210         can change my "sort_indicator" property.  Cool.
1211
1212 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
1213
1214         [ Patch from Havoc Pennington, hp@redhat.com ]
1215
1216         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
1217         Add functions gdk_window_begin_resize_drag/begin_move_drag
1218         to start resizing or moving a toplevel window. This
1219         is done either using the _NET_WM_MOVERESIZE protocol,
1220         or, if that isn't present, by emulation.
1221
1222         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
1223         to export the above to GTK+-land.
1224
1225         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
1226         
1227         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
1228         Move this function into gdkwindow, since we need it
1229         when implementing fallback resizing.
1230
1231         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
1232         Fix typo when setting gravity.
1233
1234         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
1235         Add an optional (but on by default) resize grip for resizing 
1236         the parent window.
1237
1238 01-03-29  Alexander Larsson  <alexl@redhat.com>
1239
1240         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
1241         Don't return TRUE from the event handler, that blocks all
1242         event signals on the tooltip widget. Now you can press buttons
1243         in toolbars again.
1244
1245 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
1246
1247         * gtk/testtext.c (create_buffer): Add missing NULL on
1248         valist.
1249
1250         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
1251         c-n-p problem with INCONSISTENT property.
1252
1253         [ Patch from Havoc Pennington  <hp@redhat.com> ]
1254
1255         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
1256         hook.
1257
1258         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
1259         signal as a hook for extending the default popup menu
1260
1261         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
1262         use radio menu items for the input method menuitems
1263
1264         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
1265         inserted unicode from Ctrl-Shift-hex input method
1266
1267         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
1268         validatation here, already done at GtkTextBuffer level.
1269
1270         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
1271         popup_menu run action signal and Shift+F10 and Menu keybindings.
1272
1273         * gtk/gtkentry.c: implement a default handler for popup_menu
1274
1275         * gtk/gtktextview.c: implement a default handler for popup_menu
1276
1277         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
1278         from a key event
1279         
1280         * gtk/gtklabel.c: remove "trailer" cruft
1281
1282 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
1283
1284         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
1285         handle reordering of trees.  Seems to mostly work w/ the exception
1286         of the parity flag.
1287
1288         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
1289         signal.
1290
1291 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
1292
1293         * gtk/gtkwidget.h: c++ fixes.
1294
1295 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
1296
1297         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
1298         memory.
1299
1300 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
1301
1302         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
1303         Nils Barth fixing event return values. (#51041)
1304
1305         * gtk/gtkwidget.c: Fix some return values for default
1306         functions.
1307
1308         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
1309         return values for trough_keys functions.
1310
1311         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
1312         value for add_accelerator (shoudl have been a void
1313         return.)
1314
1315         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
1316         Fix return type of EVENT.
1317
1318         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
1319         signal return a boolean.
1320
1321 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
1322
1323         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
1324         reordered signal.
1325
1326         * tests/testtreesort.c (main): fix spelling.
1327
1328 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
1329
1330         * gtk/gtkliststore.c: More work on implementing sortable
1331         interface.
1332
1333 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
1334
1335         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
1336         reference the widgets in the resulting list. (#11821)
1337         This makes this consistent with gtk_container_children.
1338
1339         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
1340         uses of gtk_window_list_toplevels.
1341
1342 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
1343
1344         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
1345         a virtual function to set whether the IM context should use 
1346         the preedit string. (#51922)
1347         
1348 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
1349
1350         * gdk/gdkpango.h: Remove stale FIXME comment.
1351
1352 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
1353
1354         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
1355         Fixed bug that returned NULL if a filename was selected.
1356
1357 2001-03-24  Havoc Pennington  <hp@pobox.com>
1358
1359         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
1360         to contain the word "theme"
1361
1362 2001-03-24  Havoc Pennington  <hp@pobox.com>
1363
1364         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
1365         slower but finer-grained
1366         (gtk_hsv_focus): get initial focus on the ring or triangle 
1367         according to tab direction
1368
1369         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
1370
1371 2001-03-23  Havoc Pennington  <hp@pobox.com>
1372
1373         * gtk/gtkhsv.c: make this somewhat key-navigable
1374
1375         * gtk/gtkfontsel.c: mnemonics
1376
1377         * gtk/gtkgamma.c: mnemonics
1378
1379         * gtk/gtkcolorsel.c: add mnemonics to labels
1380
1381 2001-03-22  Havoc Pennington  <hp@pobox.com>
1382
1383         Applied big patch from Seth Lytle to fix event handler return
1384         values, slightly modified.
1385
1386         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
1387         handled.
1388         (gtk_calendar_key_press): return TRUE for GDK_space triggers
1389         select_day
1390
1391         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
1392         (gtk_clist_button_release): return TRUE if handled
1393
1394         * gtk/gtkcolorsel.c (mouse_release):
1395         (palette_activate): 
1396         (palette_press): 
1397         (palette_new): 
1398         (mouse_press): 
1399         (get_screen_color): 
1400         fixed return type (void to gboolean), return TRUE,
1401         added GTK_SIGNAL_FUNC cast
1402
1403         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
1404         (void to gboolean), and return TRUE
1405         (gtk_combo_button_release): changed return value to TRUE after
1406         gtk_grab_add on combo->popwin
1407
1408         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
1409         collapse or expand
1410
1411         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
1412         button/motion
1413
1414         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
1415         press/release and motion that trigger act
1416
1417         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
1418
1419         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
1420         for GDK_Return
1421         
1422         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
1423         (gtk_list_button_release): return TRUE if selection
1424
1425         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
1426         press
1427
1428         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
1429         (gtk_menu_shell_button_release): chain parent_menu_shell retval
1430
1431         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
1432         nothing triggered
1433         (gtk_notebook_button_release): return TRUE if we do anything
1434
1435         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
1436         (gtk_spin_button_button_release): return TRUE or chained retval
1437
1438         * gtk/gtktext.c (gtk_text_button_press): 
1439         (gtk_text_button_release): return TRUE
1440         (gtk_text_key_press): remove redundant retval code
1441         
1442         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
1443         and sensitive
1444         (gtk_tree_item_subtree_button_click): changed type to gint, and return
1445         TRUE if sensitive
1446
1447         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
1448         return TRUE
1449
1450 2001-03-23  Havoc Pennington  <hp@redhat.com>
1451
1452         * gtk/testgtk.c: fix warnings
1453
1454         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
1455
1456         * gtk/gtktextview.c: fix warnings
1457
1458         * gtk/gtktext.c (find_cursor_at_line): fix warning
1459
1460         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
1461
1462         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
1463         of this function
1464
1465         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
1466         fix warning
1467
1468         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
1469
1470         * gtk/gtkfontsel.c: fix warning
1471
1472         * gtk/gtkcolorsel.c: fix warnings
1473
1474 2001-03-23  Havoc Pennington  <hp@redhat.com>
1475
1476         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
1477
1478         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
1479
1480         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
1481         and deprecated gtk_check_menu_item_set_show_toggle().
1482         
1483         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
1484
1485         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
1486
1487         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
1488
1489 2001-03-23  Havoc Pennington  <hp@redhat.com>
1490
1491         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
1492         some docs
1493
1494 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
1495
1496         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
1497         this.
1498
1499         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
1500         set_cell to set_value
1501
1502         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
1503         set_cell to set_value
1504
1505 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
1506
1507         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1508         fix braino.
1509         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
1510         support.
1511
1512         * gtk/gtktreeview.c: Addition of initial sortable support.
1513
1514         * gtk/gtktreestore.c: Addition of initial sortable support.
1515
1516         * gtk/gtkliststore.c: Addition of initial sortable support.
1517
1518         * gtk/gtkmarshal.list: yet another marshaller.
1519
1520         * gtk/gtktreedatallist.[ch]: shared code between the store models
1521         for handling sorting headers.
1522
1523 2001-03-22  Havoc Pennington  <hp@redhat.com>
1524
1525         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
1526         (gtk_container_unset_focus_chain): Add ability to override the 
1527         focus chain for a container explicitly
1528
1529 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
1530
1531         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
1532         added PROP_MNEMONIC_WIDGET.
1533
1534         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
1535         (gtk_window_remove_mnemonic): 
1536         (gtk_window_add_mnemonic): fixed assertions.
1537         (gtk_window_activate_mnemonic): constrain modifier checks to those
1538         permitted by gtk_accelerator_get_default_mod_mask().
1539         got rid of gtk_window_get_default_accel_group().
1540
1541         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
1542         activatable widgets either by focussing or a warning.
1543         added a signal accumulator to ::activate_mnemonic which stops the
1544         emission once a handler returned TRUE.
1545
1546 2001-03-22  Havoc Pennington  <hp@pobox.com>
1547
1548         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
1549         the stock item label
1550
1551         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
1552
1553         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
1554
1555         * demos/gtk-demo/*.c: Add mnemonics all over the place
1556
1557         * gtk/gtklabel.h: mark parse_uline deprecated
1558
1559 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1560
1561         * gtk/gtkitemfactory.[ch]:
1562         Add support for stock and normal imagemenuitems.
1563         
1564         * gtk/testgtk.c:
1565         Add some tests for mnemonics, stock toolbars, stock
1566         and image menuitems in itemfactory and gdk_window_scroll.
1567
1568 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1569
1570         * gtk/gtkbutton.[ch]:
1571         * gtk/gtkdialog.c:
1572         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
1573         removed accel_group argument. Renamed gtk_button_new_accel() to
1574         gtk_button_new_with_mnemonic() and removed accel_group argument.
1575
1576         * gtk/gtkcheckbutton.[ch]:
1577         New function gtk_check_button_new_with_mnemonic().
1578
1579         * gtk/gtkentry.c:
1580         Override activate_mnemonic and just grab focus.
1581
1582         * gtk/gtkitemfactory.c:
1583         Don't add menu uline accel group, instead use mnemonics support.
1584
1585         * gtk/gtklabel.[ch]:
1586         New support for mnemonics.
1587
1588         * gtk/gtkmarshal.list:
1589         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
1590
1591         * gtk/gtkmenu.[c]:
1592         * gtkmenushell.c:
1593         Use mnemonics instead of accel groups for uline
1594         support in menu items.
1595         Removed gtk_menu_get_uline_accel_group() and
1596         gtk_menu_ensure_uline_accel_group().
1597
1598         * gtk/gtkmenuitem.c:
1599         Override activate_mnemonic to handle switching between
1600         menu items if there are collisions.
1601         
1602         * gtk/gtknotebook.c:
1603         Connect to activate_mnemonic on the tab_label, so that
1604         activating it switches to that notebook page.
1605
1606         * gtk/gtkwidget.[ch]:
1607         Add activate_mnemonic signal. New function
1608         gtk_widget_activate_mnemonic() to emit it.
1609         Default implementation does activate/grab_focus.
1610
1611         * gtk/gtkwindow.[ch]:
1612         Add support for mnemonics in windows.
1613         New functions:
1614         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
1615         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
1616
1617         * gtk/testgtk.c:
1618         Update to function name changes.
1619         
1620 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1621
1622         * gtk/gtkimagemenuitem.[c]:
1623         Add gtk_image_menu_item_new_from_stock()
1624
1625 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
1626
1627         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1628         Fix buglet in meeting.
1629
1630 2001-03-19  Havoc Pennington  <hp@redhat.com>
1631
1632         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
1633         add a bunch of accessor functions. This is because we have
1634         reasonable expectations of extending what fields it contains in
1635         the future.
1636
1637         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
1638         changes
1639
1640         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
1641         GtkIconSource   
1642
1643 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
1644
1645         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
1646         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
1647
1648         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
1649           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
1650           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
1651           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
1652         Change float to double everywhere with the exception of 0<->1.0 alignment
1653         and GtkCurve.
1654
1655 2001-03-19  Tor Lillqvist  <tml@iki.fi>
1656
1657         * gdk/win32/gdkdrawable-win32.c
1658         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
1659         output.
1660
1661         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
1662         gdkwin32.h.
1663
1664 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1665
1666         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
1667         print_event_state, print_event): Use preprocessor macro to make
1668         code more compact. Print also GDK_WINDOW_STATE events.
1669         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
1670         
1671         * gtk/gtk.def
1672         * gtk/makefile.mingw.in: Update.
1673
1674         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
1675         to catch also Cygwin.
1676
1677 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
1678
1679         * gtk/gtkspinbutton.[hc]: added rc-style argument
1680         GtkSpinButton::shadow_type.
1681         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
1682         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
1683         rc-style settings.
1684
1685         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
1686
1687         * gtk/gtkwidget.c: quark cleanups.
1688
1689         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
1690         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
1691         to create_rc_style() (we don't do cloning in standard OO sense).
1692         added per rc style properties.
1693         
1694         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
1695         property values and for caching those. some cleanups.
1696         
1697         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
1698         
1699         * gtk/gtksettings.[hc]: new file for global rc-file properties
1700         (at least currently, should get extended to support X properties
1701         and other communication mechanisms).
1702         
1703         * gtk/gtkwidget.[hc]: added style property support:
1704         (gtk_widget_class_install_style_property_parser): install style
1705         property pspec with parser function for rc-file values other
1706         than LONG, DOUBLE or STRING.
1707         (gtk_widget_class_install_style_property): same as above without
1708         parser (parsers are going to be needed quite infrequently).
1709         (gtk_widget_style_get_property): retrive style property value.
1710         (gtk_widget_style_get_valist): same as above with varargs support,
1711         has NOCOPY semantics.
1712         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
1713
1714 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
1715
1716         * demos/gtk-demo/main.c (row_activated_cb): modified to use
1717         "row_activated" signal.
1718
1719         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
1720         stupidity.  Lets actually pass in the row with this signal...
1721
1722 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
1723
1724         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
1725
1726         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
1727
1728         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
1729         everything into the ::destroy function, and freed a lot more.
1730
1731 2001-03-16  Havoc Pennington  <hp@redhat.com>
1732
1733         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
1734         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1735         are now allowed.
1736
1737 2001-03-16  Havoc Pennington  <hp@redhat.com>
1738
1739         * Applied patch from Nils Barth (bug # 51041) to 
1740         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1741         in various places.
1742
1743 2001-03-15  Havoc Pennington  <hp@redhat.com>
1744         
1745         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1746         for properties to set on the tag.
1747
1748         * gtk/testtext.c: fixups to reflect create_tag change
1749         
1750         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1751         background/foreground stipple are objects, not boxed.
1752
1753         * demos/gtk-demo/textview.c: intellihancing
1754
1755 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1756
1757         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1758         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1759
1760 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1761
1762         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1763         Fix sign error with queued region translations.
1764
1765 2001-03-15  HideToshi Tajima  <tajima@happy>
1766
1767         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1768         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1769         * gtk/gtkentry.c (update_im_cursor_location): 
1770         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1771         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1772         set_cursor_pos to set_cursor_location in GtkInputContext class
1773
1774 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1775
1776         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1777         the location of the cell relative to its area.
1778         * gtk/gtkcell*: modified for above change
1779         * gtk/gtktreeview.c: modified for above change.
1780
1781 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1782
1783         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1784          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1785         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1786
1787 2001-03-14  Havoc Pennington  <hp@redhat.com>
1788
1789         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1790         
1791         * gtk/gtk.h: remove gtkdata.h
1792
1793         * gtk/Makefile.am: remove gtkdata
1794         
1795         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1796         not "disconnect" on the adjustments.
1797         
1798         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1799         GtkData
1800
1801         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1802         not GtkData
1803
1804         * configure.in: handle case where X render exists, but Pango lacks
1805         Xft support.
1806
1807 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1808
1809         * gtk/gtktoolbar.[ch]:
1810         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1811         to add stock items to toolbars.
1812
1813         * gtk/Makefile.am:
1814         Remove ../gdk/gdkim.h from gdk_headers.
1815
1816 2001-03-15  Sven Neumann  <sven@gimp.org>
1817
1818         * gdk/gdkim.h: removed
1819         
1820         * gdk/gdkprivate.h
1821         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1822
1823 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1824
1825         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1826         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1827         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1828         set_cursor_pos() virtual method
1829
1830         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1831         (gtk_im_context_xim_set_cursor_pos): add implementation for
1832         set_cursor_pos() method
1833
1834         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1835         position to input methods
1836
1837 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1838
1839         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1840         code a lot.
1841
1842         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1843         g_mem_chunk.
1844         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1845         (_gtk_tree_data_list_node_to_value): Fix to switch on
1846         G_TYPE_FUNDAMENTAL.
1847         (_gtk_tree_data_list_value_to_node): Fix to switch on
1848         G_TYPE_FUNDAMENTAL.
1849         (_gtk_tree_data_list_node_copy): Fix to switch on
1850         G_TYPE_FUNDAMENTAL.
1851
1852 2001-03-12  Havoc Pennington  <hp@redhat.com>
1853
1854         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1855         to convert to new property API. Also, change default_width and
1856         default_height get_property to return 0 as the flag value for
1857         "unset"; -1 is not a valid value for these fields.
1858
1859 2001-03-12  Havoc Pennington  <hp@redhat.com>
1860
1861         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1862         enum with registration for icon sizes, instead of strings.
1863
1864         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1865         gtkwidget.c: Fix to reflect GtkIconSize
1866         
1867 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1868
1869         Make GtkFB compile and link.
1870         
1871         * gdk/linux-fb/gdkdrawable-fb2.c:
1872         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1873         
1874         * gdk/linux-fb/gdkwindow-fb.c:
1875         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1876         Added gdk_window_shape_combine_region.
1877         Added assorted placeholders for unimplemented new GdkWindow API calls.
1878
1879 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1880
1881         * gtk/gtkfilesel.c:
1882         Add more test when converting filenames from/to utf-8.
1883         Don't allow entering text in the filename entry which isn't allowed in
1884         a filename. Just beep instead.
1885
1886 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1887
1888         * gtk/gtkclist.c:
1889         Scroll using gdk_window_scroll(). Don't wait for exposes.
1890         Move the column headers in an order that makes them flash less.
1891
1892 2001-03-10  Hans Breuer  <hans@breuer.org>
1893
1894         * gdk/gdk.def : updated
1895
1896         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1897         to offseting the clip_mask at the right place
1898
1899         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1900         for all the gdkClasses, especially not for the input_only case.
1901         Otherwise flickering wont be avoidable, because we don't get
1902         WM_ERASEBKGND message for these windows.
1903
1904         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1905         and fixed massive redraw problems apparently triggered by Alexanders 
1906         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1907         but it seems to work quite well :-)
1908
1909         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1910         prototype
1911
1912 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1913
1914         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1915         (gtk_list_store_set_cell): Fix a stupid typo.
1916
1917 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1918
1919         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1920         select_all not work if you're in SINGLE mode (it doesn't make that
1921         much sense, anyway.)
1922
1923         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1924         handle types more sanely.
1925         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1926         (_gtk_tree_data_list_node_copy): handle types more sanely.
1927
1928         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1929         GValue better. Converts the type as well.
1930
1931         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1932         GValue better. Converts the type as well.
1933
1934 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1935
1936         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1937         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1938         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1939         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1940
1941         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1942         gdk_im/gdk_ic.
1943
1944 2001-03-09  Hans Breuer  <hans@breuer.org>
1945
1946         * gdk/gdk.def : updated
1947
1948         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1949         for their palette
1950
1951         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1952         removing
1953
1954         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1955         removing and implemented Havoc's GdkWindow state functions; 
1956         stick/unstick only as no-op, cause I don't know how to emulate 
1957         on win32 ...
1958
1959         * gtk/gtk.def : updated
1960
1961         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1962
1963         * gtk/gtktypeutils.c : #include <string.h>
1964
1965         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1966
1967 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1968
1969         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1970         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1971         not a boxed.
1972
1973 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1974
1975         * docs/Changes-2.0.txt:
1976         Document expose event->region change and that gtk_widget_event
1977         doesn't allow passing expose events.
1978
1979         * gdk/gdkevents.h:
1980         Add region to expose event.
1981         
1982         * gdk/gdkevents.c:
1983         Handle event->region in gdk_event_copy() and gdk_event_free().
1984
1985         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1986         Generate expose_event->region when creating expose events.
1987
1988         * gdk/x11/gdkevents-x11.c:
1989         Generate expose events with regions when translating X events.
1990
1991         * gtk/gtkcontainer.[ch]:
1992         Default expose handler that propagates expose events to NO_WINDOW
1993         children. New function gtk_container_propagate_expose()
1994
1995         * gtk/gtkwidget.[ch]:
1996         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1997         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1998         expose events. New function gtk_widget_send_expose() to send expose
1999         events. New function gtk_widget_region_intersect() to calculate
2000         window/region intersections.
2001         
2002         * gtk/gtkmain.c (gtk_main_do_event):
2003         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
2004         Use gtk_widget_send_expose() to send expose events.
2005         
2006         * gtk/gtkbin.c:
2007         * gtk/gtkbox.c:
2008         * gtk/gtkfixed.c:
2009         * gtk/gtkimagemenuitem.c:
2010         * gtk/gtklist.c:
2011         * gtk/gtkpacker.c:
2012         * gtk/gtktable.c:
2013         * gtk/gtktree.c:
2014         Remove expose handler, using the default container implementation
2015         instead.
2016         
2017         * gtk/gtkbutton.c:
2018         * gtk/gtkcheckbutton.c:
2019         * gtk/gtkeventbox.c:
2020         * gtk/gtkfixed.c:
2021         * gtk/gtkhandlebox.c:
2022         * gtk/gtklayout.c:
2023         * gtk/gtklistitem.c:
2024         * gtk/gtkmenu.c:
2025         * gtk/gtkmenubar.c:
2026         * gtk/gtkmenuitem.c:
2027         * gtk/gtknotebook.c:
2028         * gtk/gtkoptionmenu.c:
2029         * gtk/gtkpaned.c:
2030         * gtk/gtkscrolledwindow.c:
2031         * gtk/gtktogglebutton.c:
2032         * gtk/gtktoolbar.c:
2033         * gtk/gtktreeitem.c:
2034         * gtk/gtkviewport.c:
2035         Chain expose handler to parent class handler. Use
2036         gtk_container_propagate_expose() to propagate exposes.
2037
2038         * gtk/gtkclist.c (check_exposures):
2039         * gtk/gtktext.c (process_exposes):
2040         Use gtk_widget_send_expose instead of gtk_widget_event.
2041
2042 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
2043
2044         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
2045
2046 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
2047
2048         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
2049         unref the nodes.   Fixes bug #50058.
2050
2051         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
2052         "::ref_iter" to "::ref_node".
2053         (gtk_tree_model_unref_node): change "::unref_iter" to
2054         "::unref_node". Fixes bug #50064.
2055
2056 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
2057
2058         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
2059         support for invisible cells.
2060          (gtk_tree_view_bin_expose): ditto
2061
2062 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
2063
2064         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
2065         on gobjects.
2066
2067         * tests/testtreefocus.c (main): New test file.
2068
2069         * tests/testtreeview.c: update to latest glib changes.
2070
2071         * tests/testtreecolumns.c: update to latest glib changes.
2072
2073 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
2074
2075         * gtk/testgtk.c: re-enabled event watcher emission hooks.
2076
2077 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
2078
2079         * *.c: added accumulator data argument to g_signal_newc()
2080         functions.
2081
2082         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
2083         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
2084         * gtk/treestoretest.c (make_window):
2085         s/g_signal_connect/g_signal_connectc/.
2086
2087         * gtk/gtktextbuffer.c: completed signal arg fixups,
2088         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
2089
2090 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
2091
2092         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
2093         G_CONST_RETURN.
2094
2095         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
2096         ::hierarchy-changed signal when a widget changes
2097         from anchored to unanchored or vice versa.
2098         (anchored means 
2099          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
2100         Use a private flag to keep track of this efficiently.
2101
2102 2001-03-07  Havoc Pennington  <hp@redhat.com>
2103
2104         * gtk/testgtk.c (create_spins): uglify so that size request gets
2105         tested.
2106
2107         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
2108         request on values for upper/lower, completes #6152
2109
2110 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
2111
2112         * Makefile.am: Remove gtk-config-2.0 again.
2113         (Grrrr, pkg-config. And stops make loops.)
2114
2115 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
2116
2117         * gtk/gtksignal.[hc]: removed old emission hook API.
2118         
2119         * docs/Changes-2.0.txt: fixed sections.
2120         
2121         * gtk/gtktextbuffer.c: signal arg fixups.
2122
2123 2001-03-07  Havoc Pennington  <hp@redhat.com>
2124
2125         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
2126
2127         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
2128         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
2129         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
2130         validation and the redraw which is higher priority than the
2131         validation.
2132
2133 2001-03-07  Havoc Pennington  <hp@redhat.com>
2134
2135         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
2136         (gtk_entry_set_property): remove trailer
2137
2138         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
2139         (gtk_entry_get_width_chars): new functions, to set size request to 
2140         a given number of characters
2141
2142         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
2143
2144         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
2145         (gtk_dialog_get_has_separator): new function
2146         (run_delete_handler): fix to not emit "response" signal
2147         because we already did in the delete event handler installed
2148         at dialog creation time.
2149         
2150         * gtk/gtkdialog.h: add a has_separator property,
2151         add GTK_DIALOG_NO_SEPARATOR flag
2152
2153 2001-03-07  Havoc Pennington  <hp@redhat.com>
2154
2155         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
2156         off decorations for a window.
2157
2158         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
2159         changes
2160
2161         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
2162         to get location of PangoLayout inside the label, closes #51198
2163
2164         * gtk/testgtk.c (create_bbox): fix up button box usage
2165
2166         * gtk/testcalendar.c (create_calendar): fix up button box usage
2167
2168         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
2169
2170         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
2171
2172         * gtk/gtkhbbox.h: deprecations
2173
2174         * gtk/gtkvbbox.h: deprecations
2175
2176         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
2177         emulate deprecated gtk_button_box_get_spacing
2178
2179         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
2180         the "set global default" functions
2181         (struct _GtkButtonBox): remove "spacing" field, use the one from 
2182         GtkBox base class
2183
2184         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
2185
2186         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
2187         render the icon, return the missing image icon.
2188
2189         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
2190         image icon if the load fails.   
2191
2192         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
2193         when no image is found; should be the Netscape "missing image"
2194         icon eventually but for now is a random image
2195
2196         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
2197         role for the session manager
2198
2199         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
2200
2201         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
2202         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
2203
2204         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
2205
2206 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
2207
2208         * gtk/*.c: marshaller fixes.
2209         
2210         * gtk/gtkmarshal.list: extreme cleanup.
2211
2212         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
2213         param spec for now.
2214
2215         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
2216         where appliable.
2217
2218         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
2219         special cased autogenerated boxed types from gtktypebuiltins_ids.c
2220         which are not reference counted:
2221         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
2222         PangoFontDescription, GtkTreeIter and GtkTreePath.
2223
2224 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
2225
2226         * gtk/gtktreeselection.h: 
2227         * gtk/gtktreemodel.c:
2228         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
2229         file should be included directly, and gobject/gmarshal.h
2230         as well as gtk/gtkmarshal.h even can't be included directly.
2231
2232         * Makefile.am: grr, install gtk-config-2.0.
2233
2234         * gtk/testgtk.c:
2235         * gtk/simple.c:
2236         * gtk/gtkmenu.c:
2237         * gtk/gtkitemfactory.c: use g_object_connect() instead of
2238         passing "*signal*::*" args to gtk_widget_set().
2239         
2240         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
2241         
2242         * gtk/*.c: removed trailer arg from property setters and getters.
2243         macro fixups.
2244
2245 2001-03-07  Alexander Larsson  <alexl@redhat.com>
2246
2247         * gtk/gtklabel.c (set_markup): Removed warning
2248
2249 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
2250
2251         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
2252         field to allow you to hide cell renderers.
2253
2254         * gtk/gtkcellrenderer.c: Add support for invisible cells.
2255
2256         * gtk/gtktreeview.c: Add support for invisible cells.
2257
2258 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
2259
2260         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
2261         Add "clicked" signal back to columns.
2262
2263         * ChangeLog: remove conflict markers.
2264
2265 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
2266
2267         * gtk/gtkbutton.c: Add animation of activation by, on 
2268         activate, pressing the button, and adding a timeout that 
2269         releases the button after 250ms or on key release and
2270         emits ::clicked. (#51501)
2271
2272         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
2273         action area, we connect to ::clicked instead of ::activate
2274         so the dialog stays up through the animation.
2275
2276 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
2277
2278         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
2279         check the ignore_enter flag for the menu shell that
2280         the item is actually a child of, not for attached
2281         submenus. (#51536)
2282
2283 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
2284
2285         * gtk/gtkmain.c (gtk_propagate_event): Only do special
2286         special key-press grab handling for widgets within
2287         GtkWindows. Otherwise, fall through to normal case.
2288
2289         This prevents key events being sent twice to GtkInvisible
2290         widgets, which can cause all sorts of mischief.
2291
2292 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
2293
2294         * gtk/gtkmain.c (gtk_propagate_event): When a grab
2295         widget is in effect, give the grab widget a first
2296         crack at KEY_PRESS/RELEASE events. (#424)
2297
2298 2001-03-06  James Henstridge  <james@daa.com.au>
2299
2300         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
2301         offset for the window_state_event to point at window_state_event
2302         rather than no_expose_event.
2303
2304 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
2305
2306         * gtk/gtkimmodule.h: fix busted /* comment */
2307
2308 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
2309
2310         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
2311         object properties.
2312
2313 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
2314
2315         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
2316         add object properties.
2317
2318         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
2319         to add object properties.
2320
2321         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
2322         object properties.
2323
2324         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
2325         add object properties.
2326
2327         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
2328         object properties.
2329
2330 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
2331
2332         * gtk/gtktreemodel.c: renamed "child_toggled" to
2333         "has_child_toggled".
2334
2335         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
2336         handle new signal name.
2337
2338         * gtk/gtktreestore.c: Updated to handle new signal name.
2339         * gtk/gtklisttore.c: Updated to handle new signal name.
2340         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
2341
2342 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2343
2344         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
2345         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
2346
2347 2001-03-05  Michael Natterer  <mitch@gimp.org>
2348
2349         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
2350         pixbuf-engine coincidentially also failed to make one of it's
2351         parent_class pointers static, causing overwriting of GtkLabel's
2352         parent_class pointer in pixbuf_style_class_init().
2353         (Will commit the fix to the pixbuf-engine too).
2354
2355 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2356
2357         * gdk/gdkwindow.h:
2358         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
2359         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
2360         gdk_window_set_icon_list for net wmspec functionality.
2361
2362         * gdk/x11/gdkwindow-x11.c:
2363         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
2364         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
2365         gdk_window_set_icon_list.
2366         Added gdk_wmspec_change_state helper function and used it in the code.
2367         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
2368
2369         * gtk/gtkdialog.c (gtk_dialog_init):
2370         Set GDK_WINDOW_TYPE_HINT_DIALOG.
2371
2372         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
2373         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
2374
2375         * gtk/gtkwindow.c:
2376         new function gtk_window_set_type_hint.
2377         On realize, set type hint and modal hint.
2378
2379         * gtk/gtkwindow.h:
2380         Added type_hint field and gtk_window_set_type_hint.
2381
2382 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2383
2384         * gtk/gtklabel.[ch]:
2385         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
2386         New function gtk_label_get_accel_keyval () to get the underline accelerator
2387         of the label. Setting the label pattern overrides other attributes.
2388
2389 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
2390
2391         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
2392         Added missing initializers to gtk_rc_style_init().
2393
2394 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
2395
2396         * gtk/gtktextview.c: fixed bug #51097 about setting 
2397         gtk_text_view_set_border_window_size() if the widget is 
2398         already realized.
2399
2400 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
2401
2402         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
2403
2404         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
2405         comment. Won't do to have duplicated doc comments between
2406         the platform subdirs.
2407
2408 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
2409
2410         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
2411           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
2412
2413         Detectable auto-repeat - make a repeating key generate
2414         press/press/press/release instead of press/release pairs.
2415
2416         If we have Xkb and XkbSetDectableAutoRepeat supports
2417         that, we do it that way. Otherwise, when we get
2418         a release event, we check ahead with XPending to see
2419         if the next key is a KeyPress with the same keycode
2420         and timestamp. (Not 100% reliable, but pretty close.)
2421           
2422 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
2423         
2424         * gtk/gtkmain.c (gtk_propagate_event): Only do special
2425         special key-press grab handling for widgets within
2426         GtkWindows. Otherwise, fall through to normal case.
2427  
2428         This prevents key events being sent twice to GtkInvisible
2429         widgets, which can cause all sorts of mischief.
2430  
2431 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
2432  
2433         * gtk/gtkmain.c (gtk_propagate_event): When a grab
2434         widget is in effect, give the grab widget a first
2435         crack at KEY_PRESS/RELEASE events. (#424)
2436  
2437 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
2438
2439         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
2440         to extend the selection. (Roughly based on patch
2441         from Jay Cox, #50939)
2442
2443         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
2444         to properly handle previous GDK_BUTTON_PRESS. 
2445         (Patch from Jay Cox, #50938)
2446
2447         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
2448         '\0' back along with the deleted text. (#51148)
2449
2450 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
2451
2452         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
2453         the group when extracting it from the X keyboard event.
2454
2455         * modules/input/Makefile.am modules/input/imipa.c: 
2456         Simple module for entering IPA. (Do we need a 
2457         gtk-stupid-input-tricks CVS module?)
2458
2459 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
2460
2461         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
2462         const.
2463
2464         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
2465
2466         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
2467         is no focus widget for the dialog currently, grab the focus as well
2468         as the default.
2469
2470         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
2471         the action area's children to iterate through, not the
2472         dialog's children.
2473
2474 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
2475
2476         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
2477         Add plug-socket tests. (Won't work worth a darn until I commit
2478         the rest of the plug-socket changes, but no reason these
2479         can't go into CVS now.)
2480
2481 2001-03-02  Havoc Pennington  <hp@redhat.com>
2482
2483         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
2484         _gdk_region_get_xrectangles()
2485
2486         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
2487
2488         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
2489
2490         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
2491         function, contributed by Ron Steinke    
2492
2493         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
2494         gdk_net_wm_supports
2495
2496         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
2497         New function, contributed by Ron Steinke
2498
2499         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
2500         used to line up the text in the entry when using the entry for
2501         editable sheet cell hacks
2502
2503         * gtk/testgtk.c (create_entry): test the activate_default setting
2504         on GtkEntry
2505
2506         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
2507         cause the entry to activate the default button for a dialog when 
2508         activated
2509         (gtk_entry_get_activates_default): new function
2510
2511 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
2512
2513         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
2514         Hwang to move call to sync_selection() up a few lines
2515         to before the row list is modified, to fix crash when
2516         removing rows in the undo_selection list.
2517
2518         (Test case provided by Daniel Elstner:
2519
2520         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
2521
2522 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
2523
2524         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
2525         of tree->root_tree in parent_set rather than _map(), 
2526         fixing #50892 in a bit better manner.
2527
2528 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
2529
2530         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
2531
2532 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
2533
2534         * gtk/gtkstyle.c : Remove duplicate fwd decl for
2535         gtk_default_draw_shadow.
2536
2537 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
2538
2539         * gdk/gdkimage.c (gdk_image_new): Remove excess 
2540         warning, make warnings more verbose, treat a error
2541         in shmat as permanent, and don't try again.
2542         (#51163, Ed Randall.)
2543
2544 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
2545
2546         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
2547         delay for the first click before starting to scroll.
2548         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
2549
2550         * gtk/gtktext.c: GtkText should have I-beam cursor. 
2551         (based on gtk-enf-990513-1.patch, Eric Fisher.)
2552
2553 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
2554
2555         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
2556         cleanup to remove some references to unused
2557         ->xoffset, ->yoffset.
2558
2559 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
2560
2561         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
2562         mask. (#51039, fix from Martin Maierhofer)
2563
2564 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
2565
2566         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
2567         for unshifted + and shifted = for non-us keyboards.
2568         Make <Control>+ and <Control>- work as well as 
2569         <Control>KP_Plus, <Control>KP_Minus for recursive
2570         open/close.  (#2682, René Seindal)
2571
2572 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
2573
2574         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
2575         the active menu item before deactivating the menu,
2576         so gtk_menu_popdown doesn't change the history. (#50964)
2577         
2578 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
2579
2580         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
2581         draw lines with text_gc rather than black_gc.
2582         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
2583
2584 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
2585
2586         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
2587         Move handling of buttons fully in gtktreeviewcolumn.  This code is
2588         less interrelated then it was, but it still requires the
2589         GtkTreeView to map it.
2590
2591         * test/testtreecolumn.c: Now I can add a column to one view,
2592         remove it, add it to the another view, remove it, then re-add it
2593         to the first.  Nifty.
2594
2595 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
2596
2597         * docs/tutorial/gtk-tut.sgml: Minor corrections
2598
2599 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
2600
2601         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
2602         GtkRowReference.
2603
2604 2001-02-28  Havoc Pennington  <hp@redhat.com>
2605
2606         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
2607         draw_default
2608         (gtk_widget_draw_focus): remove this function; we could instead
2609         make it just gtk_widget_draw(), but in most cases I think the
2610         result would be broken user code, so think it's better to have
2611         that code not compile and get fixed
2612         (gtk_widget_draw_default): ditto
2613
2614         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
2615         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
2616         
2617         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
2618         widgets lose/get the default, instead of calling draw_default
2619         
2620         * docs/Changes-2.0.txt: note about all this
2621
2622         Then fixed every widget in GTK, I won't list all the filenames.
2623
2624 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
2625
2626         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
2627         _gtk_tree_row_reference_deleted.
2628         (inserted_callback): Proxy out to
2629         _gtk_tree_row_reference_inserted.
2630         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
2631         get around signal emission ordering problem.
2632
2633         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2634         fix to work with SINGLE 
2635         (_gtk_tree_selection_internal_select_node): Major sanitization on
2636         selections.  SINGLE now seems to work.
2637
2638         * tests/Makefile.am: add testtreecolumn.c:
2639
2640         * tests/testtreecolumn.c: New test.  Mostly points out selection
2641         bugs currently, but will test columns later.
2642
2643         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
2644         selection bug.  I hate touching this code -- it's scary.
2645
2646 2001-02-26  Havoc Pennington  <hp@redhat.com>
2647
2648         * gtk/testgtk.c: test the window state stuff
2649
2650         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
2651         window come to the user's attention as if it were just created
2652         (gtk_window_iconify): new function
2653         (gtk_window_deiconify): new function
2654         (gtk_window_stick): new function
2655         (gtk_window_unstick): new function
2656         (gtk_window_maximize): new function
2657         (gtk_window_unmaximize): new function
2658
2659         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
2660
2661         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
2662
2663         * gdk/x11/gdkevents-x11.c: create window state events when
2664         appropriate
2665         (gdk_wmspec_supported): new function
2666
2667         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
2668         iconification before showing the window
2669         (gdk_window_deiconify): new function
2670         (gdk_window_stick): new function
2671         (gdk_window_unstick): new function
2672         (gdk_window_maximize): new function
2673         (gdk_window_unmaximize): new function
2674
2675         * gdk/gdkwindow.c: store the window state in the window; 
2676         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
2677         window->mapped.
2678         (gdk_window_get_state): return the current window state
2679
2680         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
2681         (gdk_event_get_state): handle GDK_WINDOW_STATE
2682         (gdk_synthesize_window_state): function to create the window state
2683         events
2684
2685         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
2686         event, for changes to "window state" such as maximized, sticky, 
2687         etc.
2688         
2689         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
2690         focuses a window
2691
2692         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
2693         finds out if we support a given WM spec hint
2694
2695 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
2696
2697         * docs/faq/gtk-faq.sgml: New question re memory leaks.
2698
2699 2001-02-25  Hans Breuer  <hans@breuer.org>
2700
2701         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
2702         cause we want to loose those prototypes only in the latter case
2703
2704         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
2705         GdkPixmapImplWin32 because it itsn't derived from it. Use the
2706         impl member variable instead
2707
2708         * gtk/gtk.def : updated
2709
2710         * gtk/gtklist.c : 
2711         * gtk/gtkmenus.c : include <string.h> for memset ()
2712
2713         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
2714         for everthing built here, but for gtk-x.x.dll only. This solves
2715         problem of indifferent gtk type definitions
2716
2717 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
2718
2719         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
2720
2721 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
2722
2723         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
2724         column that is exposed.
2725
2726         (_gtk_tree_view_update_size): Changed name from set_size, and
2727         changed function to do more work, and not force people calling it
2728         to figure out the size.  Simplifies a lot of code elsewhere.
2729
2730 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2731
2732         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
2733         return solid masks for xpms that have no transparent color.
2734         This makes the ..._create_from_xpm... API backwards
2735         compatible.
2736
2737 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2738
2739         * README.win32: Update. Mention the gtk-1-3-win32-production
2740         branch.
2741
2742         * gdk/win32/bdfcursor.c: New file. A program that generates
2743         xcursors.h. Thanks to Stefan Ondrejicka.
2744
2745         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2746         compact format.
2747
2748         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2749
2750         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2751         function, uses xcursors.h.
2752         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2753         cursor from inline data instead of using LoadCursor() to generate
2754         it from a resource.
2755
2756         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2757         event, must check the Windows message for mouse button state, as
2758         the GDK event state might not have been built if it is
2759         undelivered. Remove one goto.
2760
2761         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2762         SetCursor() if the current cursor as returned by GetCursor() is
2763         the window's previous cursor. The ChildWindowFromPoint() test
2764         apparently didn't work correctly.
2765
2766         * gdk/win32/rc/*.cur: Remove.
2767
2768         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2769
2770         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2771
2772         * gtk/makefile.{mingw,msc}.in: Updates.
2773
2774 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2775
2776         * gtk/gtktreemodel.h: add functions for signal emission.
2777
2778         * gtk/gtktreestore.c: move to use above functions instead of
2779         g_signal_emit.
2780
2781         * gtk/gtkliststore.c: ditto
2782
2783 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2784
2785         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2786         GObject instead of GtkObject.
2787
2788         * gtk/gtkliststore.c: ditto.
2789
2790         * gtk/gtktreemodelsort.c: ditto.
2791
2792         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2793         GtkTreeModelIface, instead of in each model.
2794
2795 2001-02-21  Havoc Pennington  <hp@redhat.com>
2796
2797         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2798         unbreak this function
2799
2800         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2801         properties
2802
2803         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2804         properties
2805
2806         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2807         properties
2808
2809         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2810         mean unset the max length
2811
2812 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2813
2814         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2815         Changed name to be set_cell_data_func to make it clear what
2816         the functino does.  Close bug #51069.
2817
2818 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2819
2820         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2821         have memory actually freed.  Keeps box running longer.
2822
2823 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2824         
2825         * gtk/gtkseparatormenuitem.[ch]:
2826         Added new menu separator item. The drawing and size handling
2827         is still done in GtkMenuItem, but the API is a bit more sane.
2828         
2829         * gtk/Makefile.am:
2830         Add gtkseparatormenuitem.[ch].
2831
2832         * gtk/gtk.h:
2833         Add gtkseparatormenuitem.h.
2834         
2835         * gtk/gtkentry.c:
2836         * gtk/gtkmenufactory.c:
2837         * gtk/gtktextview.c:
2838         Use the new API for menu separators.
2839         
2840         * demos/gtk-demo/menus.c (create_menu):
2841         Add some GtkSeparatorMenuItem demo code.
2842
2843 2001-02-20  Havoc Pennington  <hp@redhat.com>
2844
2845         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2846         Lee Mallabone
2847
2848         * gtk/gtkarrow.c: Convert to new property API, patch from 
2849         Lee Mallabone
2850
2851 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2852
2853         * tests/testtreeview.c (toggled_callback): fix to reflect change
2854         in GtkTreeModelStore.
2855
2856 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2857
2858         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2859         function to create an icon set from a pixbuf.
2860
2861 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2862
2863         * gtk/gtkcellrenderertext.[ch]:
2864         Add a "markup" property.
2865
2866         * gtk/treestoretest.c:
2867         Use the markup property, remove some leftover stuff from
2868         GtkTreeModelMapping.
2869
2870 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2871
2872         * gtk/gtklabel.c (gtk_label_set_selectable):
2873         Queue a redraw if the selectable setting was changed.
2874
2875 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2876
2877         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2878         Actually copy the whole gc, not just the public parts.
2879         
2880         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2881         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2882         labels.
2883
2884 2001-02-19  Havoc Pennington  <hp@pobox.com>
2885
2886         * gdk/gdkwindow.c: docs
2887
2888         * gdk/gdkrgb.c: docs
2889
2890         * gdk/gdkregion-generic.c: docs
2891
2892         * gdk/gdkgc.c (gdk_gc_set_values): docs
2893
2894         * gdk/gdkdraw.c: docs
2895
2896         * gdk/gdkdrawable.h: deprecate drawable get/set data
2897
2898 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2899
2900         * demos/gtk-demo/dialog.c: Add simple new demo.
2901
2902 2001-02-19  Havoc Pennington  <hp@redhat.com>
2903
2904         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2905         insert_child_anchor signal, bug #50245
2906
2907         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2908         from create_child_anchor, so the anchor is passed in
2909
2910         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2911         (_gtk_widget_segment_new): have the child anchor object passed in, 
2912         instead of creating it.
2913
2914         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2915         to gtk_text_buffer_get_modified
2916
2917 2001-02-19  Havoc Pennington  <hp@redhat.com>
2918
2919         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2920         changed GLib without fixing GTK
2921
2922         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2923         functions to have an underscore in front. Most of them should 
2924         probably just go away, but for starters don't export them.
2925         Bug #50482
2926
2927 2001-02-19  Havoc Pennington  <hp@redhat.com>
2928
2929         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2930         excluded by default
2931
2932         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2933         clean up the old code a bit
2934
2935         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2936         inconsistent state
2937
2938         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2939         draw inconsistent state
2940
2941         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2942         (create_menu): add inconsistent test
2943
2944         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2945         new function
2946         (gtk_check_menu_item_get_inconsistent): new function
2947         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2948         state (using etched in for now)
2949
2950         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2951         draw inconsistent state
2952
2953         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2954         function, used when the user has selected a range of stuff in
2955         different states
2956         (gtk_toggle_button_get_inconsistent): accessor for that
2957         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2958         don't know what else to do)
2959
2960 2001-02-19  Hans Breuer <hans@breuer.org>
2961
2962         * gtk/gtk.def : updated exported symbols
2963
2964         * gtk/makefile.msc.in : updated
2965
2966         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2967         a colormap, when invoked from testgtk::entry. I'm not sure where
2968         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2969         avoids immediate crashing ...
2970
2971         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2972         any objections ?
2973
2974         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2975         0 parameter. At least msvc doesn't like macros with var args. 
2976         I simply removed the extra 0, was it a feature or a typo ?
2977
2978         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2979         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2980         because the value assignment to the internal struct wasn't working.
2981         I'm not absolutely sure. The problem could have been resolved by
2982         changing the "func" declartion in the struct, but was the pointer
2983         to the function pointer intended ?
2984
2985         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2986
2987         * gdk/gdk.def : updated exported symbols
2988
2989         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2990         only use SetDIBitsToDevice if there is a palette at the drawable
2991         and the image is GDK_VISUAL_PSEUDO_COLOR
2992
2993         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2994
2995         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2996
2997         * gdk/*/makefile.msc : updated
2998
2999 2001-02-19  Havoc Pennington  <hp@redhat.com>
3000
3001         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
3002         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
3003
3004         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
3005         (gdk_key_repeat_restore): nuke
3006
3007         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
3008         (gdk_init_check): no atexit func
3009
3010         * gdk/gdkrgb.h: mark some stuff deprecated
3011
3012         * gdk/gdkcolor.h: mark some stuff deprecated
3013         
3014         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
3015
3016         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
3017
3018 2001-02-16  Havoc Pennington  <hp@redhat.com>
3019
3020         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
3021         scroll steps.
3022
3023         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
3024         steps, and add Ctrl-arrow shortcuts for paging visually as with
3025         HScale, since Page Up and Page Down move logically.
3026
3027         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
3028         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
3029         
3030         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
3031         steps
3032         (gtk_range_scroll): handle the visual steps
3033
3034         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
3035         scroll steps
3036
3037         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
3038         steps, not the logical ones.
3039
3040         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
3041         (scroll_vertical): handle up/down steps
3042
3043 2001-02-19 Alexander Larsson  <alexl@redhat.com>
3044
3045         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
3046         Copy data and free data with free().
3047
3048         * gdk-pixbuf/gdk-pixbuf.c:
3049         * gdk-pixbuf/io-jpeg.c:
3050         * gdk-pixbuf/io-png.c:
3051         Use g_try_malloc/g_free instead malloc/free.
3052         
3053         * gdk-pixbuf/test-gdk-pixbuf.c:
3054         Must... initialize... gobject...
3055         
3056         * gdk-pixbuf/pixops/timescale.c:
3057         * gtk/gtkcalendar.c:
3058         Use g_malloc instead of malloc.
3059         
3060 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
3061
3062         * gtk/testgtkrc:
3063         Comment out property assignments, these don't work yet.
3064
3065 2001-02-17  Havoc Pennington  <hp@pobox.com>
3066
3067         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
3068         bit.
3069
3070 2001-02-17  Havoc Pennington  <hp@pobox.com>
3071
3072         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
3073         shadowed variables that had broken size request in some cases,
3074         leading to bogus tooltips (#50996)
3075
3076 2001-02-06  Jon K Hellan  <hellan@acm.org>
3077
3078         Implement fast browsing of tooltips, bug #50619
3079         
3080         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
3081         and last_popdown
3082         
3083         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
3084         use_sticky_delay and last_popdown.
3085         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
3086         time of popdown.
3087         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
3088         is NULL.
3089         (gtk_tooltips_recently_shown): New static function.  Return true
3090         if < sticky_delay has elapsed since last popdown.
3091         (gtk_tooltips_event_handler): Display window after sticky_delay
3092         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
3093         since last popdown.
3094         
3095 2001-02-17  Havoc Pennington  <hp@pobox.com>
3096
3097         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
3098         instead of (). #6394
3099
3100         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
3101         G_CONST_RETURN, make it return by reference, #50473
3102         
3103 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
3104
3105         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
3106         generated ENTER_NOTIFY event with 0, otherwise not explicitely
3107         setup fields contain garbage (e.g. subwindow, breaking
3108         gdk_drawable_ref() upon event copy).
3109         (gtk_menu_stop_navigating_submenu_cb): same here.
3110
3111         * gtk/gtklist.c (gtk_list_vertical_timeout): 
3112         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
3113         * gtk/gtkclist.c (vertical_timeout): 
3114         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
3115         default-zero-intialization for unions to memset(,0,), as unions are
3116         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
3117         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
3118
3119         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
3120         g_closure_sink() warning.
3121
3122         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
3123         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
3124         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
3125         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
3126         
3127 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
3128
3129         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
3130         gtk_*_store_get, and moved to GtkTreeModel.
3131
3132         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
3133
3134         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
3135
3136         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
3137
3138         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
3139         set the func.
3140
3141         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3142         freeze/thaw notify between setting all the properties for a cell.
3143
3144         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
3145
3146 2001-02-15  Havoc Pennington  <hp@redhat.com>
3147
3148         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
3149         the X coordinates so they're with respect to the line, rather than 
3150         with respect to the layout.
3151
3152         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
3153         Mallabone
3154
3155         * gtk/testgtk.c (create_range_controls): add vscale tests, 
3156         and inverted test
3157
3158         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
3159         #50806
3160
3161         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
3162
3163         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
3164         gtk_text_iter_is_end
3165
3166         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
3167         rename gtk_text_buffer_get_end_iter
3168
3169         * gtk/testgtk.c (create_labels): Add test for selectable
3170
3171         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
3172         the selection stuff. This code is kind of broken since it doesn't 
3173         use the theme engine.
3174
3175         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
3176         fix infinite loop and y offset problem
3177         (gdk_draw_layout_line_with_colors): fix foreground color handling
3178
3179         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
3180         that makes the label selectable.
3181         
3182         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
3183         layout when the style is set, since fonts etc. could have changed.      
3184
3185 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
3186
3187         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
3188
3189         * gtk/gtktreemodelsimple.[ch]: removed.
3190
3191 2001-02-16  Alexander Larsson  <alexl@redhat.com>
3192
3193         * gtk/gtktreemodelmapping.[ch]:
3194         New files. Implement GtkTreeModelMapping.
3195         
3196         * gtk/Makefile.am:
3197         Add gtktreemodelmapping.[ch].
3198         
3199         * gtk/gtk.h:
3200         Add gtktreemodelmapping.h
3201
3202         * gtk/treestoretest.c:
3203         Test the GtkTreeModelMapping
3204
3205 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
3206
3207         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
3208         have a demo, we might as well pass in real values.  Thanks to
3209         clahey for pointing this out.
3210
3211 2001-02-14  Havoc Pennington  <hp@pobox.com>
3212
3213         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
3214         "static" to a private function
3215         (gtk_image_menu_item_class_init): remove destroy handler,
3216         add "image" object property
3217
3218 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
3219
3220         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
3221         Add a shortcut if the window and the current clip_region doesn't
3222         overlap. This is needed when there are a lot of windows in a
3223         window. The layout test in testgtk is a good test.
3224
3225         * gdk/linux-fb/gdkwindow-fb.c:
3226         Whitespace fix.
3227
3228 2001-02-13  Sven Neumann  <sven@convergence.de>
3229
3230         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
3231
3232 2001-02-13  Alexander Larsson  <alexl@redhat.com>
3233
3234         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
3235         Don't reference last_cursor if it is null. Fixes crash when rotating
3236         the screen before having moved the mouse.
3237
3238         * gdk/linux-fb/gdkcc-fb.c: Zapp!
3239
3240         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
3241
3242         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
3243         when using 90 or 270 degrees rotation.
3244
3245 2001-02-12  Havoc Pennington  <hp@pobox.com>
3246
3247         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
3248         it always set the foreground, even if we were only using
3249         a stipple.
3250         (gdk_draw_layout_line_with_colors): new function, allow
3251         override colors
3252         (gdk_draw_layout_with_colors): new function, allow override
3253         colors
3254         (gdk_pango_layout_line_get_clip_region): function to get the clip
3255         region for a logical text range
3256         (gdk_pango_layout_get_clip_region): get the clip region for a
3257         logical text range
3258
3259         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
3260         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
3261         the right number of arguments.
3262
3263         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
3264         enhance the function to check that node data corresponds to a 
3265         view still belonging to the tree.
3266
3267         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
3268         GtkTreePath
3269         (gtk_tree_view_inserted): ditto
3270         (gtk_tree_view_child_toggled): ditto
3271
3272         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
3273         simplify this code.
3274
3275         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
3276         a PangoAttrList
3277
3278         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
3279
3280         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
3281
3282         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
3283         size in the size request 
3284         (gtk_menu_bar_size_allocate): consider toggle size here
3285
3286         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
3287         that displays a widget in the toggle slot
3288
3289         * gtk/testgtk.c: test GtkImageMenuItem
3290
3291         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
3292         
3293         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
3294         request and allocation
3295
3296         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
3297
3298         * gtk/gtkcheckmenuitem.c
3299         (gtk_check_menu_item_toggle_size_request): ditto
3300         
3301 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
3302
3303         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
3304         reference.
3305
3306         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
3307         and refuse to initialize GTK+ if they fail.
3308
3309 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
3310
3311         * configure.in: Add check for gtk-doc version.
3312
3313 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
3314
3315         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
3316         where the xpad/ypad was only being used on one side!
3317
3318 2001-02-11  Tor Lillqvist  <tml@iki.fi>
3319
3320         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
3321         function, copied from X11 version.
3322
3323         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
3324         DestroyCursor failures. The reason for the problem (despite the
3325         inconsistent messages from GetLastError()) was that
3326         DestroyCursor() cannot be called while a cursor is set in a
3327         window. Set the new cursor first and then destroy the old one.
3328         Thanks to jpe@archaeopteryx.com.
3329
3330         * gdk/win32/gdkcc-win32.c: Remove.
3331
3332         * gdk/win32/Makefile.am: Remove from here, too.
3333         
3334         * gdk/gdk.def
3335         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
3336
3337         * gtk/gtk.def
3338         * gtk/makefile.mingw.in: Updates.
3339
3340 2001-02-08  Havoc Pennington  <hp@redhat.com>
3341
3342         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
3343         add a widget to a bin that already has a child.
3344
3345         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
3346
3347         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
3348         
3349         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
3350
3351         * gdk/gdk.h: remove gdkcc.h
3352
3353         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
3354
3355         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
3356         GdkPixbuf, since the previous implementation was GdkColorContext
3357         dependent.
3358
3359         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
3360         
3361 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
3362
3363         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
3364         a sane value!
3365
3366 2001-02-08  Havoc Pennington  <hp@redhat.com>
3367
3368         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
3369         lighten them.
3370
3371 2001-02-08  Havoc Pennington  <hp@redhat.com>
3372
3373         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
3374         validation idle
3375
3376         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
3377         cell renderer
3378
3379         * demos/pixbuf-demo.c (timeout): remove deprecated
3380         gtk_widget_draw
3381
3382         * demos/testpixbuf-save.c (main): remove deprecated
3383         gtk_drawing_area_size
3384
3385         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
3386         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
3387         at the start of the allocation.
3388         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
3389         unsetup or NULL model.
3390
3391         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
3392         even/odd/sorted cells in the tree view.
3393
3394         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
3395         bugfixes
3396
3397         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
3398         backgrounds with draw_flat_box using different detail for even/odd
3399         rows.
3400
3401         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
3402         row, so we can draw the alternating colors thing
3403
3404         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
3405         property from a synonym property, notify for the synonym.
3406         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
3407         (gtk_text_tag_get_property): Always return the font, even if
3408         all its fields aren't set
3409
3410         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
3411         store the attr list; it leaves us with no way to change attributes
3412         in _render according to the render flags, and no way to implement
3413         get_property. Instead store all the specific text attributes. 
3414         Separate whether an attribute is enabled from its value. Sync all
3415         properties with GtkTextTag, make them all consistent, etc.
3416
3417         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
3418         renderers can highlight the sort row/column     
3419
3420         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
3421         accessor functions to get values; this has the side effect of
3422         showing up which accessor functions were missing. Added those.
3423
3424         * gtk/gtktreeviewcolumn.h: Replace set_justification with
3425         set_alignment, to be consistent with GtkLabel, GtkMisc
3426
3427         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
3428         arrow.
3429
3430         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
3431
3432         * gtk/gtktreesortable.h: updates in here
3433
3434 2001-02-07  Sven Neumann  <sven@convergence.de>
3435
3436         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
3437         pango dimensions after painting the background. We used to draw
3438         gigantic flat boxes here.
3439
3440 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
3441
3442         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
3443         error introduced with earlier commit) (pointed out by
3444         Ollie Lho)
3445
3446 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
3447
3448         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
3449         which are no longer necessary.
3450
3451 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
3452
3453         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
3454
3455 2001-02-04  Tor Lillqvist  <tml@iki.fi>
3456
3457         * gdk/gdk.def
3458         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
3459         Provide dummy implementations.
3460
3461 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
3462
3463         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
3464
3465         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
3466         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
3467         deprecated this function.
3468
3469         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
3470         argument.
3471
3472 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
3473
3474         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
3475
3476 2001-02-03  Havoc Pennington  <hp@pobox.com>
3477
3478         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
3479         Mikael Hermansson with patch from Mikael (if there was a toggle
3480         start one after the first character in the range, this function
3481         was broken). Bug #50380
3482
3483 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
3484
3485         * configure.in: Remove confusing comment about X11.
3486
3487 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
3488
3489         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
3490         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
3491         
3492 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
3493
3494         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
3495         it breaks things on BSD. If you want to compile GTK+ with
3496         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
3497         when configuring, since GTK+ simply can't be "pure ANSI" 
3498         in the header files it uses. (#8170, Greg Hudson)
3499
3500 2001-02-02  Havoc Pennington  <hp@redhat.com>
3501
3502         * gtk/gtkwindow.c: docs
3503
3504         * gtk/gtkwidget.c: docs
3505         (gtk_widget_set_colormap): add a reference to the colormap
3506         (gtk_widget_get_default_colormap): add a reference to the colormap
3507
3508         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
3509
3510         * gtk/gtktextiter.c: docs
3511
3512         * gtk/gtkmain.c (gtk_propagate_event): docs
3513
3514         * gtk/gtkpaned.c (gtk_paned_get_position): docs
3515         (gtk_paned_set_position): docs
3516
3517         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
3518         sort interface, no implementation yet.
3519
3520         * demos/testpixbuf.c (new_testrgb_window): replace
3521         gtk_drawing_area_size() with gtk_widget_set_usize()
3522
3523         * demos/testpixbuf-drawable.c (main): ditto
3524         
3525         * gtk/testgtk.c: remove use of GtkStatusbarMsg
3526
3527         * gtk/gtktextbuffer.c: docs
3528
3529         * gtk/gtkstock.c: docs
3530
3531         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
3532
3533         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
3534
3535         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
3536         
3537         * gtk/gtkimage.c: add some docs in here
3538         (gtk_image_size_request): change name of
3539         gtk_widget_render_stock_icon
3540         (gtk_image_get_icon_set): don't dup returned string
3541         (gtk_image_get_icon_set): don't dup returned string
3542
3543         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
3544         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
3545         and gtkiconfactory.h functions
3546
3547         * gtk/gtkiconfactory.c: add some docs in here
3548
3549         * gtk/gtkmain.c (gtk_get_default_language): document
3550         (gtk_get_current_event): document
3551         (gtk_get_current_event_state): document
3552         (gtk_get_event_widget): document
3553
3554         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
3555
3556         * gtk/gtkcontainer.c: Add some documentation
3557         (gtk_container_add): give a more explanatory warning on adding an
3558         already-parented widget, this is kind of a FAQ and also a common
3559         typo that's easier to debug with a nice warning 
3560
3561         * gtk/gtkcellrenderertoggle.c
3562         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
3563         adding this, it's useless
3564         (gtk_cell_renderer_toggle_set_active): remove
3565         (gtk_cell_renderer_toggle_get_radio): add
3566
3567         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
3568         the NULL cell renderer, that doesn't make any sense to me. 
3569
3570         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
3571         demo code should never use deprecated features.
3572
3573         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
3574         code should never use deprecated features.
3575
3576         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
3577         gtk_widget_queue_clear_area deprecated
3578
3579         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
3580         deprecated
3581
3582         * gtk/gtklabel.h: mark gtk_label_get() deprecated
3583
3584         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
3585         a GdkImage deprecated, replaced by new consistently-named
3586         functions       
3587
3588         * gtk/gtkmain.h: Mark gtk_exit() deprecated
3589
3590         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
3591
3592         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
3593         deprecated
3594
3595         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
3596         so it won't appear in docs and confuse people.
3597
3598         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
3599
3600         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
3601         macros deprecated. (can't mark the type itself deprecated, since
3602         GtkProgressBar is not deprecated and we need the type decl to use
3603         GtkProgressBar)
3604
3605         * gtk/gtkpixmap.h: Mark deprecated
3606
3607         * gtk/gtkoldeditable.h: Mark deprecated
3608
3609         * gtk/gtklist.h: Mark deprecated
3610
3611         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
3612         for anything anymore.
3613
3614         * gtk/gtkctree.h: Mark deprecated
3615
3616         * gtk/gtkclist.h: Mark deprecated
3617
3618         * gtk/gtkpreview.h: Mark deprecated
3619
3620         * gtk/gtkpacker.h: Mark deprecated
3621
3622         * gtk/gtktipsquery.h: Mark deprecated
3623
3624         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
3625
3626         * gtk/gtkvruler.h: Add comment that it will move out of GTK
3627
3628         * gtk/gtkhruler.h: Add comment that it will move out of GTK
3629
3630         * gtk/gtkruler.h: Add comment that it will move out of GTK
3631
3632         * gtk/gtkgamma.h: Add comment that it will move out of GTK
3633
3634         * gtk/gtkcurve.h: Add comment that it will move out of GTK
3635
3636 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
3637
3638         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
3639         gdk_colormap_sync private since it was never exported
3640         in a header file.
3641
3642         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
3643         colormap->colors[] for StaticGray, StaticColor colormaps.
3644
3645         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
3646         was being used as if it was image->bits_per_pixel.
3647
3648         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
3649         for the image in the GdkImage structure since it isn't
3650         reconstructable, and we need it to handle packed types
3651
3652         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
3653         the assumption that on Win32 image->bits_per_pixel == image->depth,
3654         always.
3655
3656         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
3657
3658         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
3659         warning message if no converter can be found. 
3660
3661 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
3662
3663         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
3664         chars to isupper() / tolower(). (#567)
3665
3666         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
3667         to clear up 64-bit warnings. (#567)
3668
3669 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
3670
3671         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
3672         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
3673
3674         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
3675         since some people set $(libdir) separately. (#1290, David Kaelbling)
3676
3677 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
3678
3679         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
3680         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
3681         MAXPATHLEN, but the code here depends on a fixed value.)
3682         (#4524)
3683
3684 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
3685
3686         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
3687         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
3688
3689 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
3690
3691         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
3692         viewable there is no way that moving the node will cause the 
3693         focus row to become not viewable, so omit check on the visibility
3694         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
3695
3696 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
3697
3698         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
3699         selection before inserting new text.
3700
3701 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
3702
3703         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
3704         Make the sensitivity of the reparented child track that of
3705         the original parent menu item. (#34218, David Hodson)
3706
3707         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
3708         the case where the current item is destroyed properly.
3709
3710         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
3711         some edge cases with child-less menuitems.
3712         
3713 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
3714
3715         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
3716         key pop down window. (#12074, Jon K Hellan)
3717
3718 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
3719
3720         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
3721         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
3722         The solution here isn't perfect - you get an extraneous
3723         emission of "toggle", which could conceivably confuse an app,
3724         but better than the current situation. LXR search seems to
3725         indicate that no apps in GNOME CVS connect to "toggle".
3726
3727 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
3728
3729         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
3730         gtk_public_h_sources to directly here to avoid warning when
3731         building srcdir != builddir. (#9656)
3732
3733 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3734
3735         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3736         handlers in gtkrange.c return the proper values (TRUE == handled)
3737         (#10316).
3738
3739         This is just the tip of the iceberg, but gtkrange.c is the
3740         most common place where the propagation is problematical,
3741         and also a place where it is almost certainly safe to change
3742         this in the stable branch.
3743
3744         (You don't want right click popups on a range control or anything...)
3745
3746 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3747
3748         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3749         area on focus out, even if a background pixmap isn't set.
3750         (#13941)
3751         
3752 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3753
3754         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3755         to deal with setting the shape properly when scrolling arrows are
3756         turned on, but not visible because there is sufficient space.
3757         (#13432)
3758
3759 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3760
3761         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3762         items with submenus, destroy the item along with the submenu.
3763         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3764         properly.
3765
3766         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3767         later.
3768
3769 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3770
3771         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3772         the focus widget sometimes wasn't drawn with the default if there
3773         was no default widget.
3774
3775         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3776         unreference pixmaps. 
3777
3778         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3779         for some extra safety.
3780
3781 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3782
3783         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3784         the text of a cell to the old pointer value better, by
3785         copying the new text before freeing the old text. Some code
3786         cleanup. (#8079, Karl Nelson)
3787
3788 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3789
3790         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3791         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3792
3793 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3794
3795         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3796         item from a menu, check to see if it matches 
3797         menu->old_active_menu_item, and if so, unref and clear
3798         old_active_menu_item (Patch from Pavel Cisler)
3799
3800         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3801         menu_shell->active_menu_item, if it is the child being
3802         removed. (Patch based on that of Gene Ragan, #50337)
3803
3804 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3805
3806         * gdk/linux-fb/gdkselection-fb.c: 
3807         * gdk/linux-fb/gdkcolor-fb.c: 
3808         * gdk/linux-fb/gdkdrawable-fb2.c: 
3809         * gdk/linux-fb/gdkfont-fb.c: 
3810         * gdk/linux-fb/gdkim-fb.c: 
3811         * gdk/linux-fb/gdkinput.c: 
3812         * gdk/linux-fb/gdkkeyboard-fb.c: 
3813         * gdk/linux-fb/gdkmain-fb.c: 
3814         * gdk/linux-fb/gdkrender-fb.c: 
3815         A bunch of whitespace cleanup.
3816         
3817 2001-01-30  Havoc Pennington  <hp@pobox.com>
3818
3819         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3820         #ifdef GTK_ENABLE_BROKEN.
3821
3822         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3823         GTK_ENABLE_BROKEN just before including the broken headers.
3824         
3825         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3826         deprecated types registered.
3827
3828         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3829         we have to test the broken stuff.
3830
3831         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3832         
3833 2001-01-30  Havoc Pennington  <hp@redhat.com>
3834
3835         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3836         here where prev pointer was set to the wrong thing
3837
3838         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3839         (gtk_tree_path_is_descendant): new function
3840
3841         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3842         cached length
3843         (gtk_list_store_get_iter): don't modify iter if we can't get the
3844         path.
3845
3846         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3847         
3848         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3849         GtkTreeDragDest
3850
3851         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3852         was causing segfault
3853
3854         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3855         pointer to NULL
3856
3857         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3858
3859         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3860         on returning FALSE
3861         (gtk_list_store_iter_children): ditto
3862         (gtk_list_store_iter_nth_child): ditto
3863         (gtk_list_store_iter_nth_child): ditto
3864         (gtk_list_store_iter_parent): ditto
3865
3866         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3867         on iter->user_data != NULL instead of silently accepting it.
3868         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3869         we are returning TRUE.
3870         (gtk_tree_store_iter_children): ditto
3871         (gtk_tree_store_iter_nth_child): ditto
3872         (gtk_tree_store_iter_parent): ditto
3873         (gtk_tree_store_insert): remove handling of parent->user_data ==
3874         NULL, replace with parent == NULL       
3875
3876         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3877         and a comment explaining things
3878
3879         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3880         interface support to GtkTreeStore.
3881
3882         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3883         FALSE if no prev, fix
3884
3885         * gtk/gtktreeview.c (set_source_row): use a row reference
3886         (set_dest_row): use a row reference
3887
3888 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3889
3890         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3891         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3892         (gtk_tree_selection_select_iter): The same as above.
3893
3894 2001-01-26  Havoc Pennington  <hp@redhat.com>
3895
3896         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3897         which holds a handle to a specific row (particular set of values
3898         in the model, i.e. pointer-identity row).
3899
3900         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3901         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3902         Still need to use it for the src/dest row saved on the drag context.
3903
3904 2001-01-26  Havoc Pennington  <hp@redhat.com>
3905
3906         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3907
3908         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3909         not offset by TREE_VIEW_HEADER_HEIGHT
3910         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3911         TREE_VIEW_HEADER_HEIGHT
3912
3913         * configure.in (included_loaders): for me, --with-included-loaders
3914         generates the error "the specified loader yes does not exist",
3915         i.e. the arg defaults to "yes", so change test for value ""
3916         to test for value "yes", and include all loaders in that case.
3917
3918         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3919
3920         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3921         handle TREE_VIEW_VERTICAL_SEPARATOR
3922         (gtk_tree_view_bin_expose): fix to consider the row offset as
3923         pointing halfway into vertical separator.       
3924         (gtk_tree_view_draw_node_focus_rect): ditto
3925
3926         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3927         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3928         (TRUE) to be called.
3929
3930         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3931         debug mode where the invalid region is colored in on invalidate,
3932         so you can see the flicker and know whether your redraw code is 
3933         doing a good job.
3934
3935         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3936         tree window coordinates (clip rect is in tree window coords)
3937
3938         * gtk/Makefile.am: add gtktreednd.[hc]
3939
3940         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3941
3942         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3943         drag-and-drop data operations on a model (so we can set up tree
3944         drag-and-drop automatically)
3945
3946         * gtk/testgtk.c: Add a window to change sensitivity in the
3947         GtkLabel test; add a way to change the entry frame in GtkEntry
3948         test
3949
3950         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3951         (gtk_entry_get_has_frame): new functions to remove the frame
3952         around an entry
3953         (gtk_entry_size_request): shrink requisition if no frame
3954         (gtk_entry_draw_focus): don't draw frame if no frame
3955
3956         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3957         checks inside a cell renderer
3958         (gtk_default_draw_option): ditto for options
3959
3960         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3961         children from the alignment, not the button
3962         (gtk_tree_view_column_init): ref/sink the column, to emulate
3963         GObject refcounting.
3964
3965         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3966         
3967         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3968         Use theme functions to draw the toggles 
3969
3970         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3971
3972         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3973         GdkPangoAttrEmbossed to use in rendering insensitive text
3974
3975         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3976
3977         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3978         using new GDK features
3979         
3980 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3981
3982         * gtk/gtkimage.c:
3983         Splitted gtk_image_clear into gtk_image_clear() and
3984         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3985         to avoid leaks.
3986
3987         * gtk/gtklabel.c (set_markup):
3988         Don't leak text.
3989
3990         * gtk/gtktextlayout.c:
3991         Always free display->shaped_objects.
3992
3993         * gtk/testgtk.c (create_clist):
3994         Don't leak custom style.
3995
3996 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3997
3998         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3999         Don't leak image. Simplify using gdk_colormap_query_color().
4000         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
4001
4002         * linux-fb/gdkcolor-fb.c:
4003         Implemented gdk_colormap_query_color.
4004
4005 2001-01-23  Alexander Larsson  <alexl@redhat.com>
4006
4007         * linux-fb/gdkcursor-fb.c:
4008         Don't leak built-in cursors.
4009
4010         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
4011         Don't leak tmp_points.
4012
4013         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
4014         Don't modify desc. Don't leak font if the PangoFont
4015         isn't found.
4016         
4017         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
4018         Free dash_list.
4019
4020         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
4021         Don't leak string.
4022         
4023 2001-01-20  Havoc Pennington  <hp@pobox.com>
4024
4025         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
4026         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
4027         me, matches Pango
4028
4029 2001-01-22  Havoc Pennington  <hp@redhat.com>
4030
4031         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
4032
4033         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
4034
4035         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
4036         Remove, move back to gdk-pixbuf
4037
4038         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
4039         to all the word functions
4040
4041         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
4042         before doing anything on NULL layout or if we don't have the focus
4043
4044         * gtk/testtext.c (fill_example_buffer): "justification"
4045
4046         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
4047         to be called "justification" not "justify"
4048
4049         * demos/gtk-demo/textview.c (create_tags): "justification"
4050         
4051         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
4052
4053 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4054
4055         * gdk/gdkwindow.c (gdk_window_invalidate_region):
4056         Don't leak visible_region. Use visible_region instead of region.
4057         
4058         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4059         Don't do extra gdk_drawable_ref(). This is not X.
4060         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
4061         gdk_fb_focused_window is ref:ed.
4062         (gdk_fb_window_send_crossing_events): Watch out for destroyed
4063         windows.
4064
4065 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4066
4067         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
4068         Don't leak the PangoFontDescriptor.
4069
4070 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
4071
4072         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
4073         when not realized.
4074         (gtk_tree_view_scroll_to_cell): Make work when not realized.
4075         (gtk_tree_view_realize): add scroll_to support
4076         (gtk_tree_view_finalize): add a finalize method.  Populate.
4077         (gtk_tree_view_insert_column): ref and sink the column.
4078         (gtk_tree_view_append_column): ref and sink the column.
4079         (gtk_tree_view_queue_draw_node): New function to handle redrawing
4080         individual nodes.  Should make the code much more efficient, if
4081         actually used.
4082
4083 2001-01-19  Havoc Pennington  <hp@redhat.com>
4084
4085         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
4086         byte_offset variable was being used to mean both "offset into
4087         layout" and "offset into buffer line" which was no longer true
4088         with addition of preedit string; fix
4089
4090 2001-01-19  Havoc Pennington  <hp@redhat.com>
4091
4092         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
4093
4094         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
4095         function
4096
4097         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
4098         implement
4099
4100         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
4101         scroll_to_cell, matches TextView scroll functions better
4102         (gtk_tree_view_tree_to_widget_coords): new function
4103         (gtk_tree_view_widget_to_tree_coords): new function
4104         (gtk_tree_view_get_visible_rect): new function
4105         (gtk_tree_view_get_path_at_pos): accept negative coordinates
4106         (gtk_tree_view_draw_node_focus_rect): new function moved from
4107         draw_focus, also, use width of bin_window as width of the focus
4108         rect
4109         (gtk_tree_view_expand_row): fix bug where it didn't recognize
4110         already-expanded rows
4111         (gtk_tree_view_get_cell_rect): new function
4112         (gtk_tree_view_get_path_at_pos): return the click position
4113         relative to the passed-in cell
4114         (gtk_tree_view_set_expander_column): new function
4115
4116         * configure.in: remove gtk-config-2.0 chmod
4117
4118         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
4119         and properly handle drags with targets we don't understand
4120         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
4121         scrolling anyway
4122         (gtk_text_view_drag_drop): stop scrolling here though, and set the
4123         mark invisible
4124
4125         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
4126         function
4127         (gtk_drag_dest_get_target_list): new function
4128         (gtk_drag_dest_set_target_list): new function
4129         
4130         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
4131
4132         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
4133         related to drag-and-drop
4134
4135 2001-01-19  Alexander Larsson  <alexl@redhat.com>
4136
4137         * gdk/linux-fb/gdkprivate-fb.h:
4138         Define EMULATE_GDKFONT.
4139         Add extra pango_font stuff to GfkFontPrivate.
4140         
4141         * gdk/linux-fb/gdkdrawable-fb2.c:
4142         * gdk/linux-fb/gdkfont-fb.c:
4143         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
4144         emulation using PangoFont.
4145
4146 2001-01-17  Havoc Pennington  <hp@pobox.com>
4147
4148         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
4149         all the non-deprecated set_foo functions. Added missing object
4150         properties, and added g_object_notify() to setters. 
4151         Wrote docs.
4152         
4153 2001-01-18  Tor Lillqvist  <tml@iki.fi>
4154
4155         * gtk/gtkmain.c
4156         * gtk/gtkrc.c: (Win32) Use the new
4157         g_win32_get_package_installation_(sub)directory() functions.
4158
4159         * config.h.win32.in: New file.
4160         
4161         * config.h.win32: Removed.
4162
4163         * configure.in: Output config.h.win32.
4164
4165         * Makefile.am: Add it to EXTRA_DIST.
4166
4167         * gtk/gtk.def: Update.
4168
4169 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
4170
4171         * gtk/gtklabel.c (gtk_label_size_request): Set the
4172         attributes onto the PangoLayout even if they are newly
4173         created from label->pattern.
4174
4175 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
4176
4177         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
4178
4179         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
4180         structures in functions. Fixes bug where gtk_dataset_*
4181         was accidentally still being used in one place, causing
4182         every dest side event to be treated independently.
4183
4184         * gtk/gtkdnd.c: Remove last vestages of handling
4185         ::draw (fixes warning)
4186         
4187         * gtk/gtkentry.[ch]: Add drag and drop support.
4188
4189         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
4190         new function gtk_check_drag_threshhold() for checking
4191         to check if (dx,dy) has exceeded the threshhold for starting
4192         a drag and use it everywhere.
4193
4194 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
4195
4196         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
4197         add -I{includedir}/gtk-2.0.
4198
4199         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
4200         gdk/gdk-pixbuf.h: Doc fixups.
4201         
4202         * gtk/gtkobject.h: Remove trailing , from enum
4203
4204 2001-01-17 Alexander Larsson <alexl@redhat.com> 
4205
4206         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
4207         Doh! Mixed up x and y.
4208
4209         * gdk/linux-fb/gdkglobals-fb.c:
4210         Removed gdk_fb_pointer_grab_window_events,
4211         added _gdk_fb_pointer_grab_owner_events and
4212         _gdk_fb_keyboard_grab_owner_events.
4213
4214         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
4215         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
4216         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
4217         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
4218         Send crossing events after ungrab finished.
4219         (gdk_keyboard_grab): Set ..._owner_events
4220         (type_masks): Move out of function.
4221         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
4222         gdk_fb_keyboard_event_window): New functions, return the
4223         window an event should be targeted at. Handles grabs and
4224         event propagation. Can return NULL.
4225         (gdk_event_make): Remove event_mask checking. Now always
4226         returns an event.
4227                 
4228         * gdk/linux-fb/gdkkeyboard-fb.c:
4229         * gdk/linux-fb/gdkproperty-fb.c:
4230         * gdk/linux-fb/gdkselection-fb.c:
4231         Use new event_window/gdk_event_make() behaviour.
4232         
4233         * gdk/linux-fb/gdkmouse-fb.c:
4234         Use new event_window/gdk_event_make() behaviour.
4235         Only send motion events if in the same window.
4236         If grabbed, use cursor from window if sibling of grabbed
4237         window, and cursor from grabbed window otherwise.
4238
4239         * gdk/linux-fb/gdkprivate-fb.h:
4240         Update gdk_fb_window_send_crossing_events, gdk_event_make
4241         and grab varaible declarations. Add gdk_fb_*_event_window().
4242
4243         * gdk/linux-fb/gdkwindow-fb.c:
4244         Use new event_window/gdk_event_make() behaviour.
4245         Keep correct track of focus window.
4246         (gdk_window_set_events): Set all specific button motion masks
4247         if GDK_BUTTON_MOTION_MASK set.
4248
4249         * gtk/gtkdnd.c (gtk_drag_update):
4250         Free info->last_event if gdk_drag_motion returned FALSE.
4251
4252 2001-01-16  Tor Lillqvist  <tml@iki.fi>
4253
4254         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
4255         Eliminate redraws when input-only windows are shown or
4256         hidden. Thanks to jpe@archaeopteryx.com.
4257
4258 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
4259
4260         * docs/faq/gtk-faq.sgml: FAQ update:
4261           - Update to bugzilla
4262           - Add GTK+ and security/SUID/SGID
4263           - Add DnD question
4264
4265 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
4266
4267         * gdk/linux-fb/gdkdnd-fb.c:
4268         Some cleanups.
4269         
4270 2001-01-15  Havoc Pennington  <hp@pobox.com>
4271
4272         * tests/testtreeview.c: add test stuff for CellRendererToggle
4273
4274         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
4275         accessor
4276
4277         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
4278         only toggle on button press (would do release like GtkButton, but
4279         we'd need implicit grab code for treeview cells)
4280
4281 2001-01-16  Tor Lillqvist  <tml@iki.fi>
4282
4283         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
4284
4285         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
4286         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
4287
4288         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
4289         to g_{locale,filename}_{to,from}_utf8 to match current API.
4290
4291         * gtk/makefile.msc.in (gtk_OBJECTS)
4292         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
4293
4294         * gtk/gtk.def: Update.
4295
4296 2001-01-15  Tor Lillqvist  <tml@iki.fi>
4297
4298         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
4299         implementaion that more closely mimics the events that an X server
4300         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
4301         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
4302         with nested preview widgets, for instance, more responsive when
4303         you move the mouse quickly into them.
4304         (find_window_for_pointer_event): Make it actually compile.
4305         (gdk_event_translate): Set send_event to the value of
4306         InSendMessage (). This doesn't really mean the same as X11's
4307         send_event flag, but is close enough, says jpe@archaeopteryx.com
4308
4309 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4310
4311         * gdk/linux-fb/gdkdnd-fb.c:
4312         Implemented drag and drop.
4313         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
4314         when it tries to free and then copy the same event (info->last_event).
4315         I am not sure about why this happens, but will continue looking.
4316
4317 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4318
4319         * gdk/linux-fb/gdkwindow-fb.c:
4320         Use gdk_window_invalidate_rect instead of
4321         gdk_window_invalidate_rect_clear to minimise flashing.
4322         When hiding windows you need to clear the root window though.
4323
4324 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4325
4326         * gdk/linux-fb/gdkdrawable-fb2.c:
4327         For optization, add an full_shapes argument to gdk_fb_clip_region.
4328         If this is false, only the cliprects of the shapes are used.
4329
4330         * gdk/linux-fb/gdkprivate-fb.h:
4331         Export gdk_fb_window_peek_shape.
4332         Add full_shapes to gdk_fb_clip_region.
4333
4334         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4335         When moving a window, don't clear everything under the it, just the
4336         root window. Makes stuff faster and flash less.
4337         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
4338         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
4339         offset of the shape.
4340         
4341
4342 2001-01-12  Havoc Pennington  <hp@redhat.com>
4343
4344         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
4345         current invalid region, fixes redraw bug while scrolling the 
4346         text widget
4347
4348         * gtk/gtktextview.c, gtk/gtktextview.h:
4349         Rearrange the scrolling/validation/etc. code in a major way, 
4350         so it seems to make sense to me. Probably isn't genuinely that
4351         much better, but...
4352
4353         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
4354         notifies
4355
4356         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
4357
4358 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
4359
4360         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
4361         Hide mouse pointer while rotation. Show it afterwards.
4362
4363 2001-01-12  Alexander Larsson  <alexl@redhat.com>
4364
4365         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
4366         windows in consideration when generating clip region.
4367
4368         * gdk/linux-fb/gdkfb.h:
4369         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
4370
4371         * gdk/linux-fb/gdkprivate-fb.h:
4372         Add shape to GdkWindowFBDatat.
4373         exported gdk_fb_window_get_abs_shape().
4374         removed gdk_fb_draw_lines declaration.
4375
4376         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
4377         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
4378         send focus changes when there is a grabbed window.
4379         (gdk_window_get_pointer): Handle shaped windows.
4380         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
4381         (gdk_fb_window_peek_shape): Returns the shape for a window,
4382         handles GDK_FB_USE_CHILD_SHAPE.
4383         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
4384         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
4385         (gdk_window_shape_combine_mask): Implement.
4386
4387         * gtk/gtkwindow-decorate.c:
4388         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
4389         setting the shape of a window makes the window transparent.
4390
4391 2001-01-11  Havoc Pennington  <hp@redhat.com>
4392
4393         * gtk/gtktreemodelsimple.h: Oops, broke some macros
4394
4395 2001-01-10  Havoc Pennington  <hp@redhat.com>
4396
4397         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
4398         add this function, bug 40251
4399
4400         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
4401         of type macro   
4402
4403 2001-01-11  Alexander Larsson  <alexl@redhat.com>
4404
4405         * acconfig.h:
4406         Added ENABLE_SHADOW_FB
4407
4408         * configure.in:
4409         Added --disable-shadowfb
4410
4411         * gdk/linux-fb/gdkcursor-fb.c:
4412         Update shadowfb when updating cursor
4413
4414         * gdk/linux-fb/gdkdrawable-fb2.c:
4415         Added wrappers for shadowfb that calls  the normal drawable
4416         methods, but calls gdk_shadow_fb_update(bounding box) when
4417         GdkWindows are drawed to.
4418         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
4419         which also returns the bounding box.
4420
4421         * gdk/linux-fb/gdkfb.h:
4422         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
4423
4424         * gdk/linux-fb/gdkgeometry-fb.c:
4425         Update shadowfb when scrolling window.
4426
4427         * gdk/linux-fb/gdkglobals-fb.c:
4428         Add _gdk_fb_screen_angle.
4429         
4430         * gdk/linux-fb/gdkkeyboard-fb.c:
4431         Test code for screen rotation. Shift-F2 in the xlate driver
4432         rotates the screen.
4433
4434         * gdk/linux-fb/gdkmain-fb.c:
4435         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
4436
4437         * gdk/linux-fb/gdkmouse-fb.c:
4438         Use fb_width/height instead of modeinfo.xres/yres.
4439
4440         * gdk/linux-fb/gdkprivate-fb.h:
4441         Added fb_men, fb_width, fb_height & fb_stride. When using
4442         shadow fb these can differ from the framebuffer stuff.
4443         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
4444         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
4445         _gdk_fb_screen_angle. Removed CM, RP.
4446
4447         * gdk/linux-fb/gdkrender-fb.c:
4448         Added code for shadowfb handling and screen rotation using
4449         shadowfb.
4450
4451         * gdk/linux-fb/gdkwindow-fb.c:
4452         Use fb_mem, fb_stride, fb_width, fb_height.
4453         Added recompute_rowstride to reset the rowstride of all windows.
4454         Added gdk_fb_recompute_all() which recomputes rootwindow size,
4455         window abs positions and window rowstrides. Usefull when the
4456         rotation has changed.
4457
4458 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
4459
4460         * docs/faq/gtk-faq.sgml: update to make web site updating easier
4461
4462 2001-01-10  Havoc Pennington  <hp@redhat.com>
4463
4464         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
4465         where sibling == iter
4466         (gtk_tree_store_insert_after): handle sibling == iter
4467         (gtk_tree_store_prepend): remove stamp checks
4468         (gtk_tree_store_insert_before): ditto
4469         (gtk_tree_store_append): ditto
4470         (gtk_tree_store_get_path): ditto
4471         (gtk_tree_store_get_value): ditto
4472         (gtk_tree_store_iter_has_child): ditto
4473         (gtk_tree_store_iter_n_children): ditto
4474         (gtk_tree_store_iter_nth_child): ditto
4475         (gtk_tree_store_insert_after): ditto
4476         (gtk_tree_store_is_ancestor): ditto
4477         (gtk_tree_store_iter_depth): ditto
4478         (gtk_tree_store_insert_before): assert that sibling's parent is
4479         the same as the passed-in parent
4480         (gtk_tree_store_insert_after): assert that sibling's parent is
4481         the same as the passed-in parent
4482
4483         
4484         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
4485         function to get the first iterator in a model
4486         
4487         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
4488         conventionally the "root" in this sense is just NULL afaict.
4489
4490         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
4491         where sibling == iter
4492         (gtk_list_store_insert_after): handle case where sibling == iter
4493
4494         * tests/testtreeview.c (run_automated_tests): fairly lame basic
4495         automated tests for ListStore, TreeStore
4496
4497         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
4498         (gtk_list_store_insert): update tail pointer, and fix it to work
4499         (gtk_list_store_insert_before): update tail pointer, and fix it to work
4500         (gtk_list_store_append): use tail to be faster
4501         (gtk_list_store_prepend): fix it, update tail pointer
4502         (gtk_list_store_insert_after): fix it, update tail pointer
4503
4504         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
4505         the list
4506
4507 2001-01-09  Havoc Pennington  <hp@redhat.com>
4508
4509         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
4510         is NULL due to a pending resize
4511
4512         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
4513         column width to values less than 1
4514
4515         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
4516         width to be between min/max width, and still set the width 
4517         even if autosize is turned on, so the tree view can use this 
4518         function in order to autosize.
4519         (gtk_tree_view_column_init): set initial width to 1 not 0
4520
4521         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
4522         setter function to modify column width, so we get notification
4523         (gtk_tree_view_insert_iter_height): ditto
4524         (gtk_tree_view_calc_size): ditto
4525         (gtk_tree_view_check_dirty): ditto
4526
4527         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
4528         properties to change all the interesting attributes of the tree
4529         view column.
4530         (gtk_tree_view_column_set_header_clickable): rename set_clickable
4531         (gtk_tree_view_column_get_clickable): add
4532         (gtk_tree_view_column_set_cell_renderer): don't unset the current
4533         attributes; assume a cell renderer with equivalent object
4534         properties has been swapped in. Do g_object_notify().
4535         (gtk_tree_view_column_set_visible): g_object_notify
4536         (gtk_tree_view_column_get_sizing): rename from get_col_type
4537         (gtk_tree_view_column_set_sizing): g_object_notify
4538         (gtk_tree_view_column_set_width): add g_object_notify
4539         (gtk_tree_view_column_set_min_width): ditto
4540         (gtk_tree_view_column_set_max_width): ditto
4541         (gtk_tree_view_column_set_title): ditto
4542         (gtk_tree_view_column_set_clickable): ditto
4543         (gtk_tree_view_column_set_widget): ditto
4544         (gtk_tree_view_column_set_justification): ditto
4545
4546 2001-01-09  Havoc Pennington  <hp@redhat.com>
4547
4548         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
4549         there are no rows in the model
4550
4551         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
4552         NULL, then return the start of the list
4553
4554         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
4555         if we can't get any rows from an empty model 
4556
4557         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
4558         extraneous * after function pointer typedef usage
4559
4560         * Makefile.am: don't specify full path to cp and rm
4561
4562         * gtk/gtkcellrenderertextpixbuf.c
4563         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
4564         NULL before dereferencing, fixes a segfault that happened from
4565         time to time
4566
4567         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4568         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
4569         and reindent the function
4570         (gtk_cell_renderer_pixbuf_get_size): indentation
4571
4572         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
4573         we quit it
4574         (gtk_dialog_add_buttons_valist): add g_return_if_fail
4575         (gtk_dialog_set_default_response): New function, to set default
4576         button
4577         (gtk_dialog_set_response_sensitive): New function, to set 
4578         sensitivity of buttons
4579
4580         * gtk/gtkcellrendererpixbuf.c
4581         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
4582         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
4583
4584         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4585         handle any G_TYPE_OBJECT subclass, not just the base class, and 
4586         also boxed types.
4587         (_gtk_tree_data_list_value_to_node): ditto
4588
4589         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
4590         --gtk-debug=tree
4591
4592         * gtk/gtkmain.c: add GTK_DEBUG_TREE
4593
4594         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
4595
4596 2001-01-09  Tor Lillqvist  <tml@iki.fi>
4597
4598         * gdk/win32/gdkevents-win32.c: Implement better mouse
4599         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
4600         (find_window_for_pointer_event): New function.
4601         (gdk_event_translate): Use it when handling mouse events.
4602
4603 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
4604
4605         * configure.in:
4606         Added --with-included-loaders option
4607
4608         * gdk-pixbuf/Makefile.am:
4609         * gdk-pixbuf/gdk-pixbuf-io.c:
4610         Add support for including selected gdk-pixbuf loaders only.
4611
4612         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
4613         gtk_window_set_has_frame):
4614         Added inline documentation.
4615
4616         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
4617         * docs/reference/gdk/tmpl/windows.sgml:
4618         Added inline documentation.
4619
4620 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
4621
4622         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
4623         realizing buttons that have already been realized.
4624
4625 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
4626
4627         * tests/testtreeview.c (main): Show menu items before adding to
4628         option menu.
4629
4630         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
4631         around if we kill them.
4632
4633         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4634         Return if we pass in a NULL model.
4635
4636 2001-01-08  Havoc Pennington  <hp@redhat.com>
4637
4638         * tests/testtreeview.c: hack on this some
4639
4640         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
4641         gtk_tree_store_set_valist, v is for arrays, valist for varargs
4642         list
4643         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
4644
4645         * gtk/gtkliststore.h: Add varargs set() and get() convenience
4646         functions
4647
4648 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4649
4650         * gtk/gtkwindow-decorate.[hc]:
4651         * gtk/Makefile.am:
4652         New files. Contains an implementation of a minimal WM for
4653         linux-fb.
4654
4655         * gtk/gtkwindow.h:
4656         Add the possibility for GtkWindows to specify a frame. This
4657         is used for the window decoration code, but could concievably
4658         be used for X programs too (xmms style windows).
4659         GtkWindow->frame is the toplevel window if the window is framed.
4660         The signal frame_event gets all events that are targeted to
4661         GtkWindow->frame.
4662         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
4663         
4664         * gtk/gtkwindow.c:
4665         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
4666         Call out to gtkwindow-decorate.c for WM support in linx-fb.
4667
4668 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4669
4670         * docs/README.linux-fb:
4671         Correct filename ~/.pangoft2_aliases
4672
4673         * gdk/gdkwindow.h:
4674         Added new function gdk_window_get_decorations.
4675
4676         * gdk/linux-fb/gdkfb.h:
4677         Removed _gdk_window_get_decorations declaration.
4678         Renamed _gdk_window_set_child_handler to
4679         gdk_fb_window_set_child_handler.
4680
4681         * gdk/linux-fb/gdkwindow-fb.c:
4682         Renamed _gdk_window_set_child_handler to
4683         gdk_fb_window_set_child_handler.
4684
4685         * gdk/x11/gdkwindow-x11.c:
4686         New function gdk_window_get_mwm_hints().
4687         Implemented gdk_window_get_decorations.
4688
4689         * docs/reference/gdk/tmpl/windows.sgml:
4690         * docs/reference/gdk/gdk-sections.txt:
4691         Added gdk_window_get_decorations docs.
4692         
4693 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
4694
4695         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
4696         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
4697         gdk_fb_window_send_crossing_events):
4698         Possibly send focus events when the mouse moves from one
4699         window to another.
4700
4701 2001-01-07  Tor Lillqvist  <tml@iki.fi>
4702
4703         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
4704         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
4705         to match current API.
4706
4707         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
4708         environment variable is set, don't call g_error when on a
4709         palettized (PseudoColor) display. Some people want to use GTK+ 
4710         in 256-colour mode even though works only partially.
4711
4712         * gdk/gdk.def
4713         * gtk/gtk.def
4714         * gtk/makefile.mingw.in: Update.
4715
4716 2001-01-05  Havoc Pennington  <hp@redhat.com>
4717
4718         * tests/testtreeview.c: hack on this a bit
4719
4720         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
4721         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
4722
4723         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
4724         was spelled incorrectly
4725         (GTK_IS_TREE_MODEL_SIMPLE): ditto
4726
4727         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
4728         from gtk_tree_view_set_headers_active   
4729
4730         * gtk/gtktexttag.c:
4731         (gtk_text_tag_get_property): handle PROP_DIRECTION
4732         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
4733         properties, bug 40235
4734
4735         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4736         forward_to_line_end
4737
4738 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4739
4740         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4741         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4742         for unicode,locale,filename conversion functions.
4743
4744 2001-01-05  Havoc Pennington  <hp@redhat.com>
4745
4746         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4747         broken if called on the first position in the buffer.
4748
4749         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4750         forward_to_delimiters to be called only if we aren't already at
4751         the delimiters.
4752
4753 2001-01-05  Havoc Pennington  <hp@redhat.com>
4754
4755         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4756
4757 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4758
4759         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4760         colormap in here. Sync from X port.
4761         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4762         Sync from X port.
4763         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4764         This happens now and then, and i don't think it is a bug.
4765         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4766         != endpoint.
4767         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4768         GDK_LINE_SOLID.
4769
4770         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4771         some of the fields filled in at least.
4772
4773         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4774         miLineArcD is no more, remove it from the function definition.
4775
4776 2001-01-04  Havoc Pennington  <hp@redhat.com>
4777
4778         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4779         this
4780
4781         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4782         user_data instead of tree_node
4783
4784         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4785         TREE_VIEW_COLUMN_SIZE
4786
4787         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4788         "size" field to "width" finishes bug 40061
4789
4790         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4791         for bitfields, bug 40268
4792
4793 2001-01-04  Havoc Pennington  <hp@redhat.com>
4794
4795         Rename some stuff:
4796         
4797         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4798
4799         s/GtkModelSimple/GtkTreeModelSimple/g;
4800         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4801         s/gtk_model_simple/gtk_tree_model_simple/g;
4802         s/gtkmodelsimple/gtktreemodelsimple/g;
4803
4804         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4805
4806         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4807         s/column_set_col_type/column_set_sizing/g;
4808
4809         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4810         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4811
4812         s/GtkCellRendererType/GtkCellRendererState/g;
4813         
4814         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4815         (gtk_cell_renderer_toggle_class_init): change "state" property to
4816         "active", to match GtkToggleButton
4817         (gtk_cell_renderer_toggle_get_active): new function, bug
4818         40269
4819         (gtk_cell_renderer_toggle_set_active): new function
4820         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4821         state through gtk_cell_renderer_set_active
4822
4823 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4824
4825         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4826         temporarily until they work again.  Brought up to date with
4827         changes in the model.
4828         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4829         model.
4830
4831 2001-01-04  Havoc Pennington  <hp@redhat.com>
4832
4833         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4834         equal to the line length, then position iterator before paragraph 
4835         separators. Fixes crash reported by Mikael Hermansson when
4836         pressing left arrow from the start of a line.   
4837
4838         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4839         about byte indexes off the end
4840         (iter_set_from_char_offset): add g_error about char offsets
4841         off the end
4842
4843 2001-01-03  Havoc Pennington  <hp@redhat.com>
4844
4845         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4846
4847         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4848         of private functions; remove inclusion of private headers.
4849
4850         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4851         function, so we don't need private functions in gtktextdisplay.c
4852
4853         * gtk/gtktextiterprivate.h: underscore-ification
4854
4855         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4856         to instead say "only useful to implement widgets"
4857
4858         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4859         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4860         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4861
4862         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4863         This function was completely broken
4864
4865         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4866
4867         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4868
4869         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4870
4871         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4872
4873         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4874
4875         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4876
4877         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4878         gtk_paint_layout
4879
4880         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4881         gtk_paint_layout
4882
4883         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4884         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4885         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4886         which were not implemented.     
4887
4888         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4889         insert_pixbuf signal. Rename delete_text to delete_range since it
4890         also deletes pixbufs and child anchors. This almost closes bug
4891         40245 (still need to deal with child anchors)
4892
4893         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4894         insert_pixbuf, change signal names as appropriate, change types of
4895         signals taking marks/tags to have the specific type, not just
4896         G_TYPE_OBJECT
4897         
4898         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4899         closes bug 40051
4900
4901         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4902         unnecessary remove_contents() call
4903         (gtk_option_menu_class_init): add a "changed" signal, closes
4904         bug 40039
4905         (gtk_option_menu_update_contents): emit "changed" if the 
4906         active menu item changes
4907
4908         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4909         cast to GtkObject, reported by Jonas Borgstrom
4910         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4911         we can't do stuff with side effects in finalize. Instead, spew a
4912         warning if the loader isn't closed.
4913
4914         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4915         colormap in here, non-X ports probably need to sync to this change
4916
4917         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4918         assertion that colormap != NULL, you can set the colormap to NULL
4919         if you like.
4920         
4921         * Makefile.am: remove gtk-config-2.0
4922
4923         * configure.in: Use pkg-config to locate GLib. Remove
4924         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4925         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4926         Use pkg-config to locate Pango. Output correct Pango libs to
4927         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4928
4929         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4930         files
4931         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4932         X11 pc files
4933
4934         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4935         unref from here
4936
4937 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4938
4939         * configure.in:
4940         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4941
4942 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4943
4944         * gtk/gtktextlayout.c
4945         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4946         variable when moving back onto a single line.
4947
4948 2001-01-01  Havoc Pennington  <hp@redhat.com>
4949
4950         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4951
4952         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4953
4954         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4955         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4956
4957 2001-01-01  Havoc Pennington  <hp@redhat.com>
4958
4959         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4960
4961         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4962         GtkTextAttributes
4963
4964         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4965         #40246
4966         (gtk_text_attributes_copy_values): rename from 
4967         gtk_text_attributes_copy
4968         (gtk_text_attributes_copy): a more standard GTK copy function, 
4969         which returns a new object
4970
4971 2001-01-01  Havoc Pennington  <hp@redhat.com>
4972
4973         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4974         
4975         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4976         don't fill in tree_view->priv->selection, kind of an unexpected
4977         side effect
4978
4979         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4980         gtkintl.h
4981         
4982         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4983         gtkintl.h
4984         (gtk_cell_renderer_get_property): remove calls to g_value_init
4985
4986         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4987         gtkintl.h
4988
4989         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4990         and include gtkintl.h
4991         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4992         property names
4993
4994         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4995         GtkTreeSelection
4996         (_gtk_tree_selection_new_from_with_view): rename, return
4997         GtkTreeSelection
4998         (_gtk_tree_selection_set_tree_view): rename with uscore
4999         (gtk_tree_selection_get_selected): fill in the "model" out param
5000         first, so it gets filled in even if we return at the top of the 
5001         function
5002         (gtk_tree_selection_real_select_all): add a comment and an else{}
5003         to clarify this a bit
5004         (gtk_tree_selection_real_unselect_all): add the same else{}
5005
5006         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
5007         set_tree_view to have underscore prefixes, move them to the
5008         private header, fix return type of new_with_tree_view
5009         (struct _GtkTreeSelection): mark struct
5010         fields private  
5011
5012         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
5013         GtkTreeModelFlags, not a guint
5014         (gtk_tree_path_prev): return gboolean not gint
5015         (gtk_tree_path_up): return gboolean not gint
5016
5017         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
5018         return GtkTreeModelFlags, not a guint
5019
5020         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
5021         that child model is non-null before unrefing it
5022         (g_value_int_compare_func): make this a qsort compare func, not 
5023         a boolean predicate
5024
5025         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
5026         (add -umn to the end), and mark it unimplemented
5027         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
5028         I don't see what it's for - doesn't the model always sort itself?
5029         (gtk_tree_model_sort_set_compare): this had the wrong signature
5030
5031         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
5032         Fix the docs to say that it destructively replaces existing
5033         attributes (previously said that it added attributes).
5034         (gtk_tree_view_column_set_visible): canonicalize bool before
5035         equality testing. Also, check for realization before
5036         hiding/showing the tree_column->window; if this window could exist
5037         before realization, then it's busted and needs fixing, we can't 
5038         create GDK resources pre-realization. Also, remove
5039         superfluous queue_resize(), since set_size() does that for us.
5040         (gtk_tree_view_column_set_col_type): check realization before 
5041         using tree_column->window
5042
5043         * gtk/gtktreedatalist.c: fix filename in copyright notice
5044
5045 2000-12-31  Havoc Pennington  <hp@pobox.com>
5046
5047         * gtk/gtktextview.c: Rearrange all the
5048         scroll-while-dragging-or-selecting code to be different, not
5049         necessarily better. ;-)
5050         (gtk_text_view_scroll_to_mark): Change this
5051         function to take within_margin as a fraction instead of a pixel
5052         value, and to take alignment arguments (indicating where to align 
5053         the mark inside the visible area)
5054         
5055         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
5056         to GtkObject
5057
5058         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
5059         behavior so that offsets past the end of the line are not 
5060         allowed, and an offset equal to the line length moves the iterator
5061         to the next line
5062         (gtk_text_iter_set_line_index): make parallel change
5063         (gtk_text_iter_get_bytes_in_line): add this function
5064         
5065         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
5066         of byte indexes off the end of the line; byte index at the end of
5067         the line now returns FALSE and doesn't fill in the requested
5068         values, byte index past the end of the line is an error.  Also,
5069         don't allow -1 offset anymore, since its meaning is unclear.
5070
5071         This change exposes some bug in visual cursor motion, where we
5072         end up with a huge invalid byte index; needs fixing. Symptom of 
5073         bug is a crash when you hit up arrow.
5074         
5075         (_gtk_text_line_char_locate): match the change to byte_locate
5076
5077         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
5078         from start of line properly. fixes bug reported by Mikael
5079         Hermansson where backspace would delete all text before the
5080         cursor.
5081
5082 2000-12-30  Tor Lillqvist  <tml@iki.fi>
5083
5084         * gdk/win32/gdkwindow-win32.c
5085         (gdk_window_impl_win32_get_visible_region): New function, as in
5086         the X11 backend.
5087         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
5088         instead of duplicating the same code here.
5089
5090         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
5091         GDK_COLORMAP macro.
5092
5093         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
5094         destroy function.
5095         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
5096         access that.
5097
5098         * gtk/gtk.def: Update.
5099
5100         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
5101
5102 2000-12-30  Havoc Pennington  <hp@pobox.com>
5103
5104         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
5105         colormap on input only windows, to avoid special cases all over
5106         the code for these windows.
5107
5108 2000-12-26  Tor Lillqvist  <tml@iki.fi>
5109
5110         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
5111         we are on a palettized display ("PseudoColor" in X11), as the code
5112         for that doesn't work anyway, and never has.
5113
5114 2000-12-22  Alexander Larsson  <alexl@redhat.com>
5115
5116         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
5117         Don't use isprint() for chars > 255.
5118
5119 2000-12-21  Havoc Pennington  <hp@redhat.com>
5120
5121         * tests/testtreeview.c: more work
5122
5123 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5124
5125         * docs/README.linux-fb:
5126         Update the docs to the new pangoft2 way.
5127
5128 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5129
5130         * configure.in:
5131         For linux-fb get the pangoft2 cflags and libs. This needs a recent
5132         pango version.
5133         Remove modules/linux-fb/Makefile.
5134
5135         * gdk/linux-fb/gdkdrawable-fb2.c:
5136         Render glyphs using freetype.
5137
5138         * gdk/linux-fb/gdkfb.h:
5139         Add new fb-specific functions needed for managing windows.
5140
5141         * gdk/linux-fb/gdkmain-fb.c:
5142         Remove gdk_font_init/fini() calls.
5143
5144         * gdk/linux-fb/gdkpango-fb.c:
5145         Remove old implementation. Use pangoft2 instead.
5146
5147         * gdk/linux-fb/gdkprivate-fb.h:
5148         Remove PangoFBFont and related stuff.
5149
5150         * gdk/linux-fb/gdkwindow-fb.c:
5151         Implement drawable->get_visible_region.
5152         Implement support for _gdk_window_set_child_handler () and
5153         _gdk_window_get_decorations().
5154
5155         * modules/Makefile.am:
5156         Remove linux-fb subdir.
5157
5158         * modules/linux-fb/*:
5159         Removed all.
5160         
5161 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
5162
5163         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
5164         calls, as they are no longer needed.
5165
5166         * gtk/gtktreemodelsort.c: Fix up the comparison code.
5167         
5168         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
5169         figure out how to emit a signal on an interface.
5170
5171 2000-12-20  Havoc Pennington  <hp@redhat.com>
5172
5173         * tests: new directory to contain tests, gtk/test* should move
5174         here sometime (with appropriate on-cvs-server hackery)
5175
5176         * tests/testtreeview.c, tests/Makefile.am: a test
5177         
5178         * configure.in (AC_OUTPUT): add tests/Makefile
5179
5180         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
5181         and "invisible_set" which were missing
5182
5183         * gtk/gtkrbtree.h: some cheesy indentation fix
5184         
5185 2000-12-20  Alexander Larsson  <alexl@redhat.com>
5186
5187         * gtk/gtkinvisible.c (gtk_invisible_realize):
5188         Attach the style to the window so that the style it is not
5189         leaked when unrealizing the window.
5190
5191 2000-12-18  Havoc Pennington  <hp@redhat.com>
5192
5193         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
5194         begin/end user action where appropriate
5195         (gtk_text_view_commit_handler): add begin/end user action
5196
5197         * gtk/gtktextbuffer.c: add begin/end user action signals, and
5198         bracket interactive operations with begin/end user action pair.
5199         
5200         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
5201         "interactive" arg from insert_text and delete_text signals.
5202         Add begin_user_action, end_user_action signals
5203         (gtk_text_buffer_begin_user_action): 
5204         (gtk_text_buffer_end_user_action): New functions to delimit 
5205         a user-visible action
5206
5207         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
5208         signals.
5209         
5210 2000-12-18  Havoc Pennington  <hp@redhat.com>
5211
5212         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
5213         was pretty non-working.
5214
5215         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
5216         by passing the length to g_utf8_validate().
5217
5218 2000-12-16  Havoc Pennington  <hp@pobox.com>
5219
5220         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
5221         Port to GObject, can go back in gdk-pixbuf after setting up 
5222         a gdk-pixbuf-marshal.h header over there.
5223
5224         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
5225         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
5226         args
5227         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
5228         set
5229         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
5230         here, do it when we create the buttons later
5231         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
5232         (gtk_tree_view_map): paranoia checks that column->button is shown 
5233         and unmapped
5234         (gtk_tree_view_size_request): only request visible children.
5235         Move header size calculation in here, for cleanliness, and 
5236         to maintain invariants for child widgets if we eventually 
5237         let users set different children inside the buttons
5238         (gtk_tree_view_map_buttons): factor out code to map buttons,
5239         since it was being called several times
5240         (gtk_tree_view_size_allocate_buttons): move_resize the drag
5241         windows instead of just moving them; their height may change 
5242         if we allow random widgets in there, or the theme changes.
5243         (gtk_tree_view_size_allocate): move button size allocation 
5244         above emitting the scroll signals, to ensure a sane state when we
5245         hit user code
5246         (gtk_tree_view_button_release): remove queue_resize after
5247         tree_view_set_size(), set_size() will handle any resize queuing
5248         that's needed
5249         (gtk_tree_view_focus_in): just queue a draw, don't fool with
5250         draw_focus goo
5251         (gtk_tree_view_focus): use gtk_get_current_event() and
5252         gdk_event_get_state()
5253         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
5254         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
5255         semicolon
5256         (gtk_tree_view_create_button): show the button here
5257         (gtk_tree_view_button_clicked): actually emit the clicked signal
5258         on the column
5259         (_gtk_tree_view_set_size): return right away if the size is
5260         unchanged, as a cheesy optimization
5261         (gtk_tree_view_setup_model): rename set_model_realized to 
5262         setup_model to match the flag that indicates whether we've 
5263         called it
5264         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
5265         exist, because set_scroll_adjustment does that and it shouldn't
5266         matter what order you call these in
5267         (gtk_tree_view_get_vadjustment): ditto
5268         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
5269         for paranoia
5270         (gtk_tree_view_set_headers_visible): call
5271         gtk_tree_view_map_buttons() instead of using cut-and-paste code
5272         (gtk_tree_view_append_column): clarify whether the return value
5273         is the count of columns before or after, and do the increment 
5274         separately from the return statement so you can tell from the code.
5275         (gtk_tree_view_remove_column): ditto
5276         (gtk_tree_view_insert_column): ditto
5277         (gtk_tree_view_get_column): remove g_return_if_fail for columns
5278         outside the existing range, the docs say that outside-range
5279         columns are allowed, so we handle them as documented. (Presumably
5280         this allows a nice loop with column != NULL as test.)
5281         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
5282         mean (left/right/center etc.).
5283         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
5284         (gtk_tree_view_expand_row): add docs
5285         (gtk_tree_view_collapse_row): add docs
5286
5287         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
5288         function to emit the clicked signal on a column
5289         
5290         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
5291         state of an event
5292         (gdk_event_get_time): don't treat GDK_SCROLL 
5293         as a button event, remove default case from switch so gcc 
5294         will whine if we don't explicitly handle all event types
5295
5296         * gtk/gtktreeselection.h: added some FIXME 
5297         
5298         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
5299         "columns" to "n_columns" and "column" to "columns" for clarity
5300
5301 2000-12-16  Havoc Pennington  <hp@pobox.com>
5302         
5303         * gtk/gtktextiter.c: General cleanup of the log attr iteration
5304         stuff. This should make e.g. the delete key work again in the
5305         text widget...
5306         (gtk_text_iter_forward_cursor_positions): handle negative count
5307         (gtk_text_iter_backward_cursor_positions): handle negative count
5308         (gtk_text_iter_forward_word_ends): handle negative count
5309         (gtk_text_iter_backward_word_starts): handle negative count
5310
5311         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
5312         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
5313         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
5314         GObject. No doubt will cause breakage.
5315
5316         * demos/gtk-demo/textview.c: remove hacks around
5317         non-GObject-ification of the text objects
5318
5319         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
5320         the text tag
5321         
5322 2000-12-14  Havoc Pennington  <hp@pobox.com>
5323
5324         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
5325         that we have Xrender
5326
5327 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
5328
5329         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
5330         Add two virtualized functions gdk_drawable_get_clip_region - to
5331         get the clip region when drawing.
5332         
5333         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
5334         use invalidate_region.
5335
5336         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
5337         region.
5338
5339         * acconfig.h configure.in: Check for Xft. For now, assume
5340         that if Xft is found, Pango was compiled with Xft support
5341         as well.
5342
5343         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
5344         gdk_colormap_query_color().
5345         
5346         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
5347         with Xft if appropriate.
5348
5349         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
5350         a pangoxft context if we have XFT and the environment
5351         variable GD_USE_XFT is set.
5352         
5353         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
5354         and also possibly an XftDraw structure.
5355
5356         * gtk/gtkfontsel.c: Handle the case where the font from the
5357         style doesn't match any of the fonts a bit better.
5358         
5359         * gtk/testgtk.c: Add tabs between directional segments for
5360         hebrew/arabic test. (Not really necessary, just a little
5361         prettier.)
5362
5363 2000-12-14  Havoc Pennington  <hp@redhat.com>
5364
5365         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
5366         reading a file
5367
5368 2000-12-14  Havoc Pennington  <hp@redhat.com>
5369
5370         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
5371         unused call to get_last_line()
5372
5373         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
5374         here until boxed is working (and maybe after that - we should
5375         really not gratuitously break old code)
5376
5377         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
5378         specific types for font_desc and tabs args, move them to
5379         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
5380         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
5381
5382         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
5383         use GTK_TYPE_POINTER for signal signatures as a hack-around
5384
5385         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
5386         PangoTabArray
5387
5388         * gtk/gtktextlayout.c (line_display_iter_to_index): 
5389         make static
5390         (line_display_index_to_iter): make static
5391
5392         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5393         to marshal a string not a boxed
5394
5395         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
5396
5397         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
5398         since the UTF-8 isn't validated yet
5399
5400         * gtk/gtktextsegment.c (char_segment_check_func): don't require
5401         lines to end in '\n'
5402         
5403         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
5404         forward_to_delimiters, and grapheme boundaries
5405         (gtk_text_view_delete_from_cursor): properly handle non-newline
5406         delimiters, and grapheme boundaries
5407
5408         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
5409         to gtk_text_iter_forward_to_delimiters, and make it work properly
5410         if empty lines end with a character other than '\n'
5411
5412         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
5413         position
5414
5415 2000-12-15  Tor Lillqvist  <tml@iki.fi>
5416
5417         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
5418
5419         * gtk/gtk.def
5420         * gdk/gdk.def: Update.
5421
5422         * gdk/win32/gdkmain-win32.c
5423         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
5424         gdkmain-win32.c here.
5425
5426         * gdk/win32/makefile.mingw.in (all): No need to make
5427         gdk-win32res.o here, the makefile one step up will call us to make
5428         it.
5429
5430         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
5431         gdkkeys-win32.
5432
5433         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
5434
5435         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
5436         call to g_source_add().
5437
5438         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
5439         leak. Thanks to Andreas Kemnade.
5440
5441 2000-12-13  Havoc Pennington  <hp@pobox.com>
5442
5443         * gtk/gtktextbtree.h: Remove double _ in front of some functions
5444
5445         * gtk/gtktext*.[hc]: update accordingly
5446         
5447 2000-12-13  Havoc Pennington  <hp@pobox.com>
5448
5449         * gtk/gtktextbtree.h: Put _ in front of every function in this 
5450         header file
5451
5452         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
5453
5454 2000-12-13  Alex Larsson  <alexl@redhat.com>
5455
5456         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
5457         Add support for ps2 intellimouse.
5458
5459         * gdkkeyboard-fb.c:
5460         Move shift-F1 repaint handling to xlate handler only.
5461         
5462         * docs/README.linux-fb:
5463         Add imps2 to docs.
5464         Document the new refresh keys.
5465         
5466 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
5467
5468         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
5469
5470         * gtk/gtkbox.c: change property types from (u)long to (u)int for
5471         ::position and ::padding.
5472
5473         * gtk/gtkcontainer.c: make ::border_width an INT property.
5474
5475         * gtk/gtkpacker.c: make ::position an INT property.
5476
5477         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
5478         guard against NULL h/v scrollbars, since this is used at construction
5479         time.
5480
5481         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
5482         internal gtk_clist_constructor().
5483
5484         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
5485         gtk_ctree_constructor().
5486
5487         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
5488         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
5489
5490         * docs/reference/Makefile.am: fun stuff, disabled docs generation
5491         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
5492
5493         * gtk/gtkwidget.[hc]:
5494         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
5495         and gtk_widget_get().
5496         (gtk_widget_new): use g_object_new_valist().
5497         (gtk_widget_set): use g_object_set_valist().
5498
5499         * gtk/gtkobject.[hc]:
5500         removed gtk_object_arg_get_info(), gtk_object_getv(),
5501         gtk_object_query_args(), gtk_object_newv(),
5502         gtk_object_class_add_signals(),
5503         gtk_object_class_user_signal_new(),
5504         gtk_object_class_user_signal_newv(),
5505         gtk_object_arg_set(), gtk_object_arg_get(),
5506         gtk_object_args_collect(),
5507         gtk_object_default_construct(),
5508         gtk_object_constructed(),
5509         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
5510         removed nsignals, signals and n_args members from GtkObjectClass.
5511         (gtk_object_new): use g_object_new_valist().
5512         (gtk_object_set): use g_object_set_valist().
5513         (gtk_object_get): use g_object_get_valist().
5514         
5515         * gtk/gtkcompat.h: define gtk_object_default_construct().
5516         
5517         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
5518         g_object_new().
5519
5520         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
5521         fucntions, cleaned up method assignments (make sure your structures
5522         are setup properly before calling out). removed all GTK_CONSTRUCTED
5523         hacks ;)
5524
5525 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
5526
5527         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
5528         off-by-one error in checks. (Dave Lambert)
5529
5530 2000-12-12  Alexander Larsson  <alexl@redhat.com>
5531
5532         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
5533         Don't free gdk_fb_keyboard twice.
5534
5535 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
5536
5537         * gtk/testgtk.c:
5538         (create_tooltips): 
5539         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
5540         use GObject swapped_signal:: properties instead.
5541
5542         * gtk/gtkcellrenderertoggle.c: 
5543         * gtk/gtkcellrenderertextpixbuf.c: 
5544         * gtk/gtkcellrenderertext.c: 
5545         * gtk/gtkcellrendererpixbuf.c: 
5546         * gtk/gtkcellrenderer.c:
5547         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
5548         missing warnings for invalid property ids, install properties
5549         with g_object_class_install_property() now.
5550         
5551         * gtk/gtksignal.c:
5552         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
5553         
5554 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
5555         
5556         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
5557         to determine if a window is the focus widget within
5558         its toplevel.
5559
5560         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
5561         to be boolean.
5562
5563         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
5564         of the case where the container CAN_FOCUS to here instead
5565         of having it in each individual move-the-focus place.
5566
5567         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
5568         focusing to be geometric in a much more obvious sense. Arrowing
5569         around is still non-intuitive because it isn't perfect and
5570         because entries, etc, grab the arrow keys, but it at least
5571         usually will do what you expect now.
5572         
5573         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
5574         file.
5575
5576         * gtk/gtknotebook.c: Change tabs to be a single item in
5577         the focus chain. Make movement of focus on tabs with arrow
5578         keys wrap around.
5579         
5580         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
5581         CHECK_FIND_CHILD macro to give informative error messages
5582         instead of silent returns.
5583
5584         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
5585         flag since we handle GdkReturn on the tabs.
5586
5587         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
5588         windows rather than sending expose events directly.
5589
5590         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
5591         definition for GtkNotebookPage into .c file, since it is private.
5592
5593         * gtk/testgtk.c (create_notebook): Add option for 
5594         testing borderless notebook.
5595
5596         * gtk/testgtk.c (page_switch): Removed egregious poking
5597         around in GTK+ internals.
5598
5599         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
5600
5601         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
5602         properly through gtk_clist_focus. Make the title headers a
5603         single item in the tab-focus chain, and make left-right wrap
5604         around.
5605
5606         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
5607         focus method so that wrapping around works properly.
5608
5609         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
5610         that is handled for the widget now. 
5611
5612 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
5613
5614         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
5615         widgets as TOPLEVEL.
5616
5617         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
5618         TOPLEVEL widgets are containers.
5619
5620         * gtk/gtkinvisible.h: Remove useless include.
5621
5622 2000-12-11  Havoc Pennington  <hp@redhat.com>
5623
5624         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
5625         Handle chopping off \r\n and 0x2029 in addition to \n before
5626         passing to PangoLayout
5627
5628         * gtk/gtkimcontextsimple.c
5629         (gtk_im_context_simple_get_preedit_string): 
5630         return an empty string if no match is pending
5631
5632         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
5633         assertion that the returned preedit string was sane
5634
5635         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
5636         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
5637         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
5638
5639 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
5640
5641         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
5642         Fix up finalizer to chain to its parent.
5643
5644 2000-12-11  Alexander Larsson  <alexl@redhat.com>
5645
5646         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
5647         Clearified the difference between the keyboard types. Wrote a note
5648         about the magic sysrq key to get out of raw mode.
5649
5650 2000-12-09  James Henstridge  <james@daa.com.au>
5651
5652         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
5653         member to hold masks for detecting the start of a protocol packet.
5654         (mouse_devs): add packet start masks for ps2 and ms device types.
5655         Left the mask for fidmour blank, as I have no idea what it should
5656         be.
5657         (handle_mouse_io): skip bytes until we get to the start of a
5658         packet.  My Logitech mouse seems to be passing an extra NULL pad
5659         byte, and GPM does a similar thing here.
5660         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
5661         this is the ms mouse driver.
5662         (gdk_fb_mouse_ms_packet): fix up button handling, which was
5663         completely broken except for button1.  It was checking the wrong
5664         bit in the packet for the status of the right mouse button, and
5665         wrongly assuming right == button2 rather than 3.  I fixed that and
5666         also added support for middle button (button2).
5667
5668 2000-12-08  Havoc Pennington  <hp@redhat.com>
5669
5670         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
5671         that cause a segfault on text insertion
5672
5673         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
5674         warning
5675
5676         * gtk/gtktextiter.c (test_log_attrs): use
5677         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
5678
5679         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
5680         Get log attrs for a line, using a cache stored on the buffer
5681         
5682         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
5683         reported by Jeff Franks
5684
5685 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5686
5687         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
5688         /dev/ttyS0 -> /dev/mouse
5689
5690 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5691
5692         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
5693         Added dummy gdk_fontset_load.
5694
5695 2000-12-08  Alexander Larsson  <alexl@redhat.com>
5696
5697         * docs/README.linux-fb:
5698         * docs/Makefile.am:
5699         Initial GtkFB docs.
5700         
5701         * gdk/linux-fb/Makefile.am:
5702         Define GDK_DATA_PREFIX.
5703
5704         * gdk/linux-fb/gdkmain-fb.c:
5705         Fix typo.
5706         Change default display to /dev/fb0.
5707
5708         * gdk/linux-fb/gdkpango-fb.c:
5709         Add $(prefix)/share/fonts/ to font path.
5710         
5711 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5712
5713         * gdk/linux-fb/gdkkeyboard-fb.c:
5714         New file containing the abstracted keyboard driver. Most code
5715         taken from gdkinput-ps2.c
5716
5717         * gdk/linux-fb/gdkinput-ps2.c:
5718         Removed file.
5719         
5720         * gdk/linux-fb/Makefile.am:
5721         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
5722
5723         * gdk/linux-fb/gdkcolor-fb.c:
5724         display->fb was renamed to display->fb_fd.
5725
5726         * gdk/linux-fb/gdkcursor-fb.c:
5727         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5728
5729         * gdk/linux-fb/gdkinput.c:
5730         Moved gdk_input_init here from gdkinput-ps2.c
5731
5732         * gdk/linux-fb/gdkmain-fb.c:
5733         display->fb was renamed to display->fb_fd.
5734         Now the tty and the console is opened here instead
5735         of in the keyboard driver. Also check GDK_VT to see what
5736         tty to open.
5737         Move gdk_beep () here from gdkinput-ps2.c
5738         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5739
5740         * gdk/linux-fb/gdkmouse-fb.c:
5741         Add header.
5742         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5743         Return correct keyboard modifiers.
5744         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5745
5746         * gdk/linux-fb/gdkprivate-fb.h:
5747         Add tty and vt info to display.
5748         Add orignal modeinfo storage to display
5749         Update global functions
5750
5751         * gdk/linux-fb/gdkwindow-fb.c:
5752         Added gdk_fb_window_find_focus().
5753         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5754
5755 2000-12-07  Havoc Pennington  <hp@pobox.com>
5756
5757         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5758         function, noticed by Alex
5759
5760 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5761
5762         * configure.in: Detect freetype properly
5763
5764         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5765         above.
5766
5767 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5768
5769         * gdk/linux-fb/Makefile.am:
5770         Add gdkmouse-fb.c
5771         
5772         * gdk/linux-fb/gdkmouse-fb.c:
5773         New file. Abstracted the mouse drivers a bit.
5774
5775         * gdk/linux-fb/gdkcursor-fb.c:
5776         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5777
5778         * gdk/linux-fb/gdkinput-ps2.c:
5779         Removed old mouse handling code. Moved cursor handling code
5780         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5781         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5782         gdk_mouse_get_info.
5783
5784         * gdk/linux-fb/gdkmain-fb.c:
5785         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5786
5787         * gdk/linux-fb/gdkprivate-fb.h:
5788         Removed public gdk_fb_find_common_ancestor, added and renamed
5789         functions for the new mouse handling code.
5790
5791         * gdk/linux-fb/gdkwindow-fb.c:
5792         Moved gdk_fb_window_send_crossing_events here. added global
5793         variable gdk_fb_window_containing_pointer. made
5794         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5795         renamed to gdk_mouse_get_info.
5796
5797 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5798
5799         * gdk/linux-fb/gdkevents-fb.c:
5800         Update to match latest gmain/gsource changes.
5801
5802         * gdk/linux-fb/gdkinput-ps2.c:
5803         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5804         it links. Will be implemented later.
5805
5806 2000-12-03  Havoc Pennington  <hp@pobox.com>
5807
5808         * gdk/Makefile.am: add gdkkeys.[hc]
5809
5810         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5811         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5812
5813         * acconfig.h, configure.in: add checks and command line options
5814         for XKB
5815
5816         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5817         
5818         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5819         and group in the key event
5820
5821         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5822         field with the low-level hardware key code, and a group
5823         field with the keyboard group
5824
5825         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5826         and declare a couple globals used for keymap handling
5827         
5828         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5829         hold down Shift-Control and type a hex number to get a Unicode 
5830         character corresponding to the hex number
5831         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5832         (return bytes not chars)
5833
5834 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5835
5836         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5837         to avoid waste on 64-bit platforms.
5838
5839 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5840
5841         * INSTALL: Fix link to PNG home, remove reference
5842         to fribidi.
5843
5844         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5845         
5846         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5847         tested.)
5848
5849         * gtk/gtkcheckmenuitem.c: Permanently turn on
5850         always_show_toggle.
5851
5852         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5853         be NULL. (Vladimir Klebanov, #26545)
5854
5855         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5856         some signed/unsigned comparison problems. (#6510,
5857         David Kaelbling)
5858
5859         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5860         return type to boolean (Oskar Liljeblad, #18648)
5861
5862 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5863
5864         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5865         Remove bogus colormap setting.
5866
5867 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5868
5869         * gdk/linux-fb/gdkcolor-fb.c:
5870         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5871
5872         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5873         Must set colormap.
5874         
5875 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5876
5877         * docs/tutorial/gtk-tut.sgml: DND updates
5878
5879 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5880
5881         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5882         Remove old debug g_warning().
5883         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5884         or an implementation, just pass the implementation to draw_drawable_2.
5885         
5886         * gdk/linux-fb/gdkprivate-fb.h:
5887         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5888
5889         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5890         clear and invalidate area when window is destroyed.
5891         (send_map_events): Remove old commented out code.
5892
5893 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5894
5895         * gdk/linux-fb/gdkpango-fb.c:
5896         Use italic instead of oblique in font aliases.
5897         
5898         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5899         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5900         other unsupported functions.
5901
5902 2000-12-04  Havoc Pennington  <hp@redhat.com>
5903
5904         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5905
5906         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5907
5908         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5909
5910         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5911         hack to avoid infinite loops (synthetic expose event) - 
5912         Owen has more appropriate fixes in a branch he'll check in later.
5913
5914         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5915         separator, CR, and CRLF as line ends
5916
5917         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5918         into lines using pango_find_paragraph_boundary(); other bits of
5919         the widget are still going to be broken if the boundary isn't '\n'
5920         though
5921
5922 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5923
5924         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5925         multiply.
5926
5927         * gdk/linux-fb/gdkpango-fb.c:
5928         Copied some 26.6 scaling macros from pango to clean up the rounding.
5929         (pango_fb_font_get_glyph_info): Correct sign on x value.
5930
5931         * gdk/linux-fb/gdkprivate-fb.h:
5932         Removed unreferenced external functions.
5933
5934         * modules/linux-fb/Makefile.am: Use ` instead of '.
5935
5936         * modules/linux-fb/basic.c:
5937         Remove dead code. In particular the dummy lang engine which broke all
5938         pango layouts in GtkFB. Don't include tables-big.i anymore.
5939
5940         * modules/linux-fb/tables-big.i:
5941         Upgrade to latest version from pango. Left for reference, basic_ranges
5942         moved to basic.c.
5943         
5944 2000-12-04  Havoc Pennington  <hp@redhat.com>
5945
5946         Fix bugs Alex found:
5947         
5948         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5949         to "draw"
5950
5951         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5952
5953         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5954
5955         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5956         implementation in here, apparently the expose() implementation was
5957         dead code.
5958
5959 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5960
5961         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5962         Return positive descent.
5963
5964 2000-12-02  Havoc Pennington  <hp@pobox.com>
5965
5966         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5967         method and signal
5968         
5969         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5970         calls gdk_window_process_updates() to push the exposes through
5971         (gtk_widget_class_init): No more draw signal, no
5972         gtk_widget_real_draw()  
5973         
5974         * gtk/gtkbin.c (gtk_bin_draw): remove
5975
5976         * gtk/gtkbox.c (gtk_box_draw): remove
5977
5978         * gtk/gtkbutton.c (gtk_button_draw): remove
5979
5980         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5981
5982         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5983
5984         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5985
5986         * gtk/gtkclist.c (gtk_clist_draw): remove
5987
5988         * gtk/gtkentry.c (gtk_entry_draw): remove
5989
5990         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5991
5992         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5993
5994         * gtk/gtkframe.c (gtk_frame_draw): remove
5995
5996         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5997
5998         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5999
6000         * gtk/gtklayout.c (gtk_layout_draw): remove
6001
6002         * gtk/gtklist.c (gtk_list_draw): remove
6003
6004         * gtk/gtklistitem.c (gtk_list_item_draw): remove
6005
6006         * gtk/gtkmenu.c (gtk_menu_draw): remove
6007
6008         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
6009
6010         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
6011
6012         * gtk/gtknotebook.c (gtk_notebook_draw): remove
6013
6014         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
6015
6016         * gtk/gtkpacker.c (gtk_packer_draw): remove
6017
6018         * gtk/gtkrange.c (gtk_range_draw): remove
6019
6020         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
6021
6022         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
6023
6024         * gtk/gtktable.c (gtk_table_draw): remove
6025
6026         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
6027
6028         * gtk/gtktext.c (gtk_text_draw): remove
6029
6030         * gtk/gtktextview.c (gtk_text_view_draw): remove
6031
6032         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
6033
6034         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
6035
6036         * gtk/gtktree.c (gtk_tree_draw): remove
6037
6038         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
6039
6040         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
6041
6042         * gtk/gtkviewport.c (gtk_viewport_draw): remove
6043
6044         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
6045
6046         * gtk/gtkvscale.c (gtk_vscale_draw): remove
6047
6048         * gtk/gtkwindow.c (gtk_window_draw): remove
6049
6050 2000-20-01  Anders Carlsson  <andersca@gnu.org>
6051
6052         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
6053         a GtkToggleButton is both insensitive and active, it was being
6054         drawn by the GtkButton draw handler which doesn't check the
6055         state. Now it's calling gtk_toggle_button_paint instead.
6056         
6057 2000-12-01  Havoc Pennington  <hp@redhat.com>
6058
6059         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
6060         dangling pointers to the appearance attributes from the 
6061         line display
6062
6063         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
6064         width/height to mean "full width/height of drawable"
6065
6066         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
6067         click to select word/line
6068         
6069         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
6070         when getting log attrs. Get a slice, so that pixmaps and stuff
6071         are properly handled.
6072
6073         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
6074         paste into the selection (replaces selection now, previously
6075         crashed or added to selection). Reveals longstanding btree bug -
6076         select multiple lines, middle-click on the selection, boom. This
6077         isn't related to my changes though.
6078
6079         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
6080         PangoLogAttrs changes
6081         (gtk_entry_move_backward_word): ditto
6082
6083         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
6084         functions return bool whether the iter moved onto a
6085         dereferenceable position.
6086  
6087         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
6088         functions for motion in terms of display lines.
6089
6090         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
6091         get the buffer a mark is inside
6092         
6093 2000-12-01  Alexander Larsson  <alexl@redhat.com>
6094
6095         * gdk/linux-fb/Makefile.am:
6096         * modules/linux-fb/Makefile.am:
6097         Freetype 2 final uses freetype-config
6098
6099         * gdk/linux-fb/gdkpango-fb.c:
6100         Upgrade to use Freetype 2 final.
6101         More flexible support for font aliases, this also fixes a bug with
6102         GtkFontSelector, as the aliases must be visible in the font/family list,
6103         or GtkFontSelector reads uninitialized memory.
6104
6105 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
6106
6107         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
6108         XGetIMValues to properly terminate variable argument list, and do
6109         NULL return check for ic_values and xim_styles.
6110
6111         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
6112         Restore preedit state after XmbResetIC().
6113         
6114         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
6115         XvaCreateNestedList() should take XvaNestedList, but not
6116         XvaNestedList*.
6117
6118         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
6119         preedit_draw_callback, preedit_caret_callback): Match
6120         "preedit-changed" signal name to "preedit_changed" to be
6121         consistent to the spec.
6122
6123         * gtk/gtkimcontextsimple.c (check_table):
6124         Match "preedit-changed" to "preedit_changed" to be consistent
6125         to the spec.
6126
6127 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
6128
6129         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
6130         gc->clip_region == NULL>
6131
6132 2000-11-30  Tor Lillqvist  <tml@iki.fi>
6133
6134         Changes by Hans Breuer:
6135         
6136         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
6137         Dont't use negative width and height as max_hints. This fixes
6138         Owen's recent testgtk changes for win32.
6139
6140         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
6141         gdk_win32_hdc_release): These are exported and may be called with
6142         other drawable types than our GdkDrawableImplWin32 (?).
6143
6144         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
6145         so always #define USE_BACKING_STORE.
6146
6147         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
6148         of printf for debugging output.
6149
6150         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
6151         
6152         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
6153
6154         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
6155         declaration.
6156
6157         * gtk/gtktexttypes.h: Ditto.
6158
6159         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
6160         (GDK_VoidSymbol) also if in case of arg check failure.
6161
6162         * gtk/gtkimcontextsimple.c
6163         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
6164         position to the pointer, but to the variable it points to.
6165
6166         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
6167
6168         * gtk/gtk.def: Updates.
6169
6170 2000-11-29  Elliot Lee  <sopwith@redhat.com>
6171
6172         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
6173         GTK_TYPE_TREE_MODEL.
6174
6175 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6176
6177         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
6178         Set the size of the font from the description.
6179         (gdk_text_width): Gross hack that calculates the width
6180         of text by text_length * size/2. This is necessary because
6181         GtkLabel does some ugly gtk_string_width call to calculate
6182         an good size.
6183         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
6184
6185 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
6186
6187         * docs/tutorial/gtk-tut.sgml: DND updates
6188
6189 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6190
6191         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
6192         If you pass width or height == 0 to gdk_window_clear_area they
6193         should be calculated from the window size.
6194
6195 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6196
6197         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
6198         a grab, but no grab-cursor, use the cursor from the grabbed
6199         window. (gdk_fb_window_send_crossing_events): Send normal
6200         enter/leave notifications if grab and owner_events == TRUE.
6201
6202 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6203
6204         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
6205         Do implicit button grabs, even if the window doesn't
6206         want the event.
6207         (gdk_fb_window_send_crossing_events): If there is a
6208         grab, only the grabbed window gets normal enter/leave
6209         notifications. On ungrab go from grabbed window to current.
6210         Don't send any notification to b when propagating from c -> b.
6211         If setting a grab on window, don't set prev_window.
6212         (handle_mouse_input): Send enter/leave events to the window the
6213         mouse is over, not the grabbed one.
6214         
6215 2000-11-28  Elliot Lee  <sopwith@redhat.com>
6216
6217         * gdk/gdkregion-generic.c: Zap warning.
6218         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
6219         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
6220
6221 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
6222
6223         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
6224         The cursor should be hidden if it is part of either the
6225         source or destination region. Not only if it is in both.
6226         (gdk_window_set_transient_for): Silence warnings.
6227
6228 2000-11-28  Alexander Larsson  <alexl@redhat.com>
6229
6230         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
6231         The default mode in X is Pie Arcs, therefore that is
6232         what Gtk+ uses.
6233
6234 2000-11-28  Alexander Larsson  <alexl@redhat.com>
6235
6236         * gdk/linux-fb/gdkinput-ps2.c:
6237         Implement correct EnterNotify/LeaveNotify:
6238         (gdk_fb_window_send_crossing_events): New function that sends
6239         all GdkCrossingEvents from the last mouse-window to the specified
6240         destination.
6241         (gdk_fb_window_visibility_crossing): Removed function.
6242         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
6243         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
6244         instead of gdk_window_get_pointer() for better readability.
6245
6246         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
6247         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
6248
6249         * gdk/linux-fb/gdkprivate-fb.h:
6250         removed gdk_fb_window_visibility_crossing, added
6251         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
6252
6253         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
6254         New function that finds the least common ancestor of two windows.
6255         (gdk_window_show, gdk_window_hide):
6256         Use gdk_fb_window_send_crossing_events.
6257         (gdk_fb_window_move_resize): Send configure events to toplevel
6258         windows. Use gdk_fb_window_send_crossing_events.
6259
6260 2000-11-27  Havoc Pennington  <hp@redhat.com>
6261
6262         * gtk/gtkprivate.h (enum): Remove a trailing comma
6263
6264 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
6265
6266         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
6267         the "changed" callback of the adjustment.  We need to redraw the
6268         spin button's arrows when the adjustment's range changes.
6269         (adjustment_changed_cb): Draw the arrows.
6270         (gtk_spin_button_value_changed): Draw the arrows.
6271
6272 2000-11-23  Alexander Larsson  <alexl@redhat.com>
6273
6274         * gdk/linux-fb/gdkselection-fb.c:
6275         Initial selection implementation.
6276
6277         * gtk/gtkselection.c:
6278         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
6279         requestor in gtk_selection_request.
6280         
6281         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
6282         Added gdk_selection_property atom.
6283
6284         * gdk/linux-fb/gdkprivate-fb.h:
6285         Export _gdk_selection_window_destroyed.
6286         Removed mask_off_x/y from GdkCursorPrivateFB.
6287         Removed hbearing, added top, left to PangoFBGlyphInfo.
6288
6289         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
6290         Call _gdk_selection_window_destroyed
6291         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
6292         the root window has been created.
6293         (static_dx_hack, static_dy_hack, compare_draw_rects,
6294         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
6295         in region. They are already sorted. Instead just traverse them in
6296         reverse if draw_direction < 0.
6297         
6298         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
6299         Double-clicks must be sent after the normal button_press.
6300         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
6301         
6302         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
6303         Pass _gdk_fb_screen_gc instead of NULL.
6304
6305         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
6306         Initialize gdk_selection_property.
6307         (gdk_event_make): Remove unused code.
6308
6309         * gdk/linux-fb/gdkcursor-fb.c:
6310         Make the pixmap for the cursor the same size as the mask. Also remove
6311         the mask_off_x/y fields in GdkCursorPrivateFB and combine
6312         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
6313         Now the whole cursor is visible.
6314
6315         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
6316         Fix bug where xdest+height instead of ydest+height was used
6317         to calculate if the source and dest overlapped. This fixes the
6318         redraw bug when the main window in testgtk was scrolled when
6319         partially covered by a tall window.
6320         Copy rectangles in region in order depending on draw_direction.
6321         Also moved the draw_direction flipping of start_y and end_y into
6322         the gc functions, as this might not be what all of them want.
6323         (gdk_fb_draw_lines): Support dashed lines.
6324         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
6325         so that the text is positioned correctly (was 1 pixel high).
6326
6327         gdk/linux-fb/gdkgc-fb.c:
6328         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
6329         all lines were drawn a pixel to short. Also checked the default of
6330         the rest of the values, and they're the same as X now.
6331
6332         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
6333         Clean up pixel positioning of the glyphs. Just use bgy->top and
6334         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
6335         to all divisions to get correct rounding behaviour.
6336
6337         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
6338         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
6339         Moved start_y/end_y flip into draw_drawable implementations.
6340         Flip also x rendering when draw_direction < 0.
6341         Remove unneccesary multiply with draw_direction.
6342
6343 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
6344
6345         * docs/tutorial/gtk-tut.sgml:
6346           - get rid of gtk_toggle_button_toggled FUD
6347           - start DND section - needs work - based on:
6348                 http://wolfpack.twu.net/docs/gtkdnd/
6349
6350 2000-11-22  Alexander Larsson  <alexl@redhat.com>
6351
6352         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
6353         Correct calculation of font metrics. Now GtkEntrys have sane
6354         size.
6355
6356 2000-11-22  Alexander Larsson  <alexl@redhat.com>
6357
6358         * gdk/gdktypes.h:
6359         Add new type GdkSpan
6360         
6361         * docs/reference/gdk/gdk-sections.txt,
6362         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
6363         gdk/gdkregion.h:
6364         Implement and document gdk_region_spans_intersect_foreach.
6365
6366         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
6367         Add new file gdkrender-fb.c which contains all core
6368         rendering code.
6369         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
6370         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
6371         (optimized rectangle fillers).
6372
6373         * gdk/linux-fb/gdkdrawable-fb2.c:
6374         Move all rendering code to gdkrender-fb.c.
6375         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
6376         Use the new span intersection functions in gdk_fb_fill_spans.
6377         gdk_fb_draw_rectangle() clips filled rectangles and calls
6378         gc->fill_rectangle with the result.
6379         gdk_fb_fill_spans() gets extra argument "sorted".
6380
6381         * gdk/linux-fb/gdkevents-fb.c:
6382         Remove unused includes and defines.
6383         New function gdk_fb_get_time() to get correct time for events.
6384
6385         * gdk/linux-fb/gdkinput-ps2.c:
6386         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
6387         Make sure to set the time of all events.
6388
6389         * gdk/linux-fb/gdkmain-fb.c:
6390         Use gdk_fb_get_time ().
6391
6392         * gdk/linux-fb/gdkprivate-fb.h:
6393         New virtual GC calls: fill_span & fill_rectangle.
6394         Export gdk_fb_get_time().
6395         gdk_fb_fill_spans() gets extra argument "sorted".
6396
6397         * gdk/linux-fb/mi*.c:
6398         Use GdkSpan instead of GdkRectangle.
6399         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
6400         from XFree 4 source)
6401         
6402 2000-11-22    <jrb@redhat.com>
6403
6404         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
6405         reversing the order in an if statement will do.  Doing so managed
6406         to make the treemodelsort half work.  Other half will follow after
6407         I get the insert function fully fixed.
6408
6409 2000-11-21  Elliot Lee  <sopwith@redhat.com>
6410         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
6411         more than 2 bits. Besides, I need to implement an evil hack. :)
6412
6413 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
6414
6415         * docs/tutorial/gtk-tut.sgml: minor corrections
6416
6417 2000-11-20  Jonathan Blandford <jrb@redhat.com>
6418         * gtk/gtktreemodelsort.h: Add convertion functions to let you
6419           convert to and from relative path's and iters.
6420
6421         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
6422           testing sorting functions a bit better.  Currently broken -- will
6423           fix in morning.
6424
6425 2000-11-20  Havoc Pennington  <hp@redhat.com>
6426
6427         * gtk/gtkwidget.c: Documented a bunch of functions in here
6428         (gtk_widget_realize): Warn if you try to realize
6429         a widget with no parent that isn't a toplevel
6430         (gtk_widget_intersect): return a gboolean
6431
6432 2000-11-20  Havoc Pennington  <hp@redhat.com>
6433
6434         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
6435         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
6436         scrolling to be implemented in GDK to finish. Also, right now
6437         we just size_allocate all children on every layout change,
6438         which is pretty lame. Test commented out of testtext.c, 
6439         until it works better.
6440
6441 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
6442
6443         * gdk/linux-fb/gdkdrawable-fb2.c:
6444         Removed unused arguments from gdk_fb_drawable_get_pixel().
6445
6446         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
6447         Renamed fidur specific mouse packet data in MouseDevice to
6448         generic. Used it in ps2 mouse handling code to avoid blocking
6449         reads.
6450
6451 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
6452
6453         * demos/gtk-demo/main.c: Changed to have the list become
6454         non-italic when the demo window is destroyed through an external
6455         event (like a close button).  Doing so found three bugs in the
6456         widget.
6457
6458         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
6459
6460         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
6461         we actually set the cell.
6462
6463         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
6464
6465         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
6466         free a leaked path.  Thanks memprof.
6467
6468 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
6469
6470         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
6471         off-by-one error when destroying allocated segments
6472         on failure. (Elliot)
6473
6474 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
6475
6476         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
6477         memleaks found by Evan Martin.
6478
6479 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
6480
6481         * Released 1.3.2
6482         
6483         * NEWS: Updates for 1.3.2
6484
6485 2000-11-17  Tor Lillqvist  <tml@iki.fi>
6486
6487         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
6488         but in general for window system specific events.
6489
6490         * gtk/gtk.def
6491         * gtk/makefile.mingw.in
6492         * gtk/makefile.msc.in: Update.
6493         
6494         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
6495
6496 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
6497
6498         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
6499         distribute gtk.immodules.
6500
6501         * gtk/Makefile.am (install-data-local): Don't install the
6502         gtk.immodules file created for the uninstalled modules;
6503         instead run gtk-query-immodules after install
6504
6505 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
6506
6507         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
6508         -rpath to the right install location.
6509
6510         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
6511         -export-dynamic.
6512
6513         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
6514         properly.
6515
6516 2000-11-15  Havoc Pennington  <hp@pobox.com>
6517
6518         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
6519         patch from Mikael Hermansson to temporarily stop blinking while
6520         the user is using the keyboard to type or navigate. 
6521
6522         Also, when blinking, stay on for longer than we stay off. Also,
6523         return from start_cursor_blink if !cursor_visible, to save
6524         checking that flag all over the place before we call
6525         start_cursor_blink.
6526
6527 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
6528
6529         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
6530         only contain a "fontset" line, which is now ignored.
6531
6532         * gtk/gtkentry.c (gtk_entry_button_release): Make 
6533         double-click-to-select-word work.
6534         
6535 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
6536
6537         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
6538         Don't move back one char when we are actually at the end of the 
6539         paragraph.
6540
6541 2000-11-15  Robert Brady  <robert@suse.co.uk>
6542
6543         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
6544         'o' < 'p'.
6545         
6546         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
6547         bind_textdomain_codeset.
6548
6549         (gtk_init_check): Make the warning about translating default:LTR
6550         sterner.
6551         
6552 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
6553
6554         * **/Makefile.am : remove unecessary rules for win32-specific
6555         config-substituted targets. If you want these rules, use
6556         --enable-maintainer-mode (called automatically by autogen.sh).
6557         Stops a lot of unneccessary make-time warnings.
6558
6559         * gtk/gtktext{layout,display}.c: Factor in total width as
6560         well as screen when figuring alignment for word-wrap as well as
6561         no wrap; this is necessary to handle lines that cannot be wrapped
6562         at all.
6563
6564 2000-11-15  Havoc Pennington  <hp@redhat.com>
6565
6566         * gtk/testtext.c: Implement essential color cycling feature
6567
6568 2000-11-15  Havoc Pennington  <hp@redhat.com>
6569
6570         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
6571         when we invalidate the main window.
6572
6573         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
6574         GtkTextView will now invalidate the side windows for us when text
6575         changes.
6576
6577 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
6578
6579         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
6580         unconditionally, since we may need to update the horizontal
6581         scrollbars even if the height didn't change.
6582
6583         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
6584         the extra attrs, since some of them affect size.
6585
6586         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
6587         x_offset correctly.
6588
6589 2000-11-15  Havoc Pennington  <hp@redhat.com>
6590
6591         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
6592         don't move the first line out into the margin, instead move the
6593         whole paragraph in order to make space for the first line within 
6594         the margin
6595
6596 2000-11-15  Havoc Pennington  <hp@redhat.com>
6597
6598         * gtk/gtktextview.c (changed_handler): offset redraw rect by
6599         xoffset in addition to yoffset, so horizontal scrolling doesn't
6600         break redraws
6601
6602 2000-11-15  Havoc Pennington  <hp@redhat.com>
6603
6604         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
6605         from the cursor
6606         (render_layout_line): fix reversed test that caused weird
6607         underlines to get drawn
6608
6609 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6610
6611         * gdk/linux-fb/gdkprivate-fb.h:
6612         Fix debug macros.
6613         
6614 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6615
6616         * gdk/linux-fb/gdkprivate-fb.h:
6617         Added virtual functions set_pixel, get_color,
6618         fill_span and draw_drawable to the GC.
6619         Added global _gdk_fb_screen_gc to use instead of
6620         NULL when drawing to the screen.
6621         Added _gdk_fb_gc_calc_state() prototype.
6622
6623         * gdk/linux-fb/gdkgc-fb.c:
6624         Call _gdk_fb_gc_calc_state() on any gc state change.
6625
6626         * gdk/linux-fb/gdkglobals-fb.c:
6627         Add _gdk_fb_screen_gc
6628                 
6629         * gdk/linux-fb/gdkdrawable-fb2.c:
6630         _gdk_fb_gc_calc_state() calculates best functions
6631         for the GC state and depth.
6632         Moved bpp specialized code to separate functions.
6633         Added optimized 24 bpp AA draw_drawable.
6634
6635         * gdk/linux-fb/gdkevents-fb.c:
6636         Silence gcc warning.
6637
6638         * gdk/linux-fb/gdkimage-fb.c:
6639         Use _gdk_fb_screen_gc
6640
6641         * gdk/linux-fb/gdkwindow-fb.c:
6642         Init and use _gdk_fb_screen_gc
6643
6644         * gdk/linux-fb/mitypes.h:
6645         Remove unused types.
6646
6647 2000-11-14  Havoc Pennington  <hp@pobox.com>
6648
6649         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
6650         to pixels
6651
6652 2000-11-14  Havoc Pennington  <hp@pobox.com>
6653
6654         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
6655
6656         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
6657         unknown char, no real reason we were using a variable. 
6658         Remove gtk_text_unknown_char variable. Fix all the text widget
6659         files accordingly.
6660
6661         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
6662         since the Unicode spec seems to prefer that character for our
6663         purposes.
6664
6665 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
6666
6667         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
6668         value of g_getenv() isn't freeable, so g_strdup it.
6669
6670         * modules/input/inuktitut.c: Inuktitut input method.
6671
6672         * modules/input/Makefile.am: Build this.
6673         
6674 2000-11-14  Elliot Lee  <sopwith@redhat.com>
6675
6676         * gtk/Makefile.am: Install gtk.immodules, needed for operation
6677         of gtk programs.
6678
6679 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
6680
6681         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
6682         reversed > that was causing Home to go to end of previous line.
6683
6684         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
6685         modified-keypresses (leave for bindings.)
6686
6687         * modules/input/Makefile.am: Remove useless -export-dynamic
6688         from module LDFLAGS.
6689
6690 2000-11-14  Havoc Pennington  <hp@redhat.com>
6691
6692         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
6693         higher.
6694
6695         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
6696         account. Also, render rise, underline, background, etc. for
6697         pixbufs as well as text. Also, draw underlines one pixel higher.
6698
6699         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
6700         PangoAttribute for the rise, so it gets drawn properly. Also,
6701         add the GtkTextAppearance attribute for pixbuf/widget segments
6702         as well; we should go ahead and have rise, underline, background,
6703         stipple work for those
6704
6705         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
6706         Pango
6707
6708 2000-11-15  Tor Lillqvist  <tml@iki.fi>
6709
6710         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
6711
6712         * gtk/gtk.def: Update.
6713
6714         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
6715         included.
6716         (gtk_rc_get_im_module_file): Use run-time installation directory
6717         on Win32.
6718
6719         * gdk/win32/rc/gdk.rc: Remove.
6720         * gdk/win32/rc/gdk.rc.in: New file.
6721         * gdk/win32/rc/Makefile.am: New file
6722         * gdk/win32/Makefile.am: Corresponding changes.
6723
6724         * gtk/gtk.rc: Remove.
6725         * gtk/gtk-win32.rc.in: New file.
6726         * gtk/Makefile.am: Corresponding changes.
6727
6728         * configure.in: Corresponding changes.
6729
6730         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
6731         has a built gtkcompat.h. Developers using CVS code on Win32 can
6732         hand-edit it from gtkcompat.h.in.
6733
6734         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6735         gtkcompat.h from gtkcompat.h.win32.
6736
6737 2000-11-14  Havoc Pennington  <hp@redhat.com>
6738
6739         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6740         to default to GDK_ACTION_MOVE if the drag is within a single
6741         widget. Defaults to GDK_ACTION_COPY between widgets.
6742
6743 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6744
6745         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6746
6747         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6748
6749         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6750         srcdir != builddir
6751
6752         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6753
6754         * configure.in (GTK_VERSION): Up to 1.3.2
6755
6756         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6757         gtkimcontextxim.h
6758
6759         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6760         missing doc comment.
6761
6762 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6763
6764         * modules/linux-fb/basic.c:
6765         Use the glib iconv wrappers.
6766
6767 2000-11-13  Havoc Pennington  <hp@pobox.com>
6768
6769         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6770         still more bugs.
6771
6772         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6773         scroll the GdkWindows before realization.
6774
6775 2000-11-13  Havoc Pennington  <hp@redhat.com>
6776
6777         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6778         where GC didn't always get updated properly
6779
6780         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6781         of fonts instead of setting the entire font
6782
6783         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6784         setting entire font
6785
6786         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6787
6788         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6789         a bunch of individually-settable font attributes. You can still 
6790         use the "font" and "font_desc" args, they just set all the font
6791         attributes at once.
6792
6793 2000-11-13 Elliot Lee <sopwith@redhat.com>
6794
6795         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6796
6797 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6798
6799         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6800         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6801
6802         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6803         work better.
6804
6805 2000-11-13  Havoc Pennington  <hp@redhat.com>
6806
6807         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6808         the module file.
6809
6810         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6811         dest->language
6812
6813         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6814         settings
6815
6816         * gtk/gtktextview.c: Implement object args and setters/getters for
6817         all the aspects of the GtkTextAttributes that are not set from
6818         GtkWidget attributes. This is spacing, justification, margins,
6819         etc.
6820
6821         (gtk_text_view_set_arg)
6822         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6823         args
6824         (gtk_text_view_class_init): Add args for justify, left_margin,
6825         right_margin, indent, and tabs
6826         
6827
6828         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6829         attribute properly
6830
6831         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6832         replace with indent attribute
6833
6834         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6835         PANGO_SCALE
6836
6837         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6838         rearranging code to do that
6839         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6840         i.e. don't subtract the top_margin first, just to keep
6841         all margin-futzing in one place.
6842
6843         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6844
6845         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6846         special case of last line, Pango now handles this itself.
6847         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6848         Y coordinate
6849         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6850         (find_display_line_above): wasn't moving the byte index as it
6851         iterated over lines, so always returned byte 0. Also, port to use
6852         PangoLayoutIter.
6853         (find_display_line_below): same problem as
6854         find_display_line_above. Also, port to use PangoLayoutIter.
6855
6856 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6857
6858         * gdk/linux-fb/*.[ch]:
6859         Massive reindent to gtk+ standard. My hands hurt.
6860
6861         * gdk/linux-fb/gdkcolor-fb.c:
6862         Move GdkColorPrivateFB from inherited to windowing_data
6863
6864         * gdk/linux-fb/gdkcursor-fb.c:
6865         _gdk_cursor_new_from_pixmap made static
6866
6867         * gdk/linux-fb/gdkdnd-fb.c:
6868         GdkDragContextPrivate moved to windowing_data
6869
6870         * gdk/linux-fb/gdkdrawable-fb2.c:
6871         Removed endian.h, use glib endianness macros instead
6872         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6873         and GDK_DRAWABLE_IMPL_FBDATA
6874
6875         * gdk/linux-fb/gdkfont-fb.c:
6876         Add empty gdk_font_load(). Needed for linking of Gtk+.
6877
6878         * gdk/linux-fb/gdkimage-fb.c:
6879         Removed endian.h, use glib endianness macros instead
6880         Moved GdkImagePrivateFB to windowing_data
6881         gdk_image_new_bitmap didn't always allocate enough
6882         memory.
6883
6884         * gdk/linux-fb/gdkinput-ps2.c:
6885         Added semi-working support for MS serial mice.
6886
6887         * gdk/linux-fb/gdkprivate-fb.h:
6888         s/GdkWindowPrivate/GdkWindowObject/
6889         Removed GdkWindowPrivate typedef
6890         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6891         Removed GDK_DRAWABLE_P
6892         Move GdkColorPrivateFB from inherited to windowing_data
6893         Moved GdkImagePrivateFB to windowing_data
6894
6895         * gdk/linux-fb/gdkvisual-fb.c:
6896         Removed some unused debug code.
6897
6898         * gdk/linux-fb/gdkwindow-fb.c:
6899         Use stock cursors instead of including X headers.
6900         s/GdkWindowPrivate/GdkWindowObject/
6901
6902         * gdk/linux-fb/mitypes.h:
6903         Removed unused types.
6904
6905         * modules/linux-fb/basic.c:
6906         Use the pango fribidi wrappers.
6907
6908 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6909
6910         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6911         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6912         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6913         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6914         GEqualFunc where applicable.
6915         
6916         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6917         pango_font_description_equal as changed in pango.
6918         
6919         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6920
6921         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6922
6923         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6924
6925         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6926
6927         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6928
6929         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6930
6931         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6932         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6933
6934         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6935         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6936
6937 2000-11-12  Havoc Pennington  <hp@pobox.com>
6938
6939         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6940         dir to datadir/gtk+-2.0/demo
6941
6942         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6943         sorts of text widget and Pango font bugs. Urgh.
6944
6945         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6946
6947         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6948         tree that you should double click to see the demo. Fix 
6949         types of variables to reflect changed return values from 
6950         GtkTreeStore and GtkTreeViewColumn constructors.
6951
6952         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6953         newly-created buffer to prepare for GObject semantics
6954
6955         * gtk/testtext.c: don't leak the buffer with GObject semantics
6956
6957         * gtk/testtextbuffer.c: ditto
6958         
6959 2000-11-12  Havoc Pennington  <hp@pobox.com>
6960
6961         Rename this testgtk to gtk-demo to avoid confusion, and 
6962         install it so people can use it as a supplement to 
6963         the documentation.
6964         
6965         * demos/gtk-demo: Moved from demos/testgtk
6966
6967         * demos/testgtk: Removed
6968
6969         * configure.in: make Makefile in gtk-demo
6970         
6971         * demos/gtk-demo/Makefile.am: Install sample source to 
6972         datadir/gtk-demo (maybe there's a better place?), and 
6973         rename the binary to gtk-demo
6974         
6975         * demos/gtk-demo/main.c (load_file): Load installed sample
6976         source if source isn't found in pwd.
6977
6978 2000-11-09  Havoc Pennington  <hp@pobox.com>
6979
6980         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6981         argument to set the char displayed when visibility == FALSE
6982         (gtk_entry_create_layout): If !entry->visible, replace 
6983         all chars with the "invisible char"
6984
6985         * gtk/testgtk.c: Test the invisible_char deal
6986         
6987 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6988
6989         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6990         can't get a native font in the right encoding.
6991
6992 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6993
6994         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6995         respectively.
6996
6997 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6998
6999         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
7000         Fix warning when moving between paragraphs.
7001
7002         * gtk/gtkentry.[ch]: Change move => move_cursor, 
7003         delete => delete_from_cursor, insert => insert_at_cursor
7004
7005 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
7006
7007         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
7008
7009         * modules/input/imthai-broken.c: A Thai input method for use if
7010         Thai keys are really generating Latin1 keysyms.
7011
7012         * modules/input/Makefile.am: Build these.
7013
7014 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
7015
7016         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
7017         g_filename_{to,from}_utf8 now takes an extra parameter.
7018
7019         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
7020         strftime into UTF-8.
7021
7022         (column_from_x, gtk_calendar_paint_day_names): Support RTL
7023         calendars.
7024
7025         (gtk_calendar_paint_day_names): Draw day names in the right 
7026         place.
7027         
7028 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
7029
7030         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
7031         problem with using result of g_get_charset() backwards -
7032         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
7033
7034         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
7035         negative min_width/height and max_width/height to
7036         mean "requisition"; this allows setting a window
7037         to be user-resizable in only one direction easily.
7038
7039         * gtk/testgtk.c (create_main_window): Remove hard-coded
7040         usize - set a default size in the vertical direction.
7041
7042 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
7043
7044         * gtk/gtkrange.c: Add some missing casts. Support 
7045         2 and 3 button clicks on the arrows to mean 
7046         "move by pages" and "jump to end". (Like gtkspinbutton)
7047
7048 2000-11-12 Hans Breuer <Hans@Breuer.Org>
7049
7050         * gdk/win32/makefile.msc : reflect build module changes
7051
7052         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
7053         from GdkPixmap*, cast implementation member instead.
7054
7055         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
7056         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
7057         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
7058         more Gdi functions return value checking. 
7059         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
7060         GdkImagePrivateWin32 *.
7061
7062         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
7063         menus useable again. Add #pragma message to keep reminded on this issue.
7064         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
7065         windows. This allows to enable backing store on Win32!
7066
7067         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
7068         in drawable is of impl type. Correct specific type checks appropriate.
7069  
7070         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
7071         GDK_WINDOW_DESTROYED before allocating new resources.
7072
7073         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
7074
7075         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
7076         (gdk_window_foreign_new) initialize parent handle.
7077         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
7078
7079         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
7080         Let the GDI invalidate the window on MoveWindow call to fix scrolling
7081         problems (e.g. main buttons in testgtk). 
7082
7083 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
7084
7085         * gtk/gtkentry.c (gtk_entry_key_press): Call 
7086         gtk_widget_activate for GDK_Return.
7087
7088         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
7089         of preedit cursor position.
7090
7091 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
7092
7093         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
7094         static.
7095
7096 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
7097
7098         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
7099         out support for multiple locales; that simple doesn't
7100         work reliably with current Xlib
7101
7102         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
7103         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
7104         Add support for positioning the cursor within the preedit string.
7105
7106 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
7107
7108         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
7109         at XIM input method module.
7110
7111         * gtk/gtktextview.c: Check for bindings after passing
7112         events to im context filter.
7113
7114 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
7115
7116         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
7117         empty attribute lists properly.
7118
7119 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
7120
7121         * gtk/queryimmodules.c (main): Return non-zero exit
7122         status if errors were encountered querying any
7123         modules.
7124
7125         * modules/input/Makefile.am (moduledir): remove
7126         leftover bin program target.
7127
7128         * docs/make-todo: Fix typo in error message.
7129
7130 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
7131
7132         * configure.in: Add modules/input/Makefile
7133
7134 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
7135
7136         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
7137         don't include gtkthemes.h.
7138
7139         * gtk/testgtk.c gtk/testtext.c: Set environment variables
7140         to point
7141
7142         * gtk/Makefile.am: Add new .c and .h files, build 
7143         gtk-query-immodules and use it to create a gtk.immodules
7144         file for use of test programs.
7145
7146         * gtk/gtkpreview.c: remove extra blank line.
7147
7148 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
7149
7150         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
7151         Add the ability to add extra tables beyond the default
7152         one, and also the ability to have compose sequences 
7153         that are prefixes of other compose sequences. 
7154
7155         * gtk/gtkimcontextsimple.c: Export a preedit string which
7156         consists of possible candidates for keystrokes that have
7157         been entered but not yet committed.
7158
7159         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
7160         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
7161
7162         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
7163         Add a function to add input-method switching menu items
7164         to a menu.
7165
7166         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
7167         when switching input methods.
7168
7169         * gtk/gtkimcontextsimple.[ch]: Change the format of
7170         the compose table to allow compose tables of different
7171         lengths / sequence.
7172
7173 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
7174
7175         * gtk/gtkimmodule.[ch]: Support routines for loading
7176         GtkIMContext implementations dynamically at runtime.
7177
7178         * modules/input/imcyrillic-translit.c: A sample input
7179         method (based on GtkIMContextSimple with an extra table),
7180         which demonstrates preedit strings and the module
7181         system for input modules
7182
7183         * gtk/queryimmodules.c: Program to query the available
7184         input modules and write the results into a file.
7185          
7186         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
7187         extra config options "im_module_file" (cache file for
7188         input method modules), and "im_module_path" - path
7189         to look for modules when generating cache file.
7190
7191         This doesn't scale.
7192
7193 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
7194
7195         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
7196         generic code from gtkthemes into a new abstraction
7197         GtkModule which has the logic for implementing
7198         a loadable module which implements a number of 
7199         GObject types.
7200
7201 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
7202
7203         * gtk/gtkeditable.[ch]: Convert GtkEditable from
7204         a class into an interface  
7205         
7206         * gtk/gtkoldeditable.[ch]: Move the old editable
7207         implementation into here, so legacy widgets can
7208         still rely on the implemenation. GtkOldEditable
7209         exports GtkEditable. Make selection handling
7210         code use new text conversion functions (and
7211         handle UTF-8 as a side-effect). Use GtkClipboard
7212         for CLIPBOARD.
7213
7214         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
7215         Adopt to match above changes.
7216
7217         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
7218         avoid GtkOldEditable implementation. Restructure
7219         to reduce number of places that modify state directly.
7220         Move to GtkBindingSet. Display the preedit string.
7221         Queue recomputation of PangoLayout and scroll position
7222         to improve effiency of doing complex changes naively.
7223         Add a menu with cut/copy/paste and input method selection.
7224
7225 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
7226
7227         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
7228         to set preedit string and attributes; display preedit string by
7229         inserting string and attributes at cursor when creating the
7230         GtkTextLineDisplay.
7231
7232         * gtk/gtktextlayout.c: Move all conversions between byte
7233         positions in PangoLayout and GtkTextIter into new functions
7234         line_display_iter_to_index/index_to_iter that properly
7235         handle the preedit string.
7236
7237         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
7238         it to return const char * (eventually will end up
7239         as GCONST char *, most likely.)
7240
7241         * gtk/gtktextview.[ch]: Handle the preedit string, call
7242         gtk_im_context_reset() as necessary, add a menu to switch
7243         input methods.
7244         
7245         * gtk/gtktextlayout.[ch]: Remove useless
7246         gtk_text_layout_get_log_attrs() function.
7247
7248 2000-11-11  Tor Lillqvist  <tml@iki.fi>
7249
7250         * gdk/gdk.def
7251         * gtk/gtk.def: Update.
7252
7253         * gdk/win32/*.c: Add last argument to g_type_register_static()
7254         calls.
7255
7256         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
7257
7258         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
7259         generated by older wheel mouse drivers. Get the correct y
7260         coordinate from WM_MOUSEWHEEL messages.
7261
7262         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
7263         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
7264         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
7265         Debugging functions.
7266
7267         * gdk/win32/gdkprivate-win32.h: Declare them.
7268
7269         * gdk/win32/gdkinput-win32.h: Add declaration for
7270         gdk_input_window_destroy().
7271
7272         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
7273
7274 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
7275
7276         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
7277         function to help handle keeping things in sync.
7278
7279 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
7280
7281         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
7282         BOXED marshallers.
7283
7284         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
7285         (gtk_list_store_class_init): use the new BOXED marshallers.
7286
7287         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
7288         new_with_values to new_with_types.
7289         (gtk_tree_store_get_column_type): add this.
7290         (gtk_tree_store_class_init): use the new BOXED marshallers.
7291
7292         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
7293         mirror some POINTER marshallers.
7294
7295 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
7296
7297         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
7298         allow more interesting iterators.  Also, made the lifecycle of
7299         iterators more explicit.
7300
7301         * gtk/gtktreemodelsort.[ch]: New model for sorting.
7302
7303         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
7304         types.
7305
7306 2000-11-09  Alexander Larsson  <alexl@redhat.com>
7307
7308         * demos/testgtk/menus.c:
7309         Changes to make the new testgtk compile after
7310         gtk_menu_append was removed.
7311
7312         * gdk/linux-fb/gdkdrawable-fb2.c
7313         (gdk_fb_get_depth, gdk_fb_get_visual,
7314         gdk_drawable_impl_fb_class_init): Implement
7315         these drawable functions. Now GtkImages work again.
7316
7317         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
7318
7319         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
7320         
7321         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
7322         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
7323         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
7324         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
7325
7326 2000-11-08  Havoc Pennington  <hp@pobox.com>
7327
7328         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
7329         visible_set args, don't know where these had gone, I thought they
7330         used to be there
7331
7332         * gtk/testtext.c: Add a menu item to apply invisibility tag;
7333         now we can test the feature and see that it's totally broken.
7334
7335 2000-11-08  Havoc Pennington  <hp@pobox.com>
7336
7337         Make DND copy pixbufs and tags when source and target share a 
7338         tag table.
7339         
7340         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
7341         in-process GTK_TEXT_BUFFER_CONTENTS target
7342         (gtk_text_view_drag_data_received): Paste from
7343         GTK_TEXT_BUFFER_CONTENTS if we receive it.
7344
7345 2000-11-08  Alexander Larsson  <alexl@redhat.com>
7346
7347         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
7348         API changes.
7349
7350         * gtk/gtkmenu.c: Add support for scrolling menus.
7351         Remove gtk_menu_append/prepend/insert, these have been moved to
7352         gtkcompat.h as #defines.
7353
7354         * gtk/gtkcompat.h.in:
7355         Add compatibility #defines for gtk_menu_append/prepend/insert
7356
7357         * gtk/gtkmenu.h: Add data needed for scrolling menus.
7358         GtkMenuPositionFunc gets an extra argument push_in.
7359         gtk_menu_append/prepend/insert removed.
7360         
7361         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
7362         positioning behaviour to fit to scrolling menus.
7363
7364         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
7365         into menuitem->submeny. That is wrong, and broke torn
7366         off submenus of torn off menus, since they were unrealized
7367         when the first menu was unrealized.
7368
7369         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
7370         gtk_menu_shell_select_item() since these need to be overridden in
7371         GtkMenu.
7372
7373         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
7374         positioning behaviour to fit to scrolling menus.
7375         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
7376         the current item so that it is prelighted when the menu pops up.
7377         This is a workaround to the fact that the menu doesn't get the
7378         initial enter event (due to grabs).
7379
7380         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
7381         s/gtk_menu_append/gtk_menu_shell_append/
7382
7383         * gtk/gtknotebook.c:
7384         s/gtk_menu_insert/gtk_menu_shell_insert/
7385
7386         * gtk/testgtk.c (create_menu, create_menus):
7387         Create the first menu with 50 items so that menu scrolling
7388         can be tested.
7389         
7390         
7391         Patch from Jonathan Blandford  <jrb@redhat.com>
7392
7393         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
7394         system to handle size requests.  First, we ask what the size of
7395         the toggle is.  Then, when allocating the size, we allocate the
7396         toggle_size first.  This way we can have multiple menu-item
7397         classes w/o needing a seperate class for each.
7398
7399         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
7400         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
7401
7402         * gtk/gtkcheckmenuitem.c
7403         (gtk_check_menu_item_toggle_size_request): New function to handle
7404         the toggle size-request.
7405
7406 2000-11-07  Havoc Pennington  <hp@redhat.com>
7407
7408         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
7409         Half-ass somewhat fix this function, so that scrolling to the
7410         insertion point works. Pango hacking is in the future to really
7411         fix it.
7412
7413         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
7414         length of data, no longer used.
7415
7416         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
7417         method contents in here, get rid of destroy method
7418         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
7419         that were backward. Remove debug spew.
7420         (cut_or_copy): Make the clipboard work with insert_range to
7421         preserve tags and pixbufs, not just the primary selection.
7422
7423 2000-11-07  Havoc Pennington  <hp@redhat.com>
7424
7425         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
7426         to gtk_text_mark_get_visible
7427
7428         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
7429         bug that was generating an invalid iterator
7430
7431         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
7432         ensure_char_offsets() in front of code placing the iter in an
7433         invalid state.
7434
7435         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
7436         make override_location arg const
7437         (paste): Replace the selection if we paste into the 
7438         current selection
7439
7440         * gtk/gtkselection.h: Remove "GtkSelectioData"
7441         (struct _GtkSelectionData): move the definition here.
7442
7443         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
7444         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
7445
7446         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
7447
7448         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
7449         (gtk_text_buffer_insert_range_interactive): implement
7450         (gtk_text_buffer_get_tags): Remove, replaced by
7451         gtk_text_iter_get_tags()
7452
7453         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
7454         limit parameter, to avoid infinite linear scan.
7455         (gtk_text_iter_backward_search): Add search limit
7456         (gtk_text_iter_forward_find_char): Add search limit
7457         (gtk_text_iter_backward_find_char): Add search limit
7458
7459 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
7460
7461         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7462         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
7463         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
7464         gdk/linux-fb/gdkwindow-fb.c:
7465         use g_object_new() instead of g_type_create_instance() which
7466         is a private function for fundamental type implementations.
7467
7468         * gdk/linux-fb/gdkinput-ps2.c:
7469         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
7470         instead just store the current modifier state. Add a (somewhat broken)
7471         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
7472         Rename exported function gdk_input_ps2_get_mouseinfo to
7473         gdk_input_get_mouseinfo.
7474
7475         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
7476         gdk/linux-fb/gdkwindow-fb.c:
7477         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
7478         
7479
7480 2000-11-02  Havoc Pennington  <hp@redhat.com>
7481
7482         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
7483         use stock buttons. Should be 100% source compatible, appropriate
7484         filesel fields now point to dialog->vbox and dialog->action_area.
7485         On the bizarre side, dialog->action_area and filesel->action_area
7486         are not the same widget.
7487         (gtk_file_selection_init): Put some padding around the selection
7488         entry, so it isn't touching the GtkDialog separator.    
7489
7490         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
7491         use stock buttons, etc. Should also be source compatible.
7492         Set the dialog default title in _init not _new().
7493         
7494         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
7495         Use stock buttons; don't put a button box inside the existing
7496         dialog button box. Don't bother with push/pop colormap anymore.
7497
7498         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
7499         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
7500         for message dialog, and necessary for the font selection and color
7501         selection with help and apply buttons.
7502         
7503         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
7504         to the created button widget. Set GTK_CAN_DEFAULT on the button.
7505         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
7506         between buttons, put less padding around the action area.
7507         (gtk_dialog_run): Exit on unmap rather than on destroy. 
7508         This will also exit the loop if the widget is hidden.
7509         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
7510         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
7511         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
7512         special-case delete event.
7513
7514         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
7515         formatting
7516         
7517 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
7518
7519         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
7520         button to temporarily disable position recording in the
7521         "saved position" test.
7522
7523 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
7524
7525         * gtk/gtkthemes.c: added compat code that temporarily implements
7526         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
7527         going to be revamped by owen's upcoming GtkModule patches, but
7528         untill then people want gtk to build, right? ;)
7529
7530 2000-11-04  Havoc Pennington  <hp@pobox.com>
7531
7532         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
7533         list
7534
7535         * docs/Changes-2.0.txt: Add note about
7536         gtk_container_get_toplevels()
7537
7538         * gtk/gtktextview.h: formatting
7539         
7540         * gtk/gtktextview.c: don't start descriptions with "Returns",
7541         confuses gtk-doc
7542
7543 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
7544
7545         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
7546         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
7547
7548 2000-11-03  Havoc Pennington  <hp@redhat.com>
7549
7550         * gtk/gtktexttagtable.c: Docs
7551         (gtk_text_tag_table_size): return a signed int
7552
7553         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
7554         (gtk_text_tag_event): make the event_object a GObject
7555
7556         * gtk/gtktextview.c: Write API docs for all functions.
7557
7558         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
7559         for gtk_text_view_get_window_type() called on one of the private
7560         windows.
7561
7562         * gtk/gtktextview.c: Instead of accessing text_view->buffer
7563         directly, call get_buffer() which demand-creates a default
7564         buffer. So gtk_text_view_new() can be used to create a view with a
7565         default buffer in it, if you just want an empty text box users can
7566         put data in. Useful for GUI builders also.
7567
7568 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
7569
7570         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
7571         the charset encodign portion MUST be in lowercase.
7572         * gtk/gtkrc.az: added file for Azeri language
7573
7574 2000-11-03  Havoc Pennington  <hp@redhat.com>
7575
7576         Get widgets working on the btree/buffer side. Display of them 
7577         still doesn't work.
7578         
7579         * gtk/gtktextview.c: start implementing child widget stuff
7580
7581         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
7582
7583         * gtk/gtktextlayout.c: handle embedded widgets
7584
7585         * gtk/gtktextdisplay.c: handle embedded widgets
7586
7587         * gtk/gtktextchild.c: Implement all the child anchor goo
7588
7589         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
7590         function
7591
7592         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
7593         (insert_pixbuf_or_widget_segment): abstract out common portions of 
7594         creating a child anchor or a pixbuf segment.
7595         (gtk_text_btree_create_child_anchor): new function
7596         (gtk_text_btree_unregister_child_anchor): new function
7597
7598         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
7599         allocate_child signal on GtkTextLayout
7600
7601         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
7602         values
7603         (gtk_text_iter_get_child_anchor): new function
7604
7605         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
7606         default handler for the changed signal, which calls
7607         gtk_text_buffer_set_modified(), instead of just always emitting
7608         changed then calling set_modified() manually. I guess this is
7609         maybe more flexible. It seems logical.
7610
7611 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
7612
7613         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
7614         now.
7615
7616         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
7617
7618 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
7619
7620         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
7621         been marked static.
7622
7623 2000-11-02  Havoc Pennington  <hp@redhat.com>
7624
7625         * gtk/testgtk.c (create_labels): had a test backward
7626
7627         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
7628         fields, so the dest GC ends up with the correct clip origin, 
7629         etc. Fixes a bug where colored labels didn't redraw 
7630         properly.
7631
7632 2000-11-02  Alexander Larsson  <alexl@redhat.com>
7633
7634         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7635         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
7636         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
7637         Add last argument to t_type_register_static call.
7638         
7639         * gdk/linux-fb/gdkdrawable-fb2.c:
7640         Add last argument to t_type_register_static call.
7641         export the get_image drawable virtual function.
7642
7643         * gdk/linux-fb/gdkimage-fb.c:
7644         Add last argument to t_type_register_static call.
7645         rename gtk_image_get to _gdk_fb_get_image and
7646         export it for use by gdkdrawable-fb2.
7647
7648         * gdk/linux-fb/gdkprivate-fb.h:
7649         export _gdk_fb_get_image.
7650
7651         * gdk/linux-fb/gdkselection-fb.c:
7652         Add new api call stubs.
7653
7654         * gtk/Makefile.am:
7655         Missing ( in linux-fb part.
7656
7657         * modules/linux-fb/Makefile.am:
7658         Must link with gdk_pixbuf or get unresolved symbol.
7659
7660 2000-11-01  Havoc Pennington  <hp@pobox.com>
7661
7662         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
7663         GTK_TYPE_TEXT_ITER and BOXED marshallers
7664
7665         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
7666
7667         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
7668         
7669         * gtk/gtk-boxed.defs: add GtkTextIter
7670
7671         * gtk/gtkmarshal.list: Add marshallers for text widget that 
7672         properly use OBJECT and BOXED
7673
7674 2000-11-01  Havoc Pennington  <hp@redhat.com>
7675
7676         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
7677
7678         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
7679         before returning it. 
7680         
7681 2000-11-01  Havoc Pennington  <hp@redhat.com>
7682
7683         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7684         Clip the rectangle to be rendered to the drawable, since
7685         get_from_drawable() requires a region within the drawable
7686
7687 2000-11-01  Havoc Pennington  <hp@redhat.com>
7688
7689         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
7690         from coordinates.
7691
7692 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
7693
7694         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
7695         it isn't NULL.
7696
7697 2000-11-01  Havoc Pennington  <hp@pobox.com>
7698
7699         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
7700         on a label
7701         (gtk_label_finalize): unref the attr list if any.
7702
7703         * gtk/testgtk.c (create_get_image): close test on second click
7704         (make_message_dialog): close dialog if it exists
7705
7706         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
7707
7708         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
7709         gdk-pixbuf
7710
7711         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
7712         from Pango markup format
7713         (gtk_label_set_markup_with_accel): ditto but with accelerator
7714         parsing
7715
7716         * gtk/gtkimage.c (gtk_image_expose): reformatting.
7717
7718         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
7719         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
7720         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
7721         call gdk_window_get_origin().
7722
7723         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7724         implement GDK_PIXBUF_ALPHA_FULL
7725         
7726 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
7727
7728         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
7729         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
7730         g_signal_handlers_disconnect_matched to block/unblock and disconnect
7731         multiple handlers respectively, instead of only treating the
7732         first handler found (bug reported by owen).
7733
7734 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7735
7736         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7737
7738         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7739
7740         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7741         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7742         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7743
7744         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7745         widget.  Needs writing someday.
7746
7747         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7748         the docs.
7749
7750 2000-10-30  Havoc Pennington  <hp@redhat.com>
7751
7752         * gtk/gtktextview.h, gtk/gtktextview.c:
7753         Rename delete_at_cursor delete_from_cursor, and 
7754         move to move_cursor.
7755
7756 2000-10-30  Havoc Pennington  <hp@redhat.com>
7757
7758         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7759         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7760         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7761         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7762         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7763         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7764         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7765         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7766         gtktexttypes.h, gtktextview.c, gtktextview.h:
7767
7768         Massive reindentation and reformatting. Arg alignment and comments
7769         still need fixing in various places.
7770
7771 2000-10-30  Havoc Pennington  <hp@redhat.com>
7772
7773         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7774         to be named insert_at_cursor and delete_at_cursor so C++ can
7775         handle them.
7776
7777 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7778
7779         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7780         to get a double directory separator in case the home directory
7781         ends with one. This would cause trouble especially on Windows,
7782         where the path will be confused with the syntax for an an UNC
7783         (network share) path \\server\share\path.
7784         (gtk_rc_add_initial_default_files): Ditto.
7785
7786 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7787
7788         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7789
7790         * gtk/gtktextview.c: Use correct marshallers.
7791
7792 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7793
7794         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7795         use new iter stuff, and added all the appropriate signals et al.
7796
7797         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7798         code is internal to gtk only.
7799
7800 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7801
7802         * gtk/gtk.def
7803         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7804         glib-genmarshal etc.
7805
7806 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7807
7808         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7809         parallel builds.
7810
7811 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7812
7813         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7814
7815 2000-10-27  Robert Brady  <robert@suse.co.uk>
7816
7817         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7818         en_GB (British), ia (Interlingua).
7819
7820 2000-10-26  Havoc Pennington  <hp@redhat.com>
7821
7822         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7823
7824         Fixed output of:
7825         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7826         
7827         * gtk/gtktextsegment.c (char_segment_new): rename
7828         (_char_segment_new_from_two_strings): rename
7829         (_toggle_segment_new): rename
7830         
7831         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7832         (make_clipboard_widget): make it static
7833         (text_get_func): static
7834         (text_clear_func): static
7835
7836         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7837         static
7838         (hex_changed): make it static
7839         (hsv_changed): make it static
7840         (opacity_entry_changed): make it static
7841
7842         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7843         (toggle_segment_check_func): rename with _gtk
7844
7845         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7846         (_widget_segment_new): rename
7847         (_widget_segment_add): rename
7848         (_widget_segment_remove): rename
7849         (_widget_segment_ref): rename
7850         (_widget_segment_unref): rename
7851
7852         * gtk/gtktextmark.c (_mark_segment_new): Rename
7853         _gtk_mark_segment_new   
7854
7855 2000-10-26  Havoc Pennington  <hp@redhat.com>
7856
7857         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7858         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7859         types
7860
7861         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7862         marshaller types
7863
7864         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7865         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7866         license on these files.
7867
7868         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7869         work.
7870
7871         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7872         runtime random number different for each tree, instead of 
7873         a constant I made up.
7874
7875 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7876
7877         * gtk/Makefile.am: buncha cleanups, kludged build sources
7878         dependencies with a Makefile: oldest-source-stamp dependancy
7879         for the moment. automake is really fighting us here, with
7880         intentionally not allowing user-defined rules or dependancies
7881         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7882
7883         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7884         to public headers. tehy have a comment stating that they are
7885         "semi-public" aren't included by gtk.h and if enums popup there,
7886         they can be /*< skip >*/-ed.
7887
7888         * gtk/gtktextlayout.h: 
7889         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7890         added LGPL... <SIGH>
7891
7892 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7893
7894         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7895         GtkTreeIter.  Added iterators everywhere.
7896
7897         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7898
7899         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7900
7901         * gtk/gtktreestore.c: Changed to use the iterators.
7902
7903         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7904         iterators tomorrow.
7905
7906         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7907         iterators tomorrow.
7908
7909         * gtk/treestoretest.c: Changed to use iterators.
7910
7911         * demos/testgtk/main.c: Moved to use the new iterator system.
7912
7913 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7914
7915         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7916         localization misbehaviour.
7917
7918         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7919         a useless type without copy/free.
7920
7921         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7922         of GTK_TYPE_CTREE_NODE.
7923
7924 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7925
7926         * gtk/gtksignal.c:
7927         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7928         applicable.
7929
7930         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7931         gtk_selection_data_copy and gtk_selection_data_free
7932         do GtkSelectionData work as params in signals.
7933
7934 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7935
7936         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7937         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7938         couldn't they at least give it a non-standard name?
7939         
7940         * gtk/gtktextlayout.c: arg! yet another implementation of
7941         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7942
7943         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7944         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7945         home. now i know this _is_ a conspiracy.
7946
7947         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7948         ::state-changed.
7949
7950         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7951         (gtk_accel_group_create_add): marshaller signature fixups.
7952
7953         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7954         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7955
7956         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7957         anymore.
7958
7959 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7960
7961         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7962         due to the signal system changes, it wouldn't build currently. to
7963         be fixed soon.
7964
7965         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7966
7967         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7968         so it needs gtk_marshal_VOID__ENUM() instead of
7969         gtk_marshal_NONE__UINT().
7970
7971         * gdk/gdk*.c: adapted type registration functions.
7972
7973         * gtk/gtkbindings.c:
7974         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7975         gone.
7976
7977         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7978
7979         * gtk/gtkobject.c:
7980         (gtk_object_destroy):
7981         (gtk_object_shutdown): fixed recursion guards. basically we have to
7982         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7983         is called during ::destroy, and avoid recursion there.
7984
7985         * gtk/gtktypeutils.c:
7986         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7987         boxed_copy/boxed_free. this needs a more general solution based on a
7988         publically installed code-generator utility.
7989
7990         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7991         glib's gobject has support for that now.
7992         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7993
7994 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7995
7996         * gtk/gtksignal.[hc]:
7997         * gtk/gtkmarshal.[hc]:
7998         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7999         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
8000         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
8001         care of that.
8002
8003         * *.c: marshaller name fixups.
8004
8005         * gtk/gtkmarshal.list: added a comment briefing the format.
8006
8007 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
8008
8009         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
8010         compatibility macros here now. more specifically, most of
8011         the API is preserved (yes, _most_, nonwithstanding the
8012         following exceptions listed, the API is stil lHUGE ;)
8013         things that got removed completely:
8014         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
8015         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
8016         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
8017         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
8018         gtk_signal_remove_emission_hook().
8019         non-functional functions variants:
8020         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
8021         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
8022         not supported anymore.
8023         (gtk_signal_compat_matched): new internal function to aid
8024         implementation of the compatibility macros, it  provides
8025         functionality to block/unblock/disconnect handlers based
8026         on func/data.
8027
8028         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
8029
8030         * *.c: adaptions to new type registration API signatures.
8031
8032 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
8033
8034         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
8035
8036 2000-10-25  Robert Brady  <robert@suse.co.uk>
8037
8038         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
8039         gdk_property_delete): If window == NULL, assume the root window.
8040         (restoring the behaviour that was in 1.2).
8041         
8042         * gtk/testtext.c (save_buffer): Allow creation of new files when
8043         saving.
8044
8045         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
8046         calls to read().
8047
8048 2000-10-25  Tor Lillqvist  <tml@iki.fi>
8049
8050         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
8051
8052         * gdk/win32/gdkdrawable-win32.c
8053         * gdk/win32/gdkimage-win32.c
8054         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
8055         X11 backend.
8056
8057         * gdk/win32/gdkcc-win32.c
8058         * gdk/win32/gdkcolor-win32.c
8059         * gdk/win32/gdkfont-win32.c
8060         * gdk/win32/gdkinput-win32.c
8061         * gdk/win32/gdkmain-win32.c
8062         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
8063
8064 2000-10-24  Havoc Pennington  <hp@redhat.com>
8065
8066         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
8067         it a static function
8068
8069         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
8070         redraw text when a tag is applied to it.
8071
8072         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
8073         (gtk_text_tag_affects_nonsize_appearance): private functions to
8074         see if a tag requires various kinds of redraw/layout to be queued
8075         up.
8076
8077         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
8078
8079         * gtk/testtext.c (fill_example_buffer): Put the cursor 
8080         at the start of the buffer, so search works by default
8081
8082         * gtk/gtktextiter.c (lines_match): init match_start always
8083
8084         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
8085         function, get iter at a line + a byte index
8086
8087         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
8088         to set byte position within a line
8089         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
8090
8091 2000-10-23  Havoc Pennington  <hp@redhat.com>
8092
8093         * gtk/testtext.c: Re-enable the "find" dialog
8094
8095         * gtk/testgtk.c: Add test for gdk_drawable_get_image
8096         
8097         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
8098         the arguments to gdk_draw_drawable were in the wrong order
8099         (gdk_window_paint_init_bg): This function was ignoring the
8100         init_region, instead of clipping to it, so the entire backing
8101         pixmap was cleared on every begin_paint()
8102         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
8103         was in here again, the loop kept using the same GtkWindowPaint
8104         over and over.
8105         (gdk_window_begin_paint_region): Fix a bug where we had two
8106         x_offset instead of x_offset and y_offset
8107
8108         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
8109         before we get the image.
8110         (gdk_draw_drawable): get the composite before we draw the drawable.
8111         (gdk_drawable_real_get_composite_drawable): default
8112         get_composite_drawable implementation that returns the drawable 
8113         itself
8114
8115         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
8116         get_composite_drawable virtual function
8117
8118         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
8119         list-walking bug
8120
8121         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
8122         make this work if the source drawable is a GdkDrawableImplX11
8123         instead of a public drawable type. This is really broken; the
8124         problem is that GdkDrawable needs a virtual method get_xid(), but
8125         of course that doesn't work in practice. Enter RTTI.
8126
8127         Also, improve mismatched depth message.
8128
8129         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
8130         GdkPixmap
8131
8132         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
8133         install _gdk_x11_get_image as our implementation of get_image
8134         
8135         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
8136         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
8137
8138         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
8139         gdk_drawable_get_image
8140
8141         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
8142
8143         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
8144         get_image
8145
8146         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
8147         trailing semicolon after for loop
8148
8149 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
8150
8151         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
8152         where font_desc for widget's context lagged widget's font_desc by
8153         one step.
8154
8155 2000-10-22  Tor Lillqvist  <tml@iki.fi>
8156
8157         * gdk/win32/gdkgc-win32.c
8158         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
8159
8160         * gtk/makefile.mingw.in
8161         * gtk/gtk.def: Updates.
8162
8163         * gtk/testgtk.c: sleep() is called _sleep in MS's C
8164         library.
8165
8166         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
8167
8168         * gtk/makefile.msc: Remove
8169
8170         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
8171
8172         * gtk/Makefile.am: Add it.
8173
8174         * configure.in: Generate it.
8175
8176         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
8177         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
8178         something even if not implemented, to satisfy picky MSVC.
8179
8180         Patches by Hans Breuer:
8181         
8182         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
8183         SetBkMode() and SetTextAlign() before calling
8184         pango_win32_render().
8185
8186         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
8187         Set hcliprgn to NULL after destroying it.
8188         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
8189
8190         * gdk/win32/gdkgeometry-win32.c
8191         (_gdk_windowing_window_queue_antiexpose): More effective
8192         implementation.
8193
8194         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
8195         depth as default, not the visual's.
8196
8197         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
8198         against empty title.
8199
8200         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
8201         IMAGE_PRIVATE_DATA.
8202
8203         * gdk/win32/gdkimage-win32.c: Use it.
8204
8205 2000-10-22  Robert Brady  <robert@suse.co.uk>
8206
8207         * configure.in: Check for bind_textdomain_codeset
8208
8209         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
8210         present, make use of it.
8211
8212         Add a translatable string "default:LTR" which, if translated
8213         to "default:RTL", will cause the default direction to be
8214         Right-to-Left.
8215
8216         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
8217         direction if marked as flippable.
8218
8219         * gtk/gtkhscale.c: Mark widget as flippable.
8220         
8221 2000-10-04  Havoc Pennington  <hp@redhat.com>
8222
8223         * gtk/testgtk.c (create_buttons): create some stock buttons
8224         with the default accel group
8225         (create_image): test some new GtkImage features
8226         (make_message_dialog): test GtkMessageDialog
8227         (create_modal_window): fix someone's bizzarro indentation
8228
8229         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
8230         GTK_WIN_POS_CENTER_ON_PARENT. 
8231         Add "destroy with parent" setting, which means the window goes
8232         away with its transient parent.
8233         (gtk_window_get_default_accel_group): get the default accel group
8234         for the window.
8235         (gtk_window_set_destroy_with_parent): set/unset destroy with
8236         parent flag
8237         (gtk_window_read_rcfiles): invalidate icon set caches
8238         after reloading rcfiles 
8239
8240         * gtk/gtkenums.h (GtkWindowPosition): add
8241         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
8242         on its parent window when the dialog is mapped for the first time.
8243
8244         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
8245         a simple message dialog class
8246         
8247         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
8248         handler to emit response signal, and maybe later it would
8249         honor a hide_on_delete flag - though that isn't there yet.
8250         Set border width on the vbox to 2, so we get some padding.      
8251         Use a button box for the action area.
8252         (gtk_dialog_key_press): synthesize a delete event if Esc
8253         is pressed and the GtkWidget key press handler didn't 
8254         handle the escape key.
8255         (gtk_dialog_new_with_buttons): new function creates a dialog
8256         with some default buttons in it.
8257         (gtk_dialog_add_action_widget): add an activatable widget
8258         as a button in the dialog - you can also add a non-activatable
8259         widget by accessing the action area directly.
8260         (gtk_dialog_add_button): add a simple button - stock ID or 
8261         label - to the action area
8262         (gtk_dialog_response): emit response signal
8263         (gtk_dialog_run): block waiting for the dialog, return 
8264         the response. Override normal delete_event behavior, so that 
8265         delete_event does nothing inside gtk_dialog_run().
8266
8267         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
8268         emitted when an action widget is clicked or the dialog gets
8269         delete_event
8270
8271         * gtk/gtk.h: add gtkmessagedialog.h
8272
8273         * gtk/Makefile.am: add gtkmessagedialog.[hc]
8274
8275 2000-10-18  Havoc Pennington  <hp@redhat.com>
8276
8277         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
8278         where any number of empty lines would get skipped
8279
8280         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
8281         edge.
8282
8283         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
8284         warning about invalid iterators (explain more thoroughly)
8285         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
8286
8287         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
8288         big
8289
8290         * demos/*.c: Add error handling
8291
8292         * gtk/gtktextbuffer.c: don't modify const iterators
8293
8294         * gtk/gdk-pixbuf-loader.c: Add full error handling here
8295
8296         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
8297         on file load
8298
8299         * gtk/gtkiconfactory.c: Update to reflect addition of error
8300         handling to gdk-pixbuf loaders
8301
8302 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
8303
8304         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
8305         move to new modularized testgtk.
8306
8307 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
8308
8309         * gtk/gtktreeview.c: Draw the arrows correctly.
8310
8311         * gtk/gtktreemodel.c: Added user docs.
8312
8313         * gtk/gtk.h: remove gtktreedatalist.h.
8314
8315         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
8316         parent when generating my type.
8317
8318         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
8319         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
8320
8321 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
8322
8323         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
8324         GtkTreeModel from object to interface.
8325
8326 2000-10-16  Havoc Pennington  <hp@redhat.com>
8327
8328         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
8329         compilation
8330
8331 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
8332
8333         * gtk/gtktreeselection.c: Add API documentation to all public
8334         functions.
8335
8336         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
8337         functions.
8338
8339 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
8340
8341         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
8342         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
8343         docs to all public functions.
8344
8345         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
8346         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
8347         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
8348         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
8349         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
8350         issue.
8351
8352 2000-10-14  Robert Brady  <robert@suse.co.uk>
8353
8354         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
8355
8356 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
8357
8358         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
8359         values other then G_TYPE_STRING.
8360         * gtk/gtktreeselection.c: Minor commenting updates.
8361         * gtk/gtktreeview.c: Format updates.
8362
8363 2000-10-09  Tor Lillqvist  <tml@iki.fi>
8364
8365         * README.win32: Update.
8366
8367         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
8368         lines that had been deleted by mistake (?).
8369
8370         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
8371         also the case fg==white and bg==black (but still not randomly
8372         coloured cursors). Thanks to Wolfgang Sourdeau.
8373
8374         * gdk/win32/*.c: Silence gcc -Wall.
8375
8376         * gtk/gtk.def: Add missing entry points.
8377
8378         Fixes by Hans Breuer:
8379
8380         * gdk/makefile.msc
8381         * gdk/win32/makefile.msc: Update.
8382
8383         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
8384         some MSVC thing, presumably), cause breakpoint on failures. Add
8385         GDK_NOR case. Call g_log_set_always_fatal.
8386
8387         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
8388         should be pased by reference.
8389         
8390         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
8391         
8392         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
8393
8394         * gdk/win32/gdkevents-win32.c
8395         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
8396
8397         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
8398         implementation object.
8399
8400         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
8401         not just windows.
8402         
8403         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
8404         Use the wrapper object.
8405         
8406 2000-10-06  Havoc Pennington  <hp@redhat.com>
8407
8408         * Makefile.am (SRC_SUBDIRS): contrib subdir
8409
8410         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
8411         so it can be used in Xlib version
8412
8413         * demos/testpixbuf.c (update_timeout): error checking from 1.0
8414         tree
8415
8416         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
8417         change from 1.0 tree that returns first frame of animation
8418         if the loaded file is an animation.
8419
8420         * contrib: add new directory to hold stuff that comes with GTK+
8421         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
8422         
8423         * configure.in: add contrib/*
8424
8425 2000-10-05  Havoc Pennington  <hp@redhat.com>
8426
8427         * demos/testpixbuf-save.c: add pixbuf save test
8428
8429         * demos/Makefile.am: add testpixbuf-save.c
8430
8431 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
8432
8433         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
8434         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
8435         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
8436         * gtk/gtktreeselection.[ch]: Replaced
8437         "node_selected"/"node_unselected" signal with "selection_changed"
8438         signal.
8439
8440 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8441
8442         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
8443         tree widget.
8444
8445 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8446
8447         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
8448         drawing.
8449
8450 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
8451
8452         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
8453         Move list pointer forwards before removing item from
8454         list. (Crash reported by Salmaso Raffaele)
8455
8456         * gdk/gdkwindow.h: Remove spurious trailing ,
8457
8458         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
8459         dependencies on uninstalled libraries, sorry folks.
8460
8461 2000-10-04  Havoc Pennington  <hp@redhat.com>
8462
8463         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
8464         gtk/gtkiconfactory.c: Fix copyrights    
8465
8466         * demos/testpixbuf.c: add inline pixbuf test
8467         
8468 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
8469
8470         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
8471         Add gdk_window_iconify.
8472
8473         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
8474         (gdk_window_set_geometry_hints): Add win_gravity
8475         to geometry structure.
8476
8477         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
8478         Implement _NET_WM_PING.
8479
8480         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
8481         Set _NET_WM_PID on the client leader.
8482
8483         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
8484         Handle UTF-8 better.
8485
8486         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
8487         UTF-8 better, set _NET_WM_NAME as well. Only set
8488         icon name if it hasn't previously been explicitely 
8489         set.
8490
8491 2000-10-03  Havoc Pennington  <hp@redhat.com>
8492
8493         * gtk/testtextbuffer.c: clean up trailing whitespace,
8494         add extensive tests for tag toggle iteration.
8495         
8496         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
8497         distance
8498
8499         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8500         optimize case where the tag root is on level 1
8501         (gtk_text_line_previous_could_contain_tag): attempt to implement
8502         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
8503         functionality
8504
8505         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
8506         Implement this, though not very efficiently.
8507
8508         * gtk/gtktextiterprivate.h: reformat
8509
8510         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
8511         iterator
8512
8513         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
8514         this to properly revalidate the iterators.
8515
8516         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
8517         properly at the end of the line (and therefore on empty lines)
8518
8519         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
8520         maybe we should return a value...
8521
8522 2000-10-03  Tor Lillqvist  <tml@iki.fi>
8523
8524         * config.h.win32: Guard definition of alloca(). glib.h now handles
8525         that.
8526
8527         * gdk/gdk.def
8528         * gtk/gtk.def: Add new entry points.
8529
8530         Changes just to make GTK+ build without errors on Win32. No hope
8531         of it working in its current state, though...:
8532         
8533         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
8534         some functions from the X11 backend, just to make GTK+ build.
8535
8536         * gdk/makefile.mingw.in
8537         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
8538         number. Add new object files.
8539
8540         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
8541         GetMessageTime to get timestamp (where on X11 uses
8542         gdk_x11_get_server_time()).
8543
8544 2000-10-02  Havoc Pennington  <hp@pobox.com>
8545
8546         * gtk/gtktextview.c: text_window_* weren't static and should have
8547         been.
8548         Start work on child widgets; not yet complete, syncing to 
8549         office computer.
8550
8551         * gtk/gtktextchild.h: change this to contain a public interface,
8552         starting work on child interfaces.
8553         * gtk/gtktextchildprivate.h: move private interfaces here
8554
8555         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
8556
8557         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
8558         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
8559         gtk/gtktextmark.c: copyright notices
8560
8561         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
8562         internal functions      
8563
8564         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
8565         internal function
8566
8567         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
8568         Reformatting    
8569
8570 2000-09-30  Havoc Pennington  <hp@pobox.com>
8571
8572         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
8573         NULL start/end pointers
8574
8575         * gtk/gtktextbuffer.c: Write some docs
8576         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
8577         NULL, so you can just check whether there's a selection.        
8578
8579         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
8580         cleanup_line or segments_changed ourselves, it gets done 
8581         in unlink_segment
8582
8583         * gtk/gtktextmark.h:
8584         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
8585         
8586         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
8587
8588         * gtk/gtktextmark.c: delete some more old Tk cruft
8589
8590         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
8591         mark before removing it, so we can emit MARK_DELETED with a valid
8592         pointer.
8593         (gtk_text_buffer_mark_set): hold ref across signal emission
8594
8595         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
8596         whining about attempts to delete special marks
8597
8598         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
8599         underscore, since it's internal.
8600
8601         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
8602         now implemented in terms of iterators in gtktextiter.h
8603
8604         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
8605         New function, destructively sets contents of buffer. Also 
8606         a convenient way to clear the buffer by setting text to ""
8607
8608         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
8609         multiline string literal
8610
8611         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
8612         text changes.
8613
8614         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
8615         is not dereferenceable
8616         (gtk_text_iter_forward_lines): fix return value
8617
8618 2000-09-29  Havoc Pennington  <hp@redhat.com>
8619
8620         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
8621
8622         * gtk/gtktextview.c: Implement drag thresholding; change functions 
8623         that set border window size to have nicer name
8624         (gtk_text_view_mark_set_handler):  Fix this to have the 
8625         right signature.
8626
8627         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
8628
8629         * gtk/testtext.c: Update with API changes, put line numbers on 
8630         both sides.
8631         
8632         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
8633         with this
8634
8635         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
8636         pixbuf; delete a big block of #if 0 Tk code
8637
8638         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
8639         insert_pixmap with insert_pixbuf
8640
8641 2000-09-29  Martin Baulig  <baulig@suse.de>
8642
8643         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
8644         confusion with the GdkPixbuf of the GNOME 1.x platform.
8645
8646 2000-09-29  Havoc Pennington  <hp@pobox.com>
8647
8648         * gtk/gtktextview.c: Implement the side windows.
8649
8650         * gtk/testtext.c: Implement simple line numbering in the 
8651         left side window; seems to make scrolling sloooow. Oops.
8652         Also, cursor blink is for some reason causing redraws
8653         of the line numbers. Should investigate...
8654
8655 2000-09-28  Havoc Pennington  <hp@redhat.com>
8656
8657         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
8658         scrolling child windows, and draw focus rectangle properly.
8659         
8660         (gtk_text_view_buffer_to_window_coords):
8661         Coordinate transformation to deal with all these freaking windows
8662         and offsets
8663         (gtk_text_view_window_to_buffer_coords): transform the other way
8664
8665         * gtk/testtext.c (create_buffer): Update to match Pango API change
8666
8667         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
8668         anonymous tags
8669         (foreach_unref): don't emit remove signal from finalize, just
8670         set tag's parent to NULL
8671
8672 2000-09-26  Havoc Pennington  <hp@redhat.com>
8673
8674         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
8675         Fix some warnings       
8676
8677 2000-09-26  Havoc Pennington  <hp@redhat.com>
8678
8679         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
8680         headers into the private header list
8681
8682         * Makefile.am (pkgconfig_DATA): install pkg-config files
8683
8684         * configure.in: add pkg-config files
8685
8686         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
8687
8688         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
8689         outstanding icon caches on theme change.
8690
8691         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
8692         important types:
8693
8694         (GtkIconSource): Specification for creating a pixbuf 
8695         appropriate for a direction/state/size triplet from 
8696         a source pixbuf or filename
8697
8698         (GtkIconSet): List of GtkIconSource objects that are used to
8699         create the "same" icon (e.g. an OK button icon), and cache for
8700         rendered icons
8701
8702         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
8703         up the icon set for a given stock ID.  GTK maintains a stack of
8704         GtkIconFactory to search, and applications or libraries can add
8705         additional icon factories on top of the stack
8706         
8707         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
8708         the set of GtkIconSource specified for a given stock ID into 
8709         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
8710         RcStyle, under the specified stock ID.
8711
8712         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
8713         render_icon used to derive a GdkPixbuf from a GtkIconSource.
8714         This allows people to theme how prelight, insensitive, etc. are
8715         done.
8716
8717         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
8718         icon factories for a style, and return the resulting 
8719         icon set if any.
8720
8721         (gtk_style_render_icon): Render an icon using the render_icon 
8722         method in the GtkStyleClass.
8723
8724         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
8725         Use the style for a given widget to look up a stock ID, get the
8726         icon set, and render an icon using the render_icon method 
8727         of the style
8728
8729         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
8730         (contains information about a stock item), the built-in stock item
8731         IDs, and functions to add/lookup stock items.
8732
8733         * gtk/stock-icons/*: Stock icons that come with GTK
8734
8735         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8736         a button based on a GtkStockItem
8737         (gtk_button_new_accel): Takes a uline string and accel group, and
8738         installs the accelerator.
8739
8740         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8741         image-display widget.
8742
8743 2000-09-25  Havoc Pennington  <hp@redhat.com>
8744
8745         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8746
8747         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8748         Fix a bug when removing node data, we didn't properly 
8749         re-splice the linked list after removing the data.
8750
8751         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8752         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8753
8754         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8755
8756         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8757         for the layout from the GtkTextTag.
8758
8759         * gtk/gtktexttypes.h: delete tab and search cruft, 
8760         remove g_convert() in favor of GLib version
8761
8762         * gtk/gtktexttypes.c: remove tab implementation from here,
8763         move to Pango
8764
8765         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8766         tab stuff using new PangoTabArray from Pango
8767
8768         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8769         unused border_width stuff
8770
8771 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8772
8773         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8774         glib) and now useless utf_to_latin1() latin1_to_utf()
8775
8776         * gtk/gtktextview.[ch]: Change ::move_insert and
8777         ::delete_text action signals to ::move and ::delete;
8778         create the signals with the right enumeration type,
8779         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8780         C-v bindings, change Home, End to move to beginning/end
8781         of line, Add C-Home C-End to move to beginning/end
8782         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8783         combine ::scroll_text into ::move; use new GtkSelectionData
8784         functions to simplify DND text handling.
8785         
8786         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8787         deletion enumerations here, rename enumeration values to 
8788         be consistently plural.
8789
8790         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8791         for cut/copy/paste and primary selection.
8792
8793         * gtk/gtktextbuffer.[ch]: Remove excess time and
8794         'interactive' arguments from cut/copy/paste;
8795         rename cut to cut_clipboard, etc; remove
8796         gtk_text_buffer_get_clipboard_contents().
8797
8798         * gtk/gtktextlayout.[ch]: Add 
8799         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8800         line ends.
8801
8802         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8803         Functions to set or get a UTF-8 string on the selection
8804         data.
8805
8806         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8807         interfaces.
8808
8809         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8810         created widgets - one of these is useless if we don't.
8811
8812         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8813         a public function clear all targets registered for the
8814         widget.
8815
8816         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8817         Never call gtk_widget_realize() - that was just asking
8818         for bizarre side-effects.
8819
8820         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8821         gdk_selection_owner_set even if the widget is the
8822         same so that we reliably update the timestamp on
8823         the server.
8824
8825         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8826         gdk_x11_get_server_time() function.
8827         
8828         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8829         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8830         Add some tricky filtering on serial numbers for
8831         selection clear events to fix up long-standard
8832         race condition FIXME's in gtkselection.c.
8833
8834         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8835         routines to convert from utf8 to compound text or
8836         STRING and from a text property to UTF-8.
8837
8838         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8839         a convenience function gdk_get_current_event_time().
8840
8841         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8842         and free selection_data->data properly
8843
8844 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8845
8846         * gtk/gtkthemes.c: Remove some unecessary includes.
8847
8848 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8849
8850         * gtk/gtktextdisplay.c
8851         * gtk/gtktextlayout.c
8852         * gtk/gtktexttag.c
8853         * gtk/gtktexttag.h
8854         * gtk/testtext.c: Change the overstrike property to strikethrough,
8855         to closer match pango.
8856
8857 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8858
8859         * gtk/gtktextview.c: Fix up visibility so that focus,
8860         cursor_visible and blink interact properly.  Reenable cursor blink
8861         which had been roughly disabled. Make blink and focus
8862         properly per-view.
8863
8864         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8865         Add a flag for whether to display insertion cursor and
8866         a function to set the flag.
8867
8868         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8869         get_line_y() to get_line_yrange(), to be a bit more generally
8870         useful.
8871
8872 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8873
8874         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8875           do stop_navigating_submenu, to clear last timeout properly.
8876           Also in gtk_menu_motion_notify move ignore_enter above
8877           the conditional to make it always happen as suggested by Owen
8878
8879 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8880
8881         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8882
8883         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8884         w32api headers.
8885
8886         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8887         declarations.
8888
8889         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8890         (gdk_win32_get_colormap): A line had been deleted by mistake.
8891
8892         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8893         (gdk_event_translate): Handle more virtual keycodes to be able to
8894         generate GDK events for Control-comma, Control-period, etc.
8895
8896         * gtk/gtk.def: Add some missing entry points.
8897
8898 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8899
8900         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8901         Doc comment fixing. (Mostly non-matching parameter names.)
8902
8903         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8904         comments a little to avoid looking like a doc comment.
8905
8906         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8907         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8908         conversions be changed to GError?)
8909
8910         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8911         Move private #defines into .c file.
8912
8913         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8914         order of argument addition, remove duplicates.
8915
8916         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8917         parent class is FrameClass, not BinClass.
8918
8919         * gtk/gtk.h: Add gtkinvisible, which was missing.
8920         (It's occasionalyl useful for client apps, if seldom.)
8921
8922         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8923         #define.
8924
8925 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8926
8927         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8928         coordinates when creating window, instead of GDK-space
8929         coordinates. (Avoid BadValue on too large windows.)
8930
8931 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8932
8933         * configure.in (use_mmx_asm): Remove conftest* after use along the
8934         lines of AC_TRY_COMPILE.        
8935         
8936         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8937         of g_dirname, which is deprecated.
8938         (gtk_rc_parse_any): Removed calls to
8939         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8940
8941         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8942         Removed calls to g_hash_table_{freeze,thaw}, as they are
8943         deprecated now.
8944
8945         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8946         instead of g_basename.
8947         
8948 2000-09-04 Elliot Lee <sopwith@redhat.com>
8949         
8950         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8951         ANSI warning.
8952
8953 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8954
8955         * gtk/gtkwidget.h:  Add some documenting comments about 
8956           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8957           just as owen said on irc.
8958
8959         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8960           set HAS_DEFAULT.  Only set it if there isn't another window
8961           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8962           it if the widget is not the focused window with RECEIVES_DEFAULT.
8963           This fixes weird double default bugs in dialogs which has things
8964           call gtk_window_set_default at times.
8965
8966 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8967
8968         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8969         Nils Barth and David Santiago to improve submenu
8970         navigation. The patch does this by creating a triangular
8971         region from the point where the pointer leaves the
8972         menu to the submenu.  While the pointer is in
8973         that region and a timeout has not expired, events 
8974         that would cause the active submenu to change are
8975         ignored.
8976
8977 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8978
8979         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8980         moving a toplevel window immediately after sizing it would
8981         result in it being sized back to the old size since 
8982         impl->width, impl->height aren't updated until we hear
8983         back from the server. There is still a (longstanding) bug
8984         here that gdk_window_get_size() will give the wrong size
8985         until we do hear back.
8986
8987 2000-08-31  Havoc Pennington  <hp@redhat.com>
8988
8989         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8990         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8991         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8992         Rename GtkTextStyleValues to GtkTextAttributes
8993
8994 2000-08-31  Havoc Pennington  <hp@pobox.com>
8995
8996         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8997         for rapid testing whether an iterator is the end iterator
8998         (gtk_text_btree_new): init end line cache
8999         (gtk_text_line_is_last): use fast cached line to 
9000         see if we're the last line.
9001         (get_last_line): use cached line here too, should 
9002         speed up some random unrelated code.
9003         
9004 2000-08-30  Havoc Pennington  <hp@pobox.com>
9005
9006         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
9007         signals.
9008
9009         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
9010         delete_text signals. This allows the signals to be used for
9011         implementing undo.
9012
9013         * gtk/gtktextbuffer.c: Change signal handler signatures; 
9014         provide "interactive" argument when emitting insert_text or
9015         delete_text signal.
9016         
9017 2000-08-30  Havoc Pennington  <hp@pobox.com>
9018
9019         * gtk/gtktextbuffer.c: Docs
9020
9021 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
9022
9023         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
9024         from switch statements, since Tor removed the enumeration
9025         value.
9026         
9027         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9028         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
9029
9030 2000-08-29 Elliot Lee <sopwith@redhat.com>
9031         * */*.h: Use G_GNUC_CONST.
9032
9033 2000-08-27  Havoc Pennington  <hp@pobox.com>
9034
9035         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
9036         minor indentation fixes, inserted some FIXME about stuff I
9037         realized was broken while documenting it.
9038         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
9039         GTK convention  
9040
9041 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
9042
9043         * gtk/testgtk.c (create_styles): Fix double free of
9044         font desc.
9045
9046 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9047
9048         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
9049         
9050         * gtk/testgtk.c (create_styles): Add a test for modifying
9051         the style through gtk_widget_modify_*.
9052
9053         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
9054         a function to get the current modifier style.
9055
9056         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
9057         of the passed in GtkRcStyle instead of ref'ing it.
9058
9059         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
9060
9061 2000-08-20  Tor Lillqvist  <tml@iki.fi>
9062
9063         * gdk/gdkimage.h
9064         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
9065         shared memory image+pixmap GdkImage type, or
9066         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
9067         I am dropping that.
9068
9069         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
9070         actually call gtk_init_abi_check(), passing also
9071         sizeof(GtkWindow). Ditto for gtk_init_check(). 
9072
9073         * gtk/gtk.def
9074         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
9075         New functions, used to check that the GTK+-using code has been
9076         compiled using the correct compiler and switches. In particular,
9077         with gcc one has to use the -fnative-struct switch as GTK+ is
9078         compiled with that.
9079
9080 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
9081
9082         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
9083         ->prev fields when merging lists. (Found simultaneously
9084         by Pawel Salek and Jakub Jelinek)
9085
9086 2000-08-12  Tor Lillqvist  <tml@iki.fi>
9087
9088         * gdk/gdk.def
9089         * gtk/gtk.def: Add missing entries.
9090
9091         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
9092         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
9093
9094         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
9095         function. Dummy implementation at this point.
9096
9097         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
9098         rules. Undefine GTK_COMPILATION when compiling the test programs.
9099         
9100         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
9101
9102 2000-08-11  Tor Lillqvist  <tml@iki.fi>
9103
9104         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
9105         to convert back and forth from UTF-8 and the "system" (or "current
9106         locale") charset when necessary. Indentation/spacing cleanup.
9107
9108 2000-08-10  Havoc Pennington  <hp@redhat.com>
9109
9110         * Makefile.am (snapshot): Change the format of the snapshot
9111         version to match glib
9112
9113         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
9114         from EXTRA_DIST since it doesn't seem to exist
9115
9116 2000-08-10  Tor Lillqvist  <tml@iki.fi>
9117
9118         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
9119         version of the directory name (not the UTF-8 one) when building
9120         the path name to stat().
9121
9122 2000-08-03  Elliot Lee  <sopwith@redhat.com>
9123
9124         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
9125         PANGO_ATTR_SHAPE set.
9126
9127 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
9128
9129         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
9130         Peter Osterlund to simplify the code while keeping the
9131         functionality the same.
9132
9133 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
9134
9135         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
9136         is_viewable() test further inside the function, since removing the 
9137         window from the redraw list without clearing ->update_area
9138         was also very broken.
9139
9140 2000-08-02  Tor Lillqvist  <tml@iki.fi>
9141
9142         * configure.in: Check for <unistd.h>.
9143
9144 2000-08-01  Martin Baulig  <baulig@suse.de>
9145
9146         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
9147         to display the message that this is a development version of GTK+.
9148
9149 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
9150
9151         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
9152         was depending on widget->allocation instead of the width of text_area,
9153         which was incorrect for subclasses like GtkSpinButton.
9154
9155         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
9156         with width == 1 tests that should be width == -1.
9157
9158 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
9159
9160         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
9161         (broken, Elliot, every single window blank on X) custom code with call
9162         to gdk_window_is_viewable() which a) prevents code duplicate and
9163         b) works. 
9164
9165 2000-07-31  Elliot Lee  <sopwith@redhat.com>
9166
9167         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
9168         to get the GDK_PARENT_ROOT() macro to work.
9169         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
9170         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
9171         of, windows that aren't shown.
9172         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
9173         pointer grab stuff.
9174
9175 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
9176
9177         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
9178           s/gtk_main_iteration/g_main_iteration/
9179
9180           Did this already in change:
9181                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
9182           don't know how it got reverted.
9183
9184 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
9185
9186         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
9187         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
9188
9189         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
9190         not gdk_pixbuf.
9191
9192 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
9193
9194         * configure.in,po/{sp,sr}.po: Added Serbian files
9195
9196 2000-07-30  Tor Lillqvist  <tml@iki.fi>
9197
9198         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
9199
9200         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
9201         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
9202         GIOChannel implementation.
9203
9204         * gdk/win32/gdkinput.c
9205         * gdk/win32/gdkpango-win32.c: Update license name here, too.
9206
9207         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
9208         definition to match prototype.
9209
9210         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
9211
9212 2000-07-27  Elliot Lee  <sopwith@redhat.com>
9213
9214         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
9215         function, to allow handling image formats that cannot be detected
9216         by looking at content alone.
9217
9218 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
9219
9220         * docs/tutorial/*.gif *.jpg *.eps
9221           Update these to the same look-n-feel.
9222           Why does including images in DocBook suck so badly?
9223
9224 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
9225
9226         * gtk/gtktable.c: applied patch from Phil Thompson
9227         <phil@river-bank.demon.co.uk> that enables space settings for
9228         the last row/columns as well.
9229
9230 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
9231
9232         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
9233         updates the license headers to the GNU Lesser General Public License,
9234         as well as updating the copyright year to 2000.
9235
9236 2000-07-26  Robert Brady  <rwb197@zepler.org>
9237
9238         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
9239           and po/Makefile, was installing and looking for them under gtk20
9240           and gtk2 respectively.
9241
9242 2000-07-25  Havoc Pennington  <hp@redhat.com>
9243
9244         * gtk/testtext.c: Comment out some stuff that depends on the rest
9245         of my patches.
9246
9247 2000-07-25  Havoc Pennington  <hp@redhat.com>
9248
9249         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
9250         buffer
9251
9252 2000-07-25  Havoc Pennington  <hp@redhat.com>
9253
9254         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
9255         widget changes.
9256
9257         * gtk/gtktextview.h: To be consistent with usage of "line"
9258         throughout the API to mean "newline-terminated thingy", change
9259         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
9260         to MOVEMENT_LINE.
9261
9262         (GtkTextView): Add flags for default editability, and whether to
9263         show the cursor. Add functions to get/set that. Add 
9264
9265         (gtk_text_view_get_iter_location): new function
9266
9267         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
9268         gtktextlayout.h
9269         (g_convert): Add g_convert temporarily, will go in glib in a bit
9270         
9271         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
9272         GtkTextTagTableForeach instead of brokenly using GHFunc.
9273         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
9274
9275         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
9276         moved to public header.
9277
9278         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
9279         "invisible", since "elide" was a bad name.
9280         (gtk_text_tag_get_priority): Added
9281
9282         (GtkTextStyleValues): put this in public header, along with
9283         functions to use it.
9284
9285         * gtk/gtktextmarkprivate.h: Include more headers, since we no
9286         longer include gtktextbtree.h.
9287
9288         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
9289         gtk_text_mark_deleted
9290
9291         * gtk/gtktextlayout.h: Don't include the "really private" headers,
9292         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
9293         to make this possible. Now we only need to install
9294         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
9295         (However the Makefile.am isn't changed yet because of the
9296         logistics of merging gtk-hp-patches piecemeal)
9297
9298         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
9299         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
9300         gtk_text_iter_get_line is now used in the public API for a
9301         different purpose.
9302
9303         * gtk/gtktextiter.h: Clean up function names to be more
9304         consistent. Always call char offset "offset" and byte index
9305         "index". A "line" is always a line number. 
9306
9307         (gtk_text_iter_is_last): new function, more efficient than 
9308         the existing way to check
9309         (gtk_text_iter_is_first): new function, also more efficient
9310
9311         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
9312
9313         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
9314         gtk_text_iter_forward_char, etc.
9315
9316         (gtk_text_iter_forward_to_tag_toggle): Renamed from
9317         forward_find_tag_toggle, since this isn't a linear search
9318
9319         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
9320
9321         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
9322         New functions, search for a buffer substring.
9323
9324         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
9325         interactive and default editable (since we need to store that info
9326         until we receive the selection data).
9327
9328         Remove all the _at_char and at_line etc. versions of functions;
9329         only have iterator versions.
9330
9331         Add _interactive() versions of functions, that consider the
9332         editability of text. (FIXME add interactive flag to the 
9333         insert/delete signals per Darin's suggestion)
9334
9335         (gtk_text_buffer_get_tag_table): new function, demand-creates the
9336         tag table if necessary
9337
9338         Remove declaration of gtk_text_buffer_get_iter_from_string
9339
9340         (_gtk_text_buffer_get_btree): private/internal function, added.
9341         
9342
9343         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
9344         (gtk_text_line_is_last): new function
9345
9346 2000-07-25  Havoc Pennington  <hp@redhat.com>
9347
9348         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
9349         using GtkProgressBar. See Changes-2.0.txt for details.
9350
9351         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
9352         "pulse_step" which are the equivalent of
9353         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
9354         Implement new API.
9355         
9356         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
9357         (use_text_format) to mark whether text set on the progress bar is
9358         a format string. Deprecate entire GtkProgress interface.
9359
9360         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
9361         (gtk_progress_build_string): make this a no-op if use_text_format
9362         is FALSE
9363
9364         * docs/Changes-2.0.txt: Describe progress bar changes.
9365
9366 2000-07-25  Tor Lillqvist  <tml@iki.fi>
9367
9368         * Makefile.am: Include the build directory.
9369
9370         * configure.in: Generate build/Makefile, build/win32/Makefile,
9371         gdk/, gdk/win32/, and gtk/makefile.mingw.
9372
9373         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
9374         Add GETTEXT_PACKAGE.
9375         
9376         * gdk/gdk.def
9377         * gtk/gtk.def: Updates.
9378
9379         * gdk/gdkfont.h
9380         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
9381         need them any longer.
9382
9383         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
9384
9385         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
9386         PANGOWIN32_LIBS and gdk_pixbuf.
9387
9388         * gdk/win32: Compiles, but no doubt doesn't work at all.
9389
9390         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
9391
9392         * gdk/win32/gdkinput.c: New file, temporarily.
9393         
9394         * gdk/win32/gdkinput-win32.h: New file
9395
9396         * gdk/win32/gdkinputprivate.h: Remove.
9397
9398         * gdk/win32/gdkpango-win32.c: New file.
9399
9400         * gtk/makefile.mingw.in: New file
9401
9402         * gtk/makefile.cygwin: Removed
9403         
9404         * gtk/Makefile.am: Update accordingly.
9405
9406         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
9407         made externally visible.
9408
9409         * gtk/gtkmain.c: Use it.
9410         
9411         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
9412         is enough.
9413
9414         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
9415
9416 2000-07-24 Elliot Lee <sopwith@redhat.com>
9417         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
9418         individual backends already.
9419         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
9420         again. Yes, there really is a good reason for this, if you are using the gdkregion
9421         internals, and if you're not, why do you care?
9422         * gdk/gdkwindow.c: Fix inverted condition
9423         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
9424         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
9425         * gtk/gtkrange.c: Redraw trough when moving.
9426         * gtk/gtktypeutils.c: Fix warning by adding const cast.
9427         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
9428
9429 2000-07-23  Tor Lillqvist  <tml@iki.fi>
9430
9431         * configure.in: Check for mkstemp and sigsetjmp. Output
9432         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
9433
9434         More work on GDK for Win32. Still in an intermediate state.
9435
9436         * gdk/makefile.cygwin
9437         * gdk/win32/makefile.cygwin: Removed.
9438         
9439         * gdk/makefile.mingw.in
9440         * gdk/win32/makefile.mingw.in: New files.
9441
9442         * gdk/Makefile.am
9443         * gdk/win32/Makefile.am: Generate and distribute them.
9444
9445         * gdk/win32/gdkwindow-win32.h
9446         * gdk/win32/gdkdrawable-win32.h
9447         * gdk/win32/gdkpixmap-win32.h: New files.
9448
9449         * gdk/win32/gdkcolor-win32.c
9450         * gdk/win32/gdkcursor-win32.c
9451         * gdk/win32/gdkdrawable-win32.c
9452         * gdk/win32/gdkgc-win32.c
9453         * gdk/win32/gdkimage-win32.c
9454         * gdk/win32/gdkprivate-win32.h
9455         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
9456         Rename fields and variables called xcursor, xid, etc (these names
9457         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
9458
9459 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
9460
9461         * gtk/gtkentry.[ch]: Fix some problems with vertical
9462         alignment.
9463
9464         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
9465         char/byte confusion.
9466
9467 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
9468
9469         * gtk/gtktextview.c (changed_handler): Fix bug where
9470         redraw wasn't being done properly when height of
9471         dirty region changed.
9472
9473         * demos/Makefile.am: Remove various references to
9474         -lgmodule
9475
9476 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
9477
9478         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
9479         PangoAttrShape to reserve space for pixmaps, add 
9480         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
9481         in the display functions.
9482         
9483         * gtk/testgtk.c (create_layout): Set some more exotic
9484         scrolled window options
9485
9486         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
9487         Add function to set the shadow type of a window, to allow
9488         putting a shadow around widgets such as GtkLayout or GnomeCanvas
9489         which don't draw their own frame.
9490
9491 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
9492
9493         * docs/tutorial/package-db-tutorial.sh: New file for
9494           packaging DocBook format tutorial
9495
9496 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
9497
9498         * docs/tutorial/gtk-tut.sgml: Minor updates
9499
9500         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
9501
9502 2000-07-19  Tor Lillqvist  <tml@iki.fi>
9503
9504         * gtk/gtksignal.c: Fix C++ comment.
9505
9506         * gtk/gtkimmulticontext.c
9507         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
9508         don't return value from void functions.
9509
9510         * gtk/gtk.def: Add gtk_rc_style_unref.
9511
9512 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9513
9514         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
9515         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
9516         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
9517         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
9518         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
9519         gtk/gtktypeutils.h: Include files outside of the extern "C"
9520         block. Makes some C++ compiler happy. Reported by Denis Vakatov
9521         <vakatov@peony.nlm.nih.gov>.
9522
9523 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
9524
9525         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
9526           Completes first pass. Hurrah!
9527
9528 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
9529
9530         * docs/tutorial/gtk-tut.sgml: More clean ups.
9531
9532 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
9533
9534         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
9535         paint the background of the text area which was accidentally
9536         removed at some point.
9537
9538         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
9539           
9540          - Move most of the functionality from the theme vtable
9541            into GtkRcStyleClass and GtkStyleClass. The moved
9542            vtable functions were changed a bit in the move to
9543            work better in their new home.
9544
9545          - Get rid of the engine and engine_data fields from
9546            GtkRcStyle and GtkStyle; instead the theme
9547            engine derives theme-specific subclasses of GtkRcStyle
9548            and GtkStyle
9549
9550          - Add extra dlsym() found entry point to themes,
9551            theme_create_rc_style().
9552
9553         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
9554         in gtk_style_real_copy.
9555
9556         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
9557         to register a type associated with an engine. (The engine
9558         won't be unloaded as there is an instance of the type.)
9559
9560
9561 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
9562
9563         * docs/tutorial/gtk-tut.sgml: Clean ups.
9564
9565 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
9566
9567         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
9568           of cleaning up to do.
9569
9570 2000-07-15  Tor Lillqvist  <tml@iki.fi>
9571
9572         * gdk/testgdk.c: New file, quick hack to test backends for
9573         pixel-by-pixel correctness of the most simple graphic operations.
9574
9575 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
9576
9577         * Really release 1.3.1
9578         
9579         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
9580         include structure.
9581
9582 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
9583
9584         * Released 1.3.1
9585
9586 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
9587
9588         * gtk/gtktextlayout.c: use FALSE for size_only most
9589         of the time when calling gtk_text_layout_get_line_display()
9590         to avoid causing double reshapes when a redraw follows
9591         immediately after.
9592
9593 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
9594
9595         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
9596         appropriate region and gdk_window_process_updates() so trough
9597         updating doesn't lag behind the window being scrolled.
9598
9599         * gdk/gdkgc.c: Make parent_class pointer static.
9600          
9601 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
9602
9603         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
9604         include <string.h>.
9605          
9606         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
9607         cut-and-paste error in computing memory offset for 4 channels.
9608
9609 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
9610
9611         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
9612         gtk_rc_append_default_pixmap_path(), since it wasn't
9613         adding an interesting path and we don't have a meaningful
9614         default for this value.
9615
9616 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
9617
9618         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
9619         gtk-config to gtk-config-2.0 move gtk_.m4 to
9620         gtk-2.0.m4
9621
9622         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9623         gdk/Makefile.am demos/Makefile.am: Change 
9624         library names to libgtk-1.3.la, etc, so that we
9625         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
9626
9627         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9628         gdk/Makefile.am gdk/x11/Makfile.am
9629         Move include files into /usr/include/gtk-2.0, 
9630         /usr/lib/gtk-2.0/include/
9631          
9632         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
9633         gtk/gtkintl.h: Change package for gettext from 
9634         gtk+ to gtk20. Put hack in autogen.sh to modify
9635         po/Makefile.in.in after gettextize to make this
9636         possible.
9637
9638         * gtk+.spec: Some updates, not tested.
9639
9640         * gdk-pixbuf/Makefile.am: Move loaders into
9641         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
9642
9643         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
9644         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
9645         to THEMENAME/gtk-2.0/. Move engine directory  to
9646         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
9647         
9648 2000-07-12  Tor Lillqvist  <tml@iki.fi>
9649
9650         Win32 changes, still doesn't build though.
9651
9652         * gdk/makefile.cygwin
9653         * gdk/win32/makefile.cygwin
9654         * gtk/makefile.cygwin: Updates.
9655
9656         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
9657         default values for fg and bg pixel as X11 does (0 and 1), not
9658         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
9659         Use 0 for pen width by default (treated as 1 anyway later, but for
9660         apps that might check the value in the GdkGC).
9661         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
9662         interface to gdk_gc_predraw and _postdraw.
9663
9664         * gdk/win32/gdkwin32.h
9665         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
9666
9667         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
9668         extraneous semicolon.
9669
9670         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
9671
9672         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
9673         not the Win32 bitspixel value.
9674
9675         * gdk/win32/gdkcc-win32.c:
9676         * gdk/win32/gdkcolor-win32.c 
9677         * gdk/win32/gdkprivate-win32.h
9678         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
9679         GDK object structure.
9680
9681 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
9682
9683         * docs/tutorial/gtk_tut_12.es.sgml (name): 
9684         * docs/tutorial/gtk_tut_it.sgml (name): 
9685         * docs/tutorial/gtk_tut_fr.sgml (name): 
9686         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
9687         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
9688
9689 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
9690
9691         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
9692           small changes.
9693
9694 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
9695
9696         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
9697         a bug here, never been here and never fixed anything ;(
9698         (don't segfault if tree->root_tree is NULL, which happens prior
9699         to widget realization, but puke instead).
9700
9701 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
9702
9703         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
9704         add the necessary tokens.
9705
9706         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
9707         (gtk_rc_style_to_style): copy thicknesses.
9708         (gtk_rc_init_style): apply thicknesses.
9709         (gtk_rc_parse_style): parse xthickness and ythickness.
9710
9711         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
9712
9713         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
9714         (gdk_window_new): 
9715         (_gdk_windowing_window_init): 
9716         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
9717         (gdk_pixmap_create_from_data): 
9718         (gdk_bitmap_create_from_data): 
9719         (gdk_pixmap_new): 
9720         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9721         (gdk_image_new): 
9722         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
9723         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
9724         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
9725         (gdk_colormap_get_system): 
9726         (gdk_colormap_new): 
9727         * gdk/gdkwindow.c (gdk_window_init): 
9728         * gtk/gtkstyle.c (gtk_style_new):
9729         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
9730         * gdk/gdkpixmap.c (gdk_pixmap_init): 
9731         * gtk/gtkrc.c (gtk_rc_style_new):
9732         use g_object_new() instead of g_type_create_instance() which
9733         is a private function for fundamental type implementations.
9734
9735 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9736
9737         * configure.in: Add check for db2html
9738
9739 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9740
9741         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9742         hack to set glib_debug_objects based on gtk_debug_flags.
9743
9744 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9745
9746         * INSTALL.in: Update the Prerequisites section.
9747
9748         * Makefile.am demos/Makefile.am docs/Makefile.am
9749         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9750         gdk/linux-fb/Makefile.am: Dist fixes
9751
9752 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9753
9754         * NEWS: 10,000 foot view of 1.3.1 changes.
9755
9756 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9757
9758         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9759         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9760         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9761         gdk/x11/gdkmain-x11.c: 
9762
9763         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9764         as a return value of gdk_*_grab(). Previously, we just
9765         returned the X11 values directly.
9766
9767 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9768
9769         * gdk/x11/Makefile.am: Patch from George Lebl to 
9770         install all the headers in the right place.
9771
9772 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9773
9774         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9775           initial conversion to DocBook.
9776
9777 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9778
9779         * README.win32: Improve a bit.
9780
9781         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9782         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9783         Alt+0nnn on the numpad (used to enter characters by numeric code
9784         from current DOS or ANSI codepage) working correctly, as in other
9785         Windows apps.
9786
9787         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9788         same argument validity tests as in X11 version.
9789         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9790
9791         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9792         definitions in case missing from headers.
9793
9794         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9795         destroy the window-specific cursor.
9796         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9797         calling GetModuleHandle(NULL).
9798         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9799         with CopyCursor before setting it as the window-specific
9800         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9801         also its Windows cursor) after calling this function. Destroy any
9802         previous window-specific cursor.
9803
9804 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9805
9806         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9807         font charset is iso8859-1, not iso-8859-1.
9808
9809 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9810
9811         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9812         Use g_get_charset() instead of g_get_codeset().
9813
9814         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9815         Comment out some strdup'ing functions to keep timj
9816         happy until we finish fighting this out.
9817
9818 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9819
9820         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9821         <= width or height.
9822
9823         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9824         from 1.2 for parent/child states.
9825
9826         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9827         of typos.
9828
9829         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9830         event structures, replace with a generic axes field. Replace 
9831         deviceid/sourec with GdkDevice *device.
9832
9833         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9834         to extract particular axis use value from event. (Also
9835         can be used for normal X/Y.)
9836
9837         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9838         allow for arbitrary number of axes, namespace everything
9839         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9840         everywhere.
9841
9842         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9843         Get rid of the gdk_input_vtable setup if favor of simply
9844         defining the functions in gdkinput-none/gxi/xfree.c in
9845         a similar fashion to the way that the port structure is 
9846         done.
9847
9848         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9849         for new event structures. 
9850
9851         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9852         new device interfaces.
9853
9854 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9855
9856         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9857         set the initial text.
9858
9859         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9860         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9861         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9862         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9863
9864         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9865         pango_layout_set_font_description to simplify.
9866
9867 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9868
9869         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9870         pango_layout_set_font_description to simplify.
9871
9872 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9873
9874         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9875         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9876         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9877
9878         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9879         PANGO_PIXELS() macro.
9880
9881 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9882
9883         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9884         that returns a PangoContext owned by the widget and updated to
9885         match future changes in the widget. Also, make 
9886         gtk_widget_create_pango_layout() use this context. If we ever
9887         add a ::changed signal to PangoContext, this will make things
9888         much more convenient. 
9889
9890         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9891         in the appropriate places instead of destroying the layouts and
9892         creating new ones.
9893
9894         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9895         in a few strategic places.
9896
9897 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9898
9899         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9900         gtk_widget_size_request() on reparented child, if one. Otherwise,
9901         queue_resize() on the child never results in it getting size-requested
9902         at all.
9903
9904         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9905         in option menus, so that (with luck) people won't copy it into
9906         their apps in the future.
9907
9908         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9909         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9910         a lot of problems with changing the size of the menu's menu
9911         items after adding it to the option menu.
9912
9913         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9914
9915         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9916         the text direction for a widget changes.
9917
9918         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9919         ::direction_changed to get rid of various hacks.
9920
9921 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9922
9923         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9924         name.
9925
9926 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9927
9928         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9929         flag to the structure. Do not call XFreePixmap on pixmaps created
9930         by gdk_pixmap_foreign_new().
9931
9932 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9933
9934         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9935         value using GdkRGB functionality given GdkColormap and GdkColor.
9936         (name not final, waiting for inspiration.)
9937         
9938         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9939         set the foreground/background of a GC using the GC's colormap
9940         and GdkRGB. (name not final, waiting for inspiration.)
9941
9942         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9943         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9944
9945         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9946         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9947         purely a function of the corresponding colormap. Make
9948         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9949
9950         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9951         gdk_pixbuf_*create_from_xpm_* in terms of
9952         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9953         code.
9954
9955         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9956         advantage of the new draw_rgb_32_image_dithalign.
9957
9958         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9959
9960         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9961         on each created GC.
9962
9963         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9964
9965         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9966         which we initialize from the drawable when the GC is created,
9967         if the drawable has a colormap.
9968
9969         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9970
9971         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9972
9973         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9974
9975 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9976
9977         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9978         actually returning expose events, make sure to set
9979         the count field properly.
9980
9981         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9982         accidentally reintroced bug which always cleared
9983         the graphics_exposures value. 
9984
9985 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9986
9987         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9988
9989 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9990
9991         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9992
9993 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9994
9995         * docs/faq/gtk-faq.sgml: Start of Section 6.
9996
9997 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9998
9999         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
10000         
10001         (Fixes problem with drawing childless frames. Pointed out
10002         by and a first patch from Anders)
10003         
10004         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
10005         compute a child_allocation, even if we don't have a child.
10006
10007         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
10008         Always chain to the parent's impl, even if we don't have a child.
10009
10010 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10011
10012         * gdk/gdkrgb.c: If possible, create only a single shm segment and
10013         use multiple parts of it instead of creating a bunch of separate
10014         segments, since the maximum number of segments per system is not
10015         large. (This might be worth backporting to GTK+-1.2.x if we make a
10016         new release )
10017
10018         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
10019         structure in preparation for per-colormap GdkRGB.
10020
10021         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
10022         to False when we get EINVAL from shmget so that the caller of
10023         gdk_image_new can retry with a smaller segment size.
10024
10025 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
10026
10027         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
10028
10029 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
10030
10031         * configure.in: make the current version number 1.3.1 (binary age 0,
10032         interface age 0).
10033         
10034         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
10035         gtkcompat.h is all we want.
10036
10037         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
10038         GLib primitive types. fixed g_type_register_fundamental() argument
10039         ordering.
10040
10041         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
10042         compiles.
10043
10044         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
10045         object code cleanup, comment trigraph fixes, etc...
10046
10047 2000-06-23  Havoc Pennington  <hp@redhat.com>
10048
10049         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
10050         instead of making up a bogus name for first_para_mark
10051
10052         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
10053         0 as a context ID
10054
10055 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
10056
10057         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
10058
10059 2000-06-21  Havoc Pennington  <hp@pobox.com>
10060
10061         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
10062         we didn't check window->bg_pixmap != GDK_NO_BG.
10063
10064         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
10065         gdk-pixbuf
10066
10067 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
10068
10069         * docs/faq/gtk-faq.sgm: Move file to here.
10070           TODO: Update Makfile.am 
10071
10072 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
10073
10074         * docs/gtk-faq.sgm: Add Section 2
10075
10076 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
10077
10078         * docs/gtk-faq.sgm: New file. Start of DocBook
10079           version of the FAQ.
10080
10081 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
10082
10083         * configure.in (GDK_PIXBUF_MAJOR): Define version
10084         numbers for GDK_PIXBUF_*, as they get substituted
10085         into a header file. Need to consider versioning
10086         for gdk-pixbuf more carefully later.
10087
10088 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
10089
10090         Work with srcdir != builddir.   
10091         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
10092         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
10093         * demos/testpixbuf.c: Likewise.
10094         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
10095         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
10096         <gdk/x11/gdkx.h>.
10097         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
10098         "gdk-pixbuf.h".
10099         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
10100
10101 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
10102
10103         * TODO.xml: Change 1.4 version numbers to 2.0.
10104
10105 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
10106
10107         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
10108         fixups to GTK+ standard.
10109
10110 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
10111
10112         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
10113         gdk-pixbuf.
10114
10115         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
10116         fixups for GObject.
10117
10118         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
10119         gdk-pixbuf with GDK dependencies moved into GDK.
10120         
10121         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
10122         move gdk-pixbuf-loader here until GObject has signals.
10123
10124         * demos/: New directory of demos. Move demos from
10125         gdk-pixbuf here.
10126
10127         * demos/pixbuf-init.c: Small bit of code to check for
10128         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
10129         set GDK_PIXBUF_MODULEDIR appropriately.
10130
10131         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
10132         define which no longer makes sense.
10133
10134 2000-06-21  Havoc Pennington  <hp@redhat.com>
10135
10136         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
10137         gtk_get_default_language
10138
10139         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
10140         new function to get the default language
10141
10142         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
10143         s/gtk_text_view_style_values/gtk_text_style_values/
10144
10145         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
10146         Add a "language" field to tags.
10147
10148         (gtk_text_tag_set_arg): Fix bug in setting
10149         "bg_full_height_set" tag.
10150
10151 2000-06-21  Havoc Pennington  <hp@redhat.com>
10152
10153         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
10154         in the interfaces
10155
10156         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
10157         stuff instead when possible.
10158
10159         * gtk/gtktexttypes.h: Delete some unused constants
10160
10161         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
10162         testtextbuffer.c: use glib instead of custom unicode routines
10163
10164 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
10165
10166         * docs/es/: Removed mistakenly added generated sgml
10167
10168         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
10169         Remove outdated info files.
10170
10171         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
10172         Moved tutorial files into subdir
10173
10174         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
10175         subdir.
10176
10177         * docs/man/gtk_button.pod: Remove. (contents will be
10178         integrated into gtk-reference button page.)
10179
10180         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
10181         docs/faq/Makefile.am: Adjust for new organization
10182
10183 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
10184
10185         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
10186         not $(MKINSTALLDIRS)
10187
10188 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
10189
10190         * gtk/testgtk.c (create_text): Finish the job Elliot started
10191         of removing font setting test for text widget. (Since text widget
10192         and GdkFont are not deprecated, and cause portability problems.)
10193
10194 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
10195
10196         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
10197         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
10198         Remove use of libunicode in favor of new GLib functions.
10199
10200         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
10201         nano-x, framebuffer. The X11 include is just a hack until we get
10202         the necessary functions in gdkcolor.h, so there is no reason to
10203         add other includes of platforms.
10204
10205         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
10206         window bigger than the screen change.
10207
10208         * gtk/testgtk.c: Revert some random changes from Elliot
10209         that had no particular point and were causing testgtkrc
10210         not to function correctly.
10211         
10212         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
10213         because GdkSegment and GdkRegionBox have the same fields,
10214         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
10215         results in clearer code.
10216
10217         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
10218         gdk_input_translate_coordinates): Fix missed GdkObjectification
10219
10220 2000-06-18  Elliot Lee  <sopwith@redhat.com>
10221
10222         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
10223         * gtk/gtk{plug,socket}.h: Missed commits from previous.
10224
10225 2000-06-20  Havoc Pennington  <hp@redhat.com>
10226
10227         * modules/linux-fb/Makefile.am: Make this compile
10228         without framebuffer enabled
10229
10230         * gdk/linux-fb/Makefile.am: Add conditional to not build
10231         framebuffer unless specified in configure
10232
10233         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
10234         the size of the target instead of source if -1 was passed for
10235         width/height
10236
10237         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
10238         width/height confusion.
10239
10240 2000-06-19  Havoc Pennington  <hp@redhat.com>
10241
10242         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
10243         GDK_DRAWABLE_XID. In the future, we probably want to make it
10244         faster with G_DISABLE_CHECKS turned on.
10245
10246 2000-06-14  Havoc Pennington  <hp@redhat.com>
10247
10248         * gdk/Makefile.am: add gdkpixmap.c
10249
10250         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
10251         s/gdk_image_init/_gdk_windowing_image_init
10252
10253         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
10254         ref/unref
10255
10256         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
10257
10258         * gdk/gdkcompat.h: remove GdkWindowType compat, since
10259         GdkWindowType is now non-deprecated; 
10260         change gdk_window_get_type() compat to be
10261         gdk_window_get_window_type().
10262
10263         * gdk/gdkdnd.h: make GdkDragContext a GObject.
10264
10265         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
10266         virtual GObject. Make all functions call into the vtable.
10267         Move gdk_image_put() guts in here. Remove GdkDrawableType
10268         and gdk_drawable_get_type(), these are now GdkWindow-specific.
10269         draw_image, get_depth, get_size, set_colormap, get_colormap,
10270         get_visual added to the vtable.
10271         
10272         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
10273         GObject. Virtualize everything. 
10274         (gdk_gc_new_with_values): remove check for destroyed window,
10275         because now GdkWindow::create_gc will check this.
10276         (gdk_gc_set_values): New function to set GC values, this 
10277         was already implemented but wasn't in the header
10278
10279         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
10280
10281         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
10282         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
10283         remove _gdk_window_class; add _gdk_window_impl_get_type() and
10284         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
10285         _gdk_windowing_window_init, rename gdk_image_init to
10286         _gdk_windowing_image_init.
10287         
10288         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
10289         (gdk_draw_layout): Remove check for destroyed window, 
10290         because all the drawable methods already check it.
10291         
10292         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
10293         Add gdkpixmap.c which contains implementation of GdkDrawable
10294         virtual table (by chaining to a platform-specific implementation
10295         object).
10296         
10297         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
10298         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
10299         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
10300         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
10301         GdkColormapPrivate. 
10302
10303         * gdk/gdktypes.h: #include <glib-object.h>
10304
10305         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
10306         Move most functionality to platform-specific implementation
10307         object. GdkWindow itself now handles the backing store, then
10308         chains to the platform-specific implementation.
10309         (gdk_window_get_window_type): return GdkWindowType of the window.
10310         (gdk_window_peek_children): New routine, returns the children of 
10311         a GdkWindow
10312         (gdk_window_get_children): Was in X11-specific code and did 
10313         XQueryTree. Changed to simply return a copy of window->children; 
10314         so it can go in cross-platform code.
10315         
10316         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
10317
10318         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
10319         GdkColormap; just changed to use the new private data instead
10320         of casting to GdkColormapPrivate.
10321
10322         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
10323         gdk_cursor_new().
10324
10325         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
10326         (private data member in the GObject). 
10327         (xdnd_manager_source_filter): Function had broken 
10328         error handling, fix it (use gdk_error_trap_push).
10329
10330         * gdk/x11/gdkdrawable-x11.c: This file now implements
10331         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
10332         base class is purely for the convenience of the X port,
10333         and not part of the interface to cross-platform GDK.
10334
10335         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
10336         
10337         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
10338         specific to X, and returned by the create_gc virtual method
10339         of GdkDrawableImplX11. 
10340         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
10341         rather than gchar, this was also changed in the GdkGC vtable.
10342         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
10343         mask is 0, return immediately, instead of checking every flag.
10344         This is faster, and keeps us from segfaulting if values is NULL
10345         and the mask contains some nonzero flags.
10346
10347         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
10348         GdkWindow.
10349
10350         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
10351         GdkWindowPrivate is gone.
10352
10353         * gdk/x11/gdkim-x11.c: rename things that got renamed.
10354
10355         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
10356         remove the image_put stuff that got transferred to GdkDrawable.
10357         
10358         * gdk/x11/gdkinput.c: renamings
10359
10360         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
10361
10362         * gdk/x11/gdkpixmap-x11.c: GObject conversion
10363
10364         * gdk/x11/gdkprivate-x11.h: indentation fixes
10365
10366         * gdk/x11/gdkproperty-x11.c: renamings
10367
10368         * gdk/x11/gdkselection-x11.c: renamings
10369
10370         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
10371         implements the platform-specific "impl" object.
10372         Moved gdk_window_get_children to gdk/gdkwindow.c
10373
10374         * gdk/x11/gdkx.h: Remove all the private structs and private datas
10375         that no longer exist. Add declaration of GdkGCX11 object here.
10376         Fix all the macros to still work. 
10377
10378         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
10379         GdkDragContext from the boxed types since they are now GObjects.
10380
10381         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
10382         moved xthickness/ythickness into the instance. GtkStyleClass
10383         functions are now in the standard vtable for GtkStyle, so you have
10384         to create a GObject subclass to write a theme engine.
10385         (gtk_style_copy): fixed a leaked PangoFontDescription
10386         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
10387         can be the standard GObject function.
10388         
10389         * Throughout GTK:
10390         s/style->klass->[xy]thickness/style->[xy]thickness
10391         s/pango_layout_unref/g_object_unref/
10392
10393         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
10394         
10395         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
10396         accessing GDK internals.
10397
10398         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
10399         accessing GDK internals.
10400
10401 2000-06-18  Elliot Lee  <sopwith@redhat.com>
10402
10403         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
10404
10405         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
10406         problem by calculating event position relative to the trough
10407         rather than the slider.
10408         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
10409
10410         * gdk/gdkgc.h: Add GDK_NOR.
10411
10412         * configure.in, Makefile.am: Add modules top level dir
10413         * configure.in: Only use pangox library if building x11 target.
10414         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
10415
10416 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10417
10418         * gtk/gtkcolorsel.c: Change private class member to be named
10419         private_data throughout the file.
10420
10421         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
10422         private_data to avoid clashing with keyword.
10423
10424 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10425
10426         * gdk/gdkdnd.h: Add comment to remove warning.
10427
10428 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
10429
10430         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
10431         Byelorussian language; changed the Makefile and file names 
10432         to reflect that.
10433
10434 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
10435
10436         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
10437         rather than gdk_window_hide; this makes things work
10438         correctly if the window is programmatically hidden while
10439         iconified.
10440
10441 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
10442
10443         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
10444         cut and paste typo where wrong pixmap was being
10445         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
10446
10447 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
10448
10449         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
10450         Add helper function to compute format / bytes 
10451         relationship. Use in a couple places to fix up
10452         errors which assume 8 * format.
10453
10454         * gtk/gtkselection.c (gtk_selection_request): Use 32
10455         rather than 8 * sizeof (GdkAtom), to work correctly
10456         on Alpha.
10457
10458 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
10459
10460         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
10461         libgtk.la
10462         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
10463         versions
10464
10465         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
10466         checking macros return NULL since the function has a return value.
10467
10468 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
10469
10470         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
10471         GTK+ from building at all.
10472
10473         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
10474
10475 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
10476
10477         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
10478         gtk/Makefile.am: make it possible to configure gtk for different
10479         targets on the same platform. The library name is now 
10480         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
10481         flag. Only the x11 target compiles right now.
10482         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
10483         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
10484         * gdk/nanox/gdk*generic*: delete generic region code.
10485         * gdk/linux-fb/gdk*generic*: delete generic region code.
10486         * README.nanox: update information.
10487         
10488 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
10489
10490         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
10491         prepend not append. (Pointed out by Brett Hall.)
10492
10493 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
10494
10495         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
10496
10497 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
10498
10499         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
10500         need this later, and this makes sure that the atexit for
10501         glib gets called after that for GDK, so atexits are
10502         properly ordered for object leak checking.
10503
10504         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
10505
10506         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
10507         pango_x_shutdown_display()
10508
10509         * gtk/simple.c (main): Close window on destroy.
10510
10511 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
10512
10513         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
10514         to treat initial creation different from setting with 
10515         regards to the graphics-exposures parameter, so add a parameter
10516         indicating whether this is initial or not.
10517
10518 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
10519
10520         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
10521         to sort of work by adding an extra return_exposes arg
10522         to gdk_event_translate() - it might be better to simply
10523         deprecate the function altogether and force people to rewrite
10524         without it. gdk_window_scroll() handles most of it, and where
10525         gdk_window_scroll() doesn't work, simply redrawing more does.
10526
10527         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
10528         assertion.
10529
10530         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
10531
10532         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
10533         bunch of pretty much useless /* Print debugging info */ comments 
10534         which had drifted away from the code they were commenting.
10535
10536 2000-06-02  Havoc Pennington  <hp@pobox.com>
10537
10538         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
10539         is in working order.
10540         
10541         * gtk/testtext.c: Change to reflect anonymous mark API
10542
10543         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
10544
10545         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
10546         field, which was unused.
10547
10548         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
10549         saves some typing.
10550
10551         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
10552
10553         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
10554         flag on the insertion point and selection bound
10555
10556         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
10557         make mark-manipulation functions take a GtkTextMark* instead of a
10558         mark name.
10559         
10560         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
10561         GtkTextMarkBody; will be used to detect attempts to delete
10562         the permanent marks (insert and selection bound)
10563
10564         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
10565
10566 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
10567
10568         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
10569         flag to on.
10570
10571         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
10572         Honor DOUBLE_BUFFRED_FLAG
10573
10574         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
10575         function to set the DOUBLE_BUFFERED flag.
10576
10577         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
10578         or not exposes done on the widget should be double-buffered.
10579
10580         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
10581         to be what would be expected. (Fixes problem with a
10582         g_return_if_fail() validating a TextDirection enumeration)
10583
10584 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
10585
10586         * gtk/gtkwidget.c: Remove all references to 
10587         offscreen flag which was no longer used.
10588
10589         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
10590
10591         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
10592         for non-null label_widget->parent.
10593
10594         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
10595         which no longer was used.
10596
10597         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
10598
10599         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
10600         for null arguments.
10601
10602         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
10603         check for destroyed windows.
10604
10605 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
10606
10607         * gtk/gtkimmulticontext.c: Add a finalize method and unref
10608         the slave context there.
10609
10610         * gtk/gtkinvisible.[ch]: Make reference counting behavior
10611         identical to GtkWindow.
10612
10613 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
10614
10615         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
10616         pangox to here, so we can write them independent of rendering
10617         system, using GDK primitives.
10618
10619         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
10620         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
10621         since we have a rendering-system independent implementation in
10622         terms of draw_glyphs().
10623         
10624         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
10625         function to render a single line.
10626
10627         * gdk/x11/gdkpango.c: Move the guts of this file mostly
10628         into ../gdkpango.c, which simplifies things, since we
10629         don't have to deal with raw X gc's.
10630
10631 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
10632
10633         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
10634         get the logical attributes for a given GtkTextLine.
10635
10636 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
10637
10638         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
10639         g_locale_get_codeset() to g_get_codeset() change.
10640
10641 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
10642
10643         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
10644         descriptions.
10645
10646         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
10647         the entry.
10648
10649         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
10650         redoing (vastly simplifying) for Pango. Still needs quite
10651         a bit of work. (Size selection is currently poor. List of 
10652         predefined sizes is not a good idea, since all of these
10653         sizes won't necessarily be distinct.)
10654
10655 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
10656
10657         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
10658         CODESET results for LANG=C.
10659
10660 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
10661
10662         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
10663         which takes a stringized pango font description;
10664         ignore the older 'font' and 'fontset' declarations.
10665
10666         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
10667         field with a GdkFont derived via gdk_font_from_description(),
10668         for compatibility. (Should we just remove it entirely?
10669         Probably too much compatibility breakage, but people
10670         should be migrating to the new Pango stuff as quickly
10671         as possible.)
10672
10673 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
10674
10675         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
10676
10677 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
10678
10679         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
10680         redoing; there are some bugs in size allocation right
10681         now, the semi-existant distinction between header / day
10682         fonts was removed, but, with Pango, could actually
10683         be made functional in a nice way.
10684         
10685         * gtk/testcalender: Move calender from examples into this
10686         directory as a test program. (We really need to restrcture
10687         testgtk into a whole directory full of tests for every
10688         widget or functionality group, separated into multiple .c
10689         files.)
10690
10691 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
10692
10693         * gtk/testgtk.c (file_exists): Fix stupid typo that
10694         was keeping RC file from being loaded.
10695
10696         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
10697         RC file font code.
10698
10699 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
10700
10701         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
10702         Add function to load a GdkFont from a PangoFontDescription.
10703
10704 2000-05-29  Tor Lillqvist  <tml@iki.fi>
10705
10706         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
10707         variable should be of type GdkEventPrivate.
10708
10709 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
10710
10711         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
10712         to have any widget for the label, use a GtkLabel widget
10713         to display the text. (Based partially on a patch from
10714         Anders Carlson.)
10715
10716         (Quite a bit of code reorganization - strip 90% of the
10717         guts out of gtkaspectframe and add a single virtual
10718         func to GtkFrameClass - compute_child_allocation.)
10719
10720 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
10721
10722         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
10723         (Removed clist->row_center_offset field because caching
10724         it wasn't saving time or code, added private function
10725         _gtk_clist_create_cell_layout()).
10726
10727 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
10728
10729         * gtk/gtkaccellabel.c: Pangoized.
10730
10731         * gtk/[hv]ruler.c: Pangoized
10732
10733 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
10734
10735         * gtk/gtkfilesel.c (gtk_file_selection_init):
10736         Use gtk_clist_set_column_auto_resize() to remove need
10737         need for manual column width computations.
10738
10739 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10740
10741         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10742         ensuring Pango correctness, and considerably simplifying the
10743         code.
10744         
10745         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10746
10747         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10748         getting of numbers of lines.
10749
10750         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10751         to the actual requested width of the lable, not to the wrap
10752         width we set.
10753
10754         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10755
10756         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10757           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10758
10759         * gtk/gtktextview.c: Fix structure inheritance.
10760
10761         * gtk/gtkprogressbar.c: Pangoize.
10762
10763 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10764
10765         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10766         in a function.
10767
10768         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10769         bug with computing line tops.
10770
10771         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10772
10773 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10774
10775         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10776         and y_offset coordinates to do what we need now. (The offset between
10777         buffer and layout coordinates has been reintroduced, but is a 
10778         bit different than before.)
10779
10780         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10781         handle the adjustments ourselves, and scroll as necessary using
10782         the new gdk_window_scroll().
10783         
10784         The advantage of this is that when we are incrementally revalidating,
10785         we are essentially rearranging things around the visible portion
10786         of the screen. With the old setup, the visible portion of the
10787         screen was moved around in the layout, so scrolling and redrawing
10788         to track that caused jumping of the display. Since we now
10789         control the scrolling ourselves, we can suppress this and
10790         only redraw when things actually change.
10791
10792 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10793
10794         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10795         the region not just redisplay it after-all, since we store the
10796         cursors in the LineDisplay. (Ugly interactions here between
10797         GtkLayout and GtkTextBTree here.)
10798         
10799         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10800
10801 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10802
10803         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10804         Added function to scroll contents of a window while keeping the
10805         window constant. Works by XCopyArea or guffaw-scrolling depending
10806         on the details of how the window is set up. (guffaw-scrolling
10807         still needs to be filled in.)
10808
10809 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10810
10811         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10812         move the debugging that was tied to a global variable
10813         to that.
10814
10815         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10816
10817         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10818         validated flag, in line data instead of setting height/width to
10819         -1. This allows us to perform operations with partially invalid
10820         buffer (using the old size for invalid lines) and thus to do
10821         incremental vaidation. Keep height/width aggregates up to date
10822         when deleting text and rebalancing the tree.
10823
10824         * gtk/gtktextbtree.[ch]: Add functions validate a line
10825         (gtk_text_btree_validate_line), and to validate up
10826         to a number of pixels (gtk_text_btree_validate).
10827
10828         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10829         that indicates that something is changed and a revalidation
10830         pass is needed. Change ::need_repaint to ::changed, and
10831         make it take old and new yranges instead of a rectangle.
10832
10833         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10834         the line_data_destroy() function from 
10835         gtk_text_btree_add_view() to a virtual function in 
10836         GtkTextLayout
10837
10838         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10839         since we are handling partial repaints in a different fashion
10840         now.
10841
10842         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10843         of the selection instead of queueing a repaint on the
10844         entire widget.
10845
10846         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10847         get_selection_bounds() down to btree, make the function
10848         in buffer a wrapper around the btree function.
10849
10850         * gtk/gtktextlayout.[ch]: Add functions to check if the
10851         layout is valid and to recompute either a range of pixels
10852         aroudn a line or a certain total number of pixels.
10853
10854         * gtk/gtktextlayout.[ch]: Cache a single line display;
10855         now that we only redraw the needed portions, the hit rate
10856         for this cache is quite high.
10857         
10858         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10859         on the screen so that when re-laying-out the buffer, we can
10860         keep the same place. This requires connecting to ::value_changed
10861         on the adjustments
10862
10863         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10864         the buffer after we receive an ::invalidated signal.
10865         
10866 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10867
10868         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10869         to max of allocation and layout size, not just to the
10870         layout size.
10871
10872         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10873         Invalidate window so it gets redrawn properly.
10874
10875         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10876         to mean the entire window.
10877
10878         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10879         into public header.
10880
10881 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10882
10883         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10884         to get the name of a mark.
10885
10886         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10887         to find the paragraph from a y position.
10888
10889 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10890
10891         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10892         nodes have width/height >= 0, not > 0.
10893
10894 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10895
10896         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10897         Add a size_only flag, so when we only need the size, we don't create
10898         useless appearance attributes.
10899
10900         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10901         duplicate setting of font description.
10902
10903         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10904
10905 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10906
10907         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10908         EXTRA_DIST. It does not work well when the file that
10909         everything depends on is not in the tarball.
10910
10911 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10912
10913         * gtk/testgtk.c: Some hacks and fixes so that it basically
10914         works when not sitting in the GTK+ build tree.
10915
10916 2000-05-03  Havoc Pennington  <hp@redhat.com>
10917
10918         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10919         Properly determine the ordering of the tag root and the current
10920         line within the tree. Previous algorithm only worked if the tag
10921         root's immediate parent was the common root of both the current
10922         line and the tag root.
10923
10924 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10925
10926         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10927         alignment.
10928
10929         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10930         the widget text directional dynamically.
10931
10932         * gtk/gtktextview.[ch]: Added functions to get and set default
10933         wrap mode.
10934
10935 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10936
10937         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10938         in cursor location computation.
10939
10940 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10941
10942         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10943         vadjusment values properly when layout gets smaller.
10944
10945         * gtk/gtktextview.c (need_repaint_handler): Areas being
10946         passed in are far completely inaccurate, and sometimes
10947         too small, so, for now, just queue a redraw on the
10948         whole visible region.
10949
10950 2000-04-25  Havoc Pennington  <hp@redhat.com>
10951
10952         * gtk/gtktextbtree.c (summary_destroy): new function to 
10953         destroy tag summary nodes
10954         (gtk_text_line_next_could_contain_tag): this function was 
10955         totally broken if the line passed in wasn't below the tag
10956         root. Fix it.
10957         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10958         "wildcard" case, we have to do a linear scan. Blah.
10959         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10960         we have to do the linear scan
10961         (tag_removed_cb): When a tag is removed from the tag table, 
10962         remove the GtkTextTagInfo node from the btree.
10963         (gtk_text_btree_spew): Implement the spew function, for 
10964         our debugging pleasure.
10965
10966 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10967
10968         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10969         a problem with referring to the wrong buffer.
10970
10971         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10972
10973         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10974         font description to gtk_style_new() - otherwise things
10975         don't work without a .gtkrc file.
10976
10977         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10978         tags table if we create it ourself, too.
10979
10980         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10981         it was conflicting with XKB modifiers.
10982
10983         * gtk/gtktextview.[ch]: Add simple support for 
10984         GtkIMContext.
10985
10986 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10987
10988         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10989         with deletion from last commit.
10990
10991 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10992
10993         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10994         in the context from the current locale.
10995         
10996         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10997         context, not hardcoded value.
10998
10999         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
11000         not logical.
11001
11002 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11003
11004         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
11005         attributes - that doesn't handle partial-glyph selection
11006         properly. Instead use new pango_layout_line_get_x_ranges()
11007         functionality to draw the selection.
11008
11009         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
11010         now properly handles out-of-range coordinates.
11011
11012         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
11013
11014         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
11015         public.
11016
11017         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
11018         for paragraphs opposite to the base direction of the widget.
11019
11020         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
11021
11022         * gtk/gtktextlayout.c: Don't split segments on marks, since that
11023         causes Arabic words to reshape as you cursor through.
11024
11025         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
11026         cursor position when moving vertically with the arrow keys and
11027         scrolling with page-up/page-down. (Arrow keys save only the X,
11028         scrolling saves both X and Y.)
11029
11030         This means you can line-up / line-down or page-up / page-down
11031         without losing your place, and also that moving vertically
11032         with the cursor keys keeps the same X position, not the same
11033         character count:
11034
11035         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
11036         arrow keys move by display lines, not paragraphs.
11037
11038 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11039
11040         * gtk/gtklayout.c: Make sure that the bin window is at least
11041         as big as the allocation. (Should we also make sure that the
11042         bin window is big enough to completely cover widget->window?)
11043
11044         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
11045         function to get the onscreen rectangle.
11046
11047         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
11048         for offsets in window coordinates.
11049
11050 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
11051
11052         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
11053         confusion.
11054
11055         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
11056         from the widget direction.
11057
11058         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
11059         Add a "direction" attribute.
11060
11061         * gtk/gtktextview.c: global s/tkxt/text_view/.
11062
11063         * gtk/testtext.c: Added long block of text in Arabic, to test out
11064         the direction attributes. (Some problems with the shaping system
11065         for arabic become obvious - like the fact the cursor splits words
11066         into unjoined pieces.)
11067
11068 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
11069
11070         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
11071
11072         * gtk/gtktextlayout.c: Fix up alignment.
11073
11074         * gtk/testtext.c: Add some tests for centering, wrapping.
11075
11076 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
11077
11078         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
11079         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
11080         If we wrote GTK+-specific layout-render function this could just replace
11081         the draw_layout() operation in the vtable.
11082
11083         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
11084         pango_layout_get_cursor_pos() and use that function.
11085
11086         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
11087         is a non-static symbol.
11088
11089         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
11090         with gtk_text_btree_find_line_by_y()
11091
11092         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
11093         renderer that handles GtkTextAppearance attributes.
11094
11095         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
11096
11097           - Move the values in the style that don't affect geometry into a
11098             GtkTextAppearance structure.
11099           - Change underline to take a PangoUnderline and "font" a string
11100             representation of a font description
11101           - Add a "font_desc" attribute which takes a FontDescription structure.
11102
11103         * gtk/gtktextlayout.[ch]:
11104
11105           - Get rid of the display-line list per each line. Instead, we
11106             generate, on demand, a GtkTextLineDisplay structure which]
11107             contains a PangoLayout * and other necesary information
11108             (offsets, cursor locations) for displaying a paragraph.
11109           - Get rid of the code to wrap lines, create display chunks,
11110             etc. Instead, we just go through a paragraph and convert
11111             it into the necessary inputs to a PangoLayout.
11112           - Implement a new attribute type, GtkTextAttrAppearance. This
11113             holds a GtkTextAppearance, and is used to pass colors, 
11114             stipple, etc, through from the layout to the display without
11115             having to use lots and lots of individual attributes.
11116           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
11117             in terms of PangoLayout functions.
11118         
11119         * gtk/gtktextview.c: 
11120          
11121           - Handle passing the necessary PangoContext to the layout
11122           - Some fixups in painting to deal with the automatic backing store
11123             and offsetting of GTK+-1.4
11124           - Add a style_set handler so that the default style reacts
11125             properly to theme changes.
11126         
11127         * gtk/gtktext?*.[ch]: Random code-style fixes.
11128
11129         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
11130
11131 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
11132
11133         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
11134         in original form preparatory to Pango-ization and gdkimcontext-ization.
11135
11136 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
11137
11138         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
11139         so that we can derive from gtkimcontext in language bindings properly.
11140
11141 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
11142
11143         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
11144         Add a compose table including (almost) all the compose combinations
11145         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
11146         data in the XIM implementation.
11147
11148         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
11149         Moved functions to convert keyvalues from and to unicode here from
11150         the win32 port and made them public.
11151
11152 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11153
11154         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
11155
11156 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
11157
11158         * gtk/gtkimcontext.[ch]: Base class for new input context system
11159
11160         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
11161         the real input context implementation to be loaded from modules
11162         and switched on the fly.
11163
11164         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
11165         context that just does direct keysymbol => unicode translation.
11166
11167         * gtk/gtkentry.[ch]: Start switching editing over to using
11168         GtkInputContext. (No handling of preedit yet.)
11169
11170 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
11171
11172         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
11173         many substitutions. (klass should not be subsituted.)
11174
11175 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
11176
11177         * configure.in: Add checks for Pango
11178
11179         * configure.in docs/Makefile.am: Add test for sgml2html
11180         and allow 'make dist' without building html, but print out
11181         warnings in that case. (For making snapshots)
11182
11183         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
11184         Add Pango libraries and C flags
11185
11186         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
11187         Add function (gdk_draw_layout) to draw a pango layout.
11188
11189         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
11190         for getting Pango contexts for GDK.
11191
11192         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
11193
11194         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
11195         editing.
11196
11197         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
11198         keysym => unicode translations. More languages can be added
11199         here, but real input-method support is needed.
11200
11201         * docs/Changes-1.4.txt: Added note about entry behavior.
11202         
11203         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
11204         to set the reading direction for a widget and the global direction.
11205         Add test which allows toggling the global direction. Two private
11206         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
11207
11208         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
11209           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
11210
11211         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
11212
11213         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
11214         underlining now handled by Pango.
11215
11216         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
11217         to RCStyle and Style. (Having both this and the old font name and GdkFont 
11218         is temporary.)
11219
11220         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
11221         convenience functions for creating contexts and layouts for widgets.
11222
11223         * gtk/testgtk.c: Enhance label tests with multilingual labels.
11224
11225 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
11226
11227         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
11228         titles to be active, even if they aren't visible.
11229         (gtk_clist_column_titles_passive):  Ditto.
11230
11231 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
11232
11233         * gtkmenu.c:
11234         * gtkmenu.h:
11235         * gtktypeutils.h: Spelling/grammar fixes in comments.
11236
11237 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
11238
11239         * gdk/nanox/*.h: add missing header files.
11240
11241 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
11242
11243         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
11244         send_event to TRUE.
11245         (gtk_drawing_area_size): queue a resize.
11246
11247 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
11248
11249         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
11250         the handlers, also invalidate them. bug nailed down by Karl Nelson
11251         <kenelson@ece.ucdavis.edu>.
11252
11253 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
11254
11255         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
11256         "(nil)" foundries, patch from Grigorios Magklis.
11257
11258         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
11259         on non-available fonts, based on a patch by Grigorios Magklis
11260         <maglis@cs.rochester.edu>.
11261
11262 2000-05-18  Elliot Lee  <sopwith@redhat.com>
11263
11264         * gdk/x11/gdkregion-generic.c: If a region does not have any
11265         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
11266         instead of GDK_OVERLAP_RECTANGLE_IN.
11267
11268 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
11269
11270         * gtk/gtklayout.c (gtk_layout_map): Remove references to
11271         OFFSCREEN, as it is no longer necessary.
11272
11273 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
11274
11275         * gtk/gtkcolorsel.c: Patch from David Santiago
11276         <mrcooger@cyberverse.com> to change things so that the 
11277         indicator of the active palette entry is done independently,
11278         not via the focus, since it should always be visible.
11279
11280 2000-05-17  Tor Lillqvist  <tml@iki.fi>
11281
11282         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
11283         refcount leaks as in the X11 backend.
11284
11285         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
11286         cosmetics.
11287
11288         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
11289         backend. Add _gdk_windowing_window_destroy().
11290
11291         * gtk/gtkcolorsel.c: Include correct backend-specific header.
11292         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
11293         either, but these probably do exist on nanox?)
11294         
11295         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
11296         which isn't necessarily defined by <math.h>.
11297
11298         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
11299         ancestry past GtkObject.
11300
11301         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
11302         from DLL on Win32.
11303
11304         * gtk/gtk.def: Update corresponding to recent changes.
11305
11306         * gtk/makefile.{cygwin,msc}: Updates.
11307
11308 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
11309
11310         * docs/Changes-1.4.txt: A bit of editing.
11311
11312         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
11313         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
11314         to clear the update area for the window, and clear it
11315         when hiding a window.
11316
11317         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
11318         if window destroyed.
11319
11320         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
11321
11322         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
11323         gdk_window_destroy() to the generic code, since there was a lot of 
11324         window-system-independent logic it in. Add a function:
11325         
11326          _gdk_window_destroy() 
11327
11328         to the internal API to destroy a window without unreferencing it.
11329         Add a function:
11330
11331          _gdk_windowing_window_destroy()
11332
11333         That does the windowing-system-dependent part of destroying 
11334         the window.
11335
11336 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
11337
11338         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
11339
11340 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
11341
11342         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
11343         Make gtk_widget_shape_combine_mask() keep a reference count on
11344         the pixmap since it keeps it around.
11345
11346 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
11347
11348         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
11349         leak.
11350
11351         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
11352         leak with event filters.
11353
11354 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
11355
11356         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
11357         signal handlers with the right data arguments. (Fixes
11358         some warnings when a widget was repeatedly set as a drag
11359         destination.)
11360
11361         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
11362         window so we can avoid avoid setting the DND properties on the
11363         toplevel window repeatedly.
11364
11365 2000-05-13  Tor Lillqvist  <tml@iki.fi>
11366
11367         * gdk/win32/gdkwin32.h: Define more message types missing from
11368         mingw headers.
11369
11370         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
11371         call gdk_window_destroy_notify(). It was never called. This
11372         probably meant that the GdkWindow was never freed. Thanks Owen for
11373         noticing (!).
11374
11375         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
11376         window as destroyed before calling DestroyWindow(). DestroyWindow()
11377         causes a call to the window procedure (gdk_WindowProc), which
11378         calls gdk_event_translate(), which calls
11379         gdk_window_destroy_notify(), which gets confused unless the window
11380         is set as destroyed.
11381
11382         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
11383         this function to indicate it's win32 only. Put inside #ifdef
11384         G_ENABLE_DEBUG.
11385
11386         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
11387         debugging function. (gdk_event_translate:) Add a default branch
11388         that uses the above function to print debug messages with all
11389         Windows messages symbolically.
11390
11391         * gdk/win32/gdkprivate-win32.h: Declare it, and
11392         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
11393
11394 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
11395
11396         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
11397         public header file.
11398
11399 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
11400
11401         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
11402
11403         * gtk/gtktext.c: made the adjustments no-construct args, simply
11404         provide default adjustments.
11405         (gtk_text_destroy): release adjustments.
11406
11407         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
11408         adjustment argument non-construct.
11409
11410         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
11411         instead of in finalize.
11412         (gtk_progress_get_text_from_value): 
11413         (gtk_progress_get_current_text): 
11414         (gtk_progress_set_value): 
11415         (gtk_progress_get_percentage_from_value): 
11416         (gtk_progress_get_current_percentage): 
11417         (gtk_progress_set_percentage): 
11418         (gtk_progress_configure): ensure an adjustment is present.
11419
11420 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
11421
11422         * gtk/gtkcolorsel.[hc]:
11423         * gtk/gtkcolorseldialog.[hc]:
11424         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
11425         their parent implementation, use bit fields for boolean values, don't
11426         create unused widgets, usage of glib types, braces go on their own
11427         lines, function argument alignment, #include directives etc. etc. etc..
11428
11429         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
11430
11431 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
11432
11433         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
11434
11435         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
11436         of NULL.
11437
11438         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
11439         to freed data.
11440         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
11441
11442         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
11443         to NULL when the toplevel is getting destroyed.
11444         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
11445         (gtk_menu_destroy): 
11446         (gtk_menu_init): store the information of whether we have to
11447         readd the initial child ref_count during destruction in a new
11448         GtkMenu field needs_destruction_ref_count.
11449
11450         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
11451         here, those reading: learn from my mistake! ;)
11452         in order for set_?adjustment to support a default adjustemnt if
11453         invoked with an adjustment pointer of NULL, the code read (pseudo):
11454         if (v->adjustment) unref (v->adjustment);
11455         if (!adjustment) adjustment = adjustment_new ();
11456         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
11457         now imagine the first unref to actually free the old adjustment and
11458         adjustment_new() creating a new adjustment from the very same memory
11459         portion. here, the latter comparision will unintendedly fail, and
11460         all hell breaks loose.
11461         (gtk_viewport_set_hadjustment):
11462         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
11463         after unreferencing it.
11464
11465         * gtk/gtkcontainer.[hc]: removed toplevel registration
11466         functions: gtk_container_register_toplevel(),
11467         gtk_container_unregister_toplevel() and
11468         gtk_container_get_toplevels() which had wrong semantics
11469         anyways: it didn't reference and copy the list.
11470
11471         * gtk/gtkwindow.c: we take over the container toplevel registration
11472         bussiness now. windows are registered across multiple destructions,
11473         untill they are finalized. the initial implicit reference count
11474         users are holding on windows is removed with the first destruction
11475         though.
11476         (gtk_window_init): ref & sink and set has_user_ref_count, got
11477         rid of gtk_container_register_toplevel() call. add window to
11478         toplevel_list.
11479         (gtk_window_destroy): unref the window if has_user_ref_count
11480         is still set, got rid of call to
11481         gtk_container_unregister_toplevel().
11482         (gtk_window_finalize): remove window from toplevel list.
11483         (gtk_window_list_toplevels): new function to return a newly
11484         created list with referenced toplevels.
11485         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
11486
11487         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
11488         adjustment a non-construct arg.
11489         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
11490         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
11491         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
11492
11493         * gtk/gtkrange.c: added some realized checks.
11494         (gtk_range_destroy): get rid of the h/v adjustments in the
11495         destroy handler instead of finalize. remove timer.
11496         (gtk_range_get_adjustment): demand create adjustment.
11497
11498         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
11499         we simply create them on demand now and get rid of them in
11500         the destroy handler.
11501         (gtk_viewport_destroy): get rid of the h/v adjustments in the
11502         destroy handler instead of finalize.
11503         (gtk_viewport_get_hadjustment): 
11504         (gtk_viewport_get_vadjustment): 
11505         (gtk_viewport_size_allocate): demand create h/v adjustment
11506         if required.
11507
11508         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
11509         gtk_widget_real_destroy () functionality.
11510         (gtk_widget_real_destroy): reinitialize with a new style, instead
11511         of setting widget->style to NULL.
11512
11513 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
11514
11515         * gtk/gtkcalendar.c:
11516         * gtk/gtkbutton.c: ported _get_type() implementation over to
11517         GType, either to preserve memchunks allocation facilities,
11518         or because Gtk+ 1.0 GtkTypeInfo was still being used.
11519
11520         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
11521         over. prepare for ::destroy to be emitted multiple times.
11522         removed reference tracer magic. chain into GObjectClass.shutdown()
11523         to emit ::destroy signal.
11524
11525         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
11526         fundamental.
11527
11528         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
11529         cludge.
11530
11531         * gtk/gtksocket.c:
11532         * gtk/gtkplug.c:
11533         * gtk/gtklayout.c:
11534         * gtk/gtklabel.c:
11535         * gtk/gtkargcollector.c:
11536         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
11537         not being a fundamental anymore, and to work with the new
11538         type system (nuked fundamental type varargs clutter).
11539
11540         * gtk/*.c: install finalize handlers in the GObjectClass
11541         part of the class structure.
11542         changed direct GTK_OBJECT()->klass accesses to
11543         GTK_*_GET_CLASS().
11544         changed direct object_class->type accesses to GTK_CLASS_TYPE().
11545
11546         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
11547         GType. made most of the GTK_*() type macros and Gtk* typedefs
11548         simple wrappers around macros and types provided by GType.
11549         most notably, a significant portion of the old API vanished:
11550         GTK_TYPE_MAKE(),
11551         GTK_TYPE_SEQNO(),
11552         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
11553         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
11554         GTK_TYPE_ARGS,
11555         GTK_TYPE_CALLBACK,
11556         GTK_TYPE_C_CALLBACK,
11557         GTK_TYPE_FOREIGN,
11558         GtkTypeQuery,
11559         gtk_type_query(),
11560         gtk_type_set_varargs_type(),
11561         gtk_type_get_varargs_type(),
11562         gtk_type_check_object_cast(),
11563         gtk_type_check_class_cast(),
11564         gtk_type_describe_tree(),
11565         gtk_type_describe_heritage(),
11566         gtk_type_free(),
11567         gtk_type_children_types(),
11568         gtk_type_set_chunk_alloc(),
11569         gtk_type_register_enum(),
11570         gtk_type_register_flags(),
11571         gtk_type_parent_class().
11572         replacements, where available are described in ../docs/Changes-1.4.txt.
11573         implemented compatibility functions for the remaining API.
11574
11575         * configure.in: depend on glib 1.3.1, use gobject module.
11576
11577 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
11578
11579         * TODO.xml: Various updates to current status.
11580
11581 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
11582
11583         * gtk.m4: Print out version when test succeeds.
11584
11585 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
11586
11587         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
11588         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
11589         
11590         (Original triangle color selector from Simon Budig
11591         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
11592         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
11593         Santiago <mrcooger@cyberverse.com>)
11594
11595         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
11596         out into a separate widget.
11597
11598         * gtk/testgtk.c: Add some checkbuttons for toggling palette
11599         and opacity controls.
11600
11601 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
11602
11603         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
11604         snuck in prematurely.
11605
11606 2000-05-07  Tor Lillqvist  <tml@iki.fi>
11607
11608         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
11609         had deleted a ! operator by mistake, which caused
11610         GDK_SELECTION_CLEAR events never to be generated, which caused
11611         only the first copy to the clipboard from an gtkeditable to
11612         actually cause a copy to the Windows clipboard.
11613
11614 2000-05-06  Tor Lillqvist  <tml@iki.fi>
11615
11616         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
11617         compilation, too. Current mingw gcc distributions include the
11618         necessary headers. Also the necessary IIDs are now in mingw
11619         headers/libraries, and own definitions unnecessary.
11620
11621         More hacking on OLE2 DND, still doesn't work though, and thus
11622         ifdeffed out.
11623
11624         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
11625         here, too.
11626
11627 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
11628
11629         * gdk/nanox/*: nano-X port work in progress.
11630         * gdk/simple.c: simple test for Gdk.
11631         * README.nanox: notes about the port: read this first!
11632         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
11633         with nano-X.
11634
11635 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
11636
11637         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
11638         gdk_window_clear() into common code, implement in terms of
11639         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
11640         not redirected to the backing rectangle.
11641
11642 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11643
11644         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11645         EXTRA_DIST. It does not work well when the file that
11646         everything depends on is not in the tarball.
11647
11648 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
11649
11650         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
11651         with recursion where process_updates() is called from
11652         an expose handler. (GtkTextView is highly broken in
11653         doing this, but it should work, so it is a nice test
11654         case.)
11655
11656 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11657
11658         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
11659         handle the case where updates are queued during processing of
11660         updates.
11661
11662 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11663
11664         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
11665         window is on gdk_display - use that instead of segfaulting.
11666
11667 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
11668
11669         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
11670         broken and require an empty arg, give it to them.
11671
11672 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
11673
11674         * gtk/gtklabel.h: indentation fixes.
11675
11676 2000-05-02  Tor Lillqvist  <tml@iki.fi>
11677
11678         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
11679         draw too narrow or too low arcs, they seem to fail, at least with
11680         some display drivers.
11681
11682         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
11683
11684         Large changes to the Win32 backend, partially made necessary by
11685         the changes to the backend-independent internal
11686         structures. Attempts to implement similar backing store stuff as
11687         on X11. The current (CVS) version of the Win32 backend is *not* as
11688         stable as it was before the no-flicker branch was merged. A
11689         zipfile with that version is available from
11690         http://www.gimp.org/win32/. That should be use by "production"
11691         code until this CVS version is usable. (But note, the Win32
11692         backend has never been claimed to be "production quality".)
11693
11694         * README.win32: Add the above comment about versions.
11695
11696         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
11697
11698         * gdk/gdk.def: Update.
11699
11700         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
11701         presumably be replaced by some more better mechanism as 1.4 gets
11702         closer to release shape.
11703
11704         * gdk/makefile.{cygwin,msc}: Update.
11705
11706         * gdk/win32/*.c: Correct inclusions of the backend-specific and
11707         internal headers. Change code according to changes in these. Use
11708         gdk_drawable_*, not gdk_window_* where necessary.
11709
11710         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
11711         our old DND.
11712
11713         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
11714         to interpret single characters as UTF-8. Thanks to Hans Breuer.
11715         Use correct function name in warning messages.
11716
11717         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
11718         GSourceFuncs gdk_event_prepare and gdk_event_check.
11719         (gdk_event_get_graphics_expose): Do implement, use
11720         PeekMessage. Thanks to Hans Breuer.
11721         (event_mask_string): Debugging function to print an GdkEventMask.
11722         (gdk_pointer_grab): Use it.
11723
11724         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
11725         (old) book I used claimed was Hangul actually is CJK Unified
11726         Ideographs Extension A. Also, Hangul Syllables were missing.
11727         Improve logging.
11728
11729         * gdk/win32/gdkgc-win32.c: Largish changes.
11730
11731         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
11732         g_win32_getlocale() from GLib, and not setlocale() to get current
11733         locale name.
11734
11735         * gdk/win32/gdkprivate-win32.h
11736         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11737         gdkwin32.h, similarily as in the X11 backend.
11738
11739         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11740         assignment was used instead of equals in if test. Thanks to Hans
11741         Breuer.
11742
11743         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11744         the X11 version.
11745
11746         * gdk/win32/makefile.{cygwin,msc}
11747         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11748         path to the Win32 headers that works also with the mingw compiler.
11749
11750         * gtk/gtkstyle.c: Include <string.h>.
11751
11752 2000-04-26  Havoc Pennington  <hp@redhat.com>
11753
11754         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11755         replacing the broken gtk_label_get ()
11756
11757 2000-04-15  Havoc Pennington  <hp@pobox.com>
11758
11759         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11760         this keeps scanner scripts from getting confused.
11761
11762         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11763         data, rather than void
11764
11765 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11766
11767         * gtk/gtkclist.c (gtk_clist_motion)
11768         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11769         with is_hint FALSE, get x and y from the event. They used to be
11770         used uninitialised. The Win32 backend never sends motion events
11771         marked as hints. This for instance fixes the annoying file and
11772         font selector behaviour in the Win32 version.
11773
11774 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11775
11776         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11777         gtk_private_n_signals variables, they are used by some software,
11778         sigh.
11779
11780         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11781         installation directory from the Registry, where the installer
11782         should have put it.
11783
11784 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11785
11786         * gdk/x11/Makefile.am: Fix problem with installation directory for
11787         gdkx.h
11788
11789         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11790         <mrcooger@cyberverse.com> so that when selecting menus with the
11791         mouse, the first item will not be selected, but when selecting
11792         with an accelerator, or navigating left-right on a menubar with
11793         the menus popped up, the first item will be selected.
11794
11795 2000-04-05  Dan Damian  <dand@dnttm.ro>
11796
11797         * configure.in: Added "ro" to ALL_LINGUAS.
11798
11799 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11800
11801         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11802         indentation.
11803
11804         * Makefile.am (EXTRA_DIST): Fix typo.
11805
11806         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11807         to catch gdkconfig.h
11808
11809         * gtk/gtkitemfactory.c: Added FIXME.
11810
11811 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11812
11813         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11814         s/return_if_fail/return_val_if_fail/g and add a return value.
11815
11816 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11817
11818         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11819         merge slipup.
11820
11821         * gdk/gdkinput.h: Fix missing line from merge.
11822
11823 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11824
11825         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11826         instead of gdkprivate.h.
11827
11828 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11829
11830         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11831         parent class to correctly be GtkDialogClass.
11832
11833 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11834
11835         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11836         toplevel windows and their immediate children by their parents,
11837         since the size of toplevel windows is out of our immediate
11838         control and we don't get any real benefit from trying to track
11839         this size for clipping.
11840
11841         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11842         for input_only windows.
11843
11844         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11845         to fix some hacks and make sure that we don't try to set the
11846         background of input only windows.
11847
11848 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11849
11850         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11851         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11852         stuff that we've traditionally exposed.
11853
11854         * gdk/**.c: Use gdkinternals.h where appropriate.
11855
11856         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11857         not include gdkprivate-x11.h, move all stuff of conceivable public
11858         interest into gdkx.h; keep all really private stuff in
11859         uninstalled header gdkprivate-x11.h.
11860
11861         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11862         image->image_put on windows through a new function _gdk_window_draw_image()
11863         to allow us to do backing store for images. (Sort of ugly)
11864
11865         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11866         contexts locally so that we can offset them properly when drawing 
11867         onto backing pixmaps.
11868
11869         * gdk/gdkinput.h: Reindented
11870
11871         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11872         pixmap or color for the window, so we can properly initialize
11873         our double-buffer pixmaps, and also so that we temporarily set
11874         a background of None while scrolling.
11875
11876         * gdk/gdkregion.h: Revise region boolean operators to have an
11877         interface that is actually convenient - switch from creating new
11878         regions on every op, to "methods" that modify existing regions
11879         (A = A OP B). 3 argument forms which allow dest == src, would also
11880         be possible, but the current interfaces seem to map nicely
11881         onto what needs to be done. (There is quite a lot of region
11882         code in GDK now.)
11883
11884         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11885         operator.
11886
11887         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11888         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11889         to 32 bit coordinates, modify it to be mostly GTK+ style
11890         and to have interfaces that match gdkregion.h.
11891
11892         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11893         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11894         create a backing pixmap and redirect all drawing to
11895         that backing pixmap until a matching gdk_window_end_paint().
11896
11897         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11898         Create a special drawable class for GtkWindow's that 
11899         redirects the drawing to the backing pixmap as necessary
11900         and then calls the real operations in _gdk_windowing_window_class.
11901
11902         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11903         Store invalid region for each window. Generate expose events for invalid
11904         region in an idle. This replaces both the expose compression
11905         and the redrawing queuing in GTK+. It is both more efficient and
11906         simpler than either one individually and far more so then the
11907         combination.
11908
11909         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11910         Emulate 32 bit coordinates for windows with 16 bit coordinates
11911         by offsetting drawing, guffaw scrolling techniques and
11912         mapping/unmapping child windows as necessary.
11913
11914         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11915         where, when invalid regions are processed, the region is stored,
11916         and if expose events come in that are detectably duplicate
11917         the processed exposes (by comparison of event serial numbers),
11918         the stored region is subtracted out of those exposes.
11919
11920         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11921         regions newly exposed when scrolling or resizing windows.
11922         This, combined with forcing processesing of queued invalidated
11923         regions, gives nice flicker-free scrolling.
11924
11925         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11926         invalidated regions after every scroll.
11927
11928         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11929         emulation in GDK. Its, for all practical purposes just a
11930         GtkViewport/GtkFixed hybrid now.
11931
11932         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11933         (16-bit) structures as necessary instead of just casting.
11934
11935         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11936         in terms of the structures from gdkregion-generic.c, using appropriate
11937         offsets from GDK to X11 coordinates. Cache clip mask and
11938         origin and ts origin locally and only flush to the server
11939         when drawing, to avoid constantly setting and resetting these
11940         values when offsetting GC's for scrolling and backing pixmaps.
11941
11942         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11943
11944         * gtk/gtkcontainer.c: Call process_all_updates at end
11945         of resizing to reduce flicker. (Avoids having redraw
11946         lag arbitrarily behind resize under some circumstances)
11947
11948         * gtk/gtkentry.c: Remove old backing store code, and simply take
11949         advantage of the new backing store capabilities of GDK.
11950
11951         * gtk/gtkmain.c: Simple implementation of widget backing
11952         store - simply push a paint while handling each expose.
11953         (Should really be configurable widget for widget.)
11954         
11955         * gtk/gtkwidget.c: Remove all the old complicated redraw
11956         code, and simply invalidate the GDK windows from
11957         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11958         debugged complexity ... gone to the winds.)
11959
11960         Remove all the code for suppressing expose events while
11961         resizes are pending; this isn't needed since the invalid
11962         areas won't be processed until after the resizes are
11963         processed, since they are in a lower priority idle.
11964
11965 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11966
11967         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11968         and height of dest rectangle for non-intersecting rectangles.
11969
11970 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11971
11972         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11973         for GdkRectangle.
11974
11975 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11976
11977         * gdk/gdk{events,image,private,types,window}.h
11978          gdk/x11/gdkinputprivate.h: Change all coordinates
11979          from int16 to int. Also, Change width and height from
11980          unsigned to signed to avoid all the stupid C 
11981          signedness bugs.
11982
11983 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11984
11985         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11986         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11987         Add some more detailed checking.
11988
11989         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11990         New function to retrieve the depth of a drawable.
11991
11992         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11993         field, reorder fields to save memory. 
11994
11995 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11996
11997         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11998         of the background image instead of scaling the background down to
11999         a line.
12000
12001         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
12002         which temporarily set slider to wrong size.
12003
12004         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
12005         queue_clear().
12006
12007 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
12008
12009 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
12010
12011         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
12012
12013 2000-03-17  Tor Lillqvist  <tml@iki.fi>
12014
12015         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
12016         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
12017
12018         * gdk/win32/gdkfont-win32.c
12019         * gdk/win32/gdkproperty-win32.c
12020         * gdk/win32/gdkselection-win32.c
12021         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
12022         now declared such.
12023
12024 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
12025
12026         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
12027
12028 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
12029
12030         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
12031         is called without trapping X errors.
12032
12033 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
12034
12035         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
12036         way into the fontset lists.
12037
12038 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
12039
12040         * gtk/gtkthemes.h: add extern "C" scope.
12041
12042 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
12043
12044         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
12045         to make appends to the list constant. (gtk-guy-990901-0.patch)
12046
12047 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
12048
12049         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
12050         for the typename hash table.
12051
12052 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
12053
12054         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
12055         to make sure we never divide by zero. 
12056         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
12057
12058 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
12059
12060         * gtk/gtkfontsel.c: Apply patch from
12061         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
12062         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
12063
12064         Also, some cleanups in atom handling.
12065
12066 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
12067
12068         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12069         not GtkWidget.
12070
12071 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
12072
12073         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
12074         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
12075         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
12076         more guint wrap-around bugs before going to bed.
12077
12078 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
12079
12080         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
12081         guint wrap arounds in allocation.width.
12082
12083         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
12084         process untill we fit the allocation given.
12085
12086 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
12087
12088         * gtk/gtkwidget.c:
12089         (gtk_widget_unrealize): guard widget access with ref/unref
12090         around signal emission.
12091         (gtk_widget_hide): same here, but also check its destroyed
12092         state before queueing a resize.
12093
12094 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
12095
12096         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
12097         of gtk_default_insensitive_bg as insensitive base color.
12098
12099         * gtk/gtktext.c (gtk_text_style_set): set the background color according
12100         to the widget's state.
12101         (gtk_text_realize): same here.
12102         (gtk_text_state_changed): same here.
12103         (draw_bg_rect): compare background color against base[] from
12104         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
12105
12106 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
12107
12108         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
12109         grabs are active, unless a delete event is send to the toplevel
12110         of the currently grab holding widget.
12111
12112 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
12113
12114         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
12115         debugging g_print's.
12116
12117 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
12118
12119         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
12120         ever make the scrolled-window requisition ever depend on the 
12121         visibility state of the scrollbars for the AUTOMATIC policy. 
12122         This breaks the GTK+ requisition model, and causes loops.
12123
12124 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
12125
12126         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
12127         the default font to avoid problems with XFree86-4.0 where the
12128         default charset is iso10646-1, not iso8859-1.
12129
12130 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
12131
12132         * acinclude.m4
12133         * config.guess
12134         * config.sub
12135         * ltconfig
12136         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
12137
12138         * gtk/Makefile.am: minor cosmetic consistency tweak
12139
12140 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
12141
12142         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
12143         the activate_time to 0, so that we handle a quick
12144         press/release press/release properly and don't suppress
12145         the second release. (Red Hat bug #7545)
12146
12147 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
12148
12149         * gtk/gtkctree.c (row_delete):
12150         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
12151         bugs with destruction notifier, *always* update internal
12152         structures *before* calling user code.
12153
12154 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
12155
12156         A few more fixes for bug #5487, #2051, #2677.
12157         * gtk/gtkclist.c : 
12158         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
12159         not GDK_BUTTON_PRESS.
12160         (resync_selection): resync only if selection_mode is
12161         GTK_SELECTION_EXTENDED
12162         * gtk/gtkctree.c (resync_selection): same here
12163
12164 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
12165
12166         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
12167         gdk_drag_get_selection() and gtk_menu_detach().
12168
12169         [ From Jeroen Ruigrok/Asmodai ]
12170
12171 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
12172
12173         * gtk/gtknotebook.c (gtk_notebook_size_request): 
12174         page->tab_label can be NULL.
12175
12176 2000-01-25  Havoc Pennington  <hp@pobox.com>
12177         
12178         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
12179         arg is boolean
12180
12181         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
12182
12183         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
12184
12185         * gdk/gdkproperty.c (gdk_property_get): return boolean
12186
12187         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
12188
12189         * gdk/gdkim.c (gdk_im_ready): return boolean
12190
12191         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
12192
12193         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
12194         glib clash, should fix glib)
12195
12196         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
12197         (gdk_get_show_events): return gboolean, and canonicalize 
12198         to TRUE/FALSE
12199
12200         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
12201         colormap is private
12202         (gdk_colors_alloc): gboolean whether to be contiguous
12203         (gdk_color_equal): return gboolean since we are a predicate
12204         and not a qsort() (this looks semi-wrong due to glib breakage,
12205         IMO glib should be fixed)
12206         
12207         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
12208         (gdk_get_use_xshm): return gboolean
12209         (gdk_pointer_is_grabbed): return gboolean
12210
12211         * gdk/gdk.h: Change prototypes to match all the above changes,
12212         and re-run egtk-format-protos as required.
12213
12214 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
12215
12216         * gtk/gtkctree.c (resync_selection): 
12217         * gtk/gtkclist.c (resync_selection):
12218
12219         Return immediately if clist->drag_pos < 0. This is a workaround
12220         for the corrupt state that the clist gets into when a
12221         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
12222
12223         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
12224         
12225         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
12226         variable from recent commit.
12227
12228 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
12229
12230         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
12231
12232 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
12233
12234         * gtk/Makefile.am: prefix all autogenerated source that get build in
12235         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
12236         in builddir. since we subsequently cd into srcdir for autogeneration,
12237         the paths have to be stripped from the target file names, thusly we
12238         use $(@F) as target names now.
12239         put a comment about configure.in's --disable-rebuilds option,
12240         which can be used for non-writable source directories, for development
12241         setups though, srcdir has to be *writable*.
12242
12243 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
12244
12245         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
12246           Finish the job of allowing event to be NULL.
12247           (Fixes bug #4283, reported by Chris Blizzard)
12248
12249         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
12250           things so that the cursor appears on screen, properly
12251           take into account INNER_BORDER.
12252           (Fixes bug #4754, reported by Antonio Campos)
12253
12254 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
12255
12256         * gtk/gtknotebook.c (gtk_notebook_map): Don't
12257           show the tab_label unless it itself is visible.
12258
12259           gtk/gtknotebook.c (gtk_notebook_size_request):
12260           Do a better job of making sure that the visibility
12261           of the tab label corresponds to whether it should
12262           be mapped or not.
12263
12264 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
12265
12266         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
12267           Use the requisition, not the allocation, since the
12268           allocation has not necessarily been computed yet.
12269           (Pointed out by Eugene Osintsev)
12270
12271 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
12272
12273         * gtk/gtkstyle.c (gtk_style_new): Dont' set
12274           style/base[GTK_STATE_INSENSITIVE] both to
12275           gtk_default_insensitive_bg!
12276           (Bug #2187, reported by Jonathan Blandford)
12277
12278         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
12279           Add Alt_L, Alt_R to list of invalid accelerators.
12280           (Bug #3736, reported by Vlad Harchev)
12281
12282 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
12283
12284         * gtk/gtkfilesel.c (open_ref_dir): Fix several
12285         bugs which occured after an attempt to open 
12286         invalid home directory left cmpl_state->reference_dir == NULL.
12287
12288          - completion on files in home directory didn't work
12289          - completion on an empty string caused  segfault
12290
12291          (Bug #3678, reported by Steve Ratcliffe)
12292
12293         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
12294         cut and paste error that was causing scales to
12295         be incorrectly positioned.
12296         (Bug #2956,
12297          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
12298
12299 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
12300
12301         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
12302         when checking for dcgettext, if we've found we needed
12303         it for dgettext.
12304 +
12305 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
12306
12307         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12308         queue_clear on NO_WINDOW widgets during a reparent,
12309         since at that point the window and widget heirarchies
12310         are out of sync. This stops crashing in some cases
12311         (the scrolled window reparent test, for instance), and
12312         _probably_ won't cause drawing errors.
12313
12314         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
12315         test do what it was supposed to do and be robust against
12316         window closings, etc. (Bug #2443)
12317
12318 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
12319
12320         * gtk/gtkentry.c: Fix return values on mouse events.
12321         (Bug #2686, Sky <seb_sky@yahoo.com>)
12322
12323         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
12324         (pointed out by George Lebl)
12325
12326         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
12327         (From Ettore Perazzoli  <ettore@helixcode.com>)
12328  
12329 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
12330
12331         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
12332         clicks between rows or outside calender area correctly.
12333         (Patch from Damon Chaplin)
12334
12335         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
12336         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
12337           Call destroy function when overwriting existing data. 
12338           (Pointed out by Damon Chaplin)
12339
12340 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
12341
12342         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
12343           which was causing problems on various systems with Xmu.
12344           This hasn't been needed for a very long time.
12345           (Fixes #1185 3167)
12346
12347 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
12348
12349         * gdk/gdki18n.h: Include <ctype.h> when defining
12350           gdk_isw* in terms of is* as a fallback.
12351           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
12352
12353 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
12354
12355         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
12356           realize the widget when it is size allocated!
12357           (old, old bug)
12358
12359         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
12360           Removed unused call to gdk_window_get_size() that
12361           showed up when the above was fixed.
12362
12363 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
12364
12365         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
12366           fix up widget->window when the widget is a
12367           NO_WINDOW container widget.
12368
12369 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
12370
12371         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
12372           to account for the fact that feof() does _not_ 
12373           return TRUE on errors, and thus avoid infinite loops
12374           when trying to use gdk_pixmap_create_from_xpm()
12375           on unreadable values.
12376
12377 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
12378
12379         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
12380
12381 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
12382
12383         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
12384           gdk_gc_set_dashes to take gint8 instead of gchar to
12385           make it clearer that it is _not_ a NULL terminated string.
12386
12387         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
12388           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
12389           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
12390           arguments.
12391
12392 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
12393
12394         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
12395         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
12396         background size relative to our allocation, guard against small
12397         allocations, we may have not yet been size allocated.
12398
12399 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
12400
12401         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
12402         not just version == 3. We implement all 3 + most of 4 - 
12403         (we don't support matching text/plain;charset=iso-8859-1
12404         to a dest that expects text/plain). We'll still advertise
12405         3 to be safe, but any client implementing version >= 3
12406         must interoperate with 3.
12407         
12408 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12409
12410         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
12411         background and gc members, add a warning in gtk_tooltips_set_color()
12412         indicating that this function is deprecated.
12413
12414 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
12415
12416         * docs/gtkfaq.sgml: FAQ Update:
12417           - Minor cleanups (Emmanuel, me)
12418           - New questions:
12419                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
12420                 How can I retrieve the text from a GtkMenuItem? (timj)
12421                 How do I validate/limit/filter the input to a GtkEntry? (me)
12422                 Memory does not seem to be released when I free the list
12423                         nodes I've allocated (timj)
12424
12425 2000-03-07  Tor Lillqvist  <tml@iki.fi>
12426
12427         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
12428         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
12429         for which it is no use to call GetLastError onWin9x.
12430         (gdk_other_api_failed) New function, for general error
12431         reporting without calling GetLastError.
12432         (gdk_win32_api_failed) OTOH, this function always calls
12433         GetLastError. (gdk_win32_last_error_string) Remove this function,
12434         GLib has the equivalent now.
12435
12436         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
12437         call them with function name, file name and line number in the
12438         arguments.
12439
12440         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
12441         functions.
12442         
12443         * gtk/gtk.def: Add some missing entry points.
12444
12445         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12446         gtk_paned_set_gutter_size, which don't exist any longer, as void.
12447         
12448         Fixes by Hans Breuer:
12449
12450         * gdk/makefile.msc: Update for debugging.
12451
12452         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
12453         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
12454         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
12455         in the dash_list.
12456
12457         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
12458         the x11 backend.
12459
12460         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
12461
12462         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
12463
12464 2000-03-04  Tor Lillqvist  <tml@iki.fi>
12465
12466         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
12467         just pixel value of background colour.
12468
12469         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
12470         containing code snippet previously duplicated in a couple of
12471         places.
12472         
12473         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
12474         gdk_colormap_color.
12475
12476         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
12477         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
12478         events for autorepeated Shift, Control and Alt keys. Use
12479         gdk_colormap_color.
12480
12481         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
12482         pointer is inside the window the cursor of which we are setting,
12483         call SetCursor immediately.
12484
12485         * gdk/win32/makefile.cygwin
12486         * gtk/makefile.cygwin: If we don't have the build number stamp
12487         file, use zero.
12488
12489         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12490         gtk_paned_set_gutter_size as empty.
12491
12492         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
12493         
12494 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
12495
12496         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
12497           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
12498           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
12499           docs/gtk_tut.sgml docs/gtk.texi TODO:
12500
12501           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
12502
12503 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
12504
12505         * gtk/gtkcalendar.c: Implement num_marked_dates,
12506           and don't emit mutiple day_selected signals on
12507           month_prev.
12508
12509 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
12510
12511         * docs/make-todo (lineno): let title and logo be configurable so
12512         that GNOME can use this script too.
12513
12514         * TODO.xml: added logourl and a title
12515
12516 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
12517
12518         * TODO.xml: Added some UI items, and an explanatory
12519         comment at the top of the file.
12520
12521 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
12522
12523         * TODO.xml: some updates, added abunch of new entries.
12524         a note for those fiddeling with this file, when done
12525         with it, invoke:
12526         $ ./docs/make-todo TODO.xml >/dev/null
12527         and correct output errors before comitting changes.
12528
12529 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
12530
12531         * TODO.xml: Added XML-structured TODO file.
12532         * docs/make-todo: python script to turn TODO.xml into
12533           pretty XML output. 
12534
12535 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
12536
12537         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
12538         the function to let it draw the seven dots, instead of the old,
12539         much maligned, method.
12540         (draw_dot): New function to draw a dot.
12541
12542         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
12543         to draw the handle inside the border width as opposed to outside.
12544         Use paint function instead of gdk_draw_point.
12545
12546         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
12547         to draw the handle inside the border width as opposed to outside.
12548         Use paint function instead of gdk_draw_point.
12549
12550         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
12551         Change indenting to be more GTK like.
12552
12553 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
12554
12555         * docs/gtk_tut.sgml: New section on GtkCalendar
12556         * examples/calendar: Update example code
12557
12558 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
12559
12560         * docs/gtkfaq.sgml: FAQ Update
12561
12562 2000-02-19  Anders Carlsson  <andersca@gnu.org>
12563
12564         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
12565         to prevent the scroll event to be propagated upwards.
12566
12567 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12568
12569         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
12570         OwnerGrabButtonMask from button entries for
12571         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
12572
12573         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
12574         to the event mask (which will result in button/press release
12575         being added to the event mask on Unix) so scrolling works
12576         for layouts in scroll windows.
12577
12578         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
12579
12580         Patch from Anders Carlsson  <andersca@gnu.org> to add
12581         a scroll event.
12582
12583         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
12584         scrolling to the "Test Scrolling" part of testgtk.
12585  
12586         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
12587  
12588         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
12589         it against GDK_SCROLL.
12590  
12591         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
12592         way of mouse wheel scrolling.
12593  
12594         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
12595  
12596         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
12597  
12598         * gtk/gtkmain.c: Removed previous mouse wheel hack.
12599  
12600         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
12601         gdk_event_mask_table.
12602  
12603         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
12604         GdkEventScroll handler.
12605  
12606         * gdk/gdkevents.h: Added GdkEventScroll structure.
12607  
12608 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
12609
12610         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
12611         and Anders Carlsson to change the Paned widgets so that they
12612         can be dragged from anywhere along the length. Also change
12613         the way that this is drawn to make this apparent.
12614
12615         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
12616         from George Lebl to check that option_menu->menu is present
12617         before getting history.
12618
12619 2000-02-14  Tor Lillqvist  <tml@iki.fi>
12620
12621         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
12622         before the assertion for non-NULL segment list.
12623
12624         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
12625         Seems that pattern brushes *must* be 8x8 pixels! At least on my
12626         machine, but it might be display driver dependent. Sigh, so make
12627         sure the stipple is that size. Does Windows suck or what?
12628
12629         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
12630         places.
12631
12632 2000-02-13  Havoc Pennington  <hp@pobox.com>
12633
12634         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
12635         refcount to 1
12636         (gdk_cursor_new): init refcount to 1
12637
12638         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
12639
12640 2000-02-13  Tor Lillqvist  <tml@iki.fi>
12641
12642         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
12643         so that we don't have to do unnecessary settings to the HDC.
12644
12645         * gdk/win32/gdkdrawable-win32.c
12646         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
12647         gdk_gc_predraw.
12648
12649         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
12650         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
12651         GDI paths, call WidenPath to get the outline of the stroken path,
12652         and then fill the outline (with the brush that was built from the
12653         stipple).
12654
12655         * gdk/win32/gdkgc-win32.c: Factor out common code from
12656         _gdk_win32_gc_new and gdk_win32_gc_set_values into
12657         gdk_win32_gc_values_to_win32values. Use correct colour for
12658         SetBkColor() (Until now the code actually used a random colour in
12659         the call to SetBkColor()... but that didn't show up as not many
12660         GDI APIs use the background colour. Pattern (opaque stippled)
12661         brushes do.)
12662
12663         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
12664         gdk_win32_api_failed): New functions for error logging.
12665
12666         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
12667         WIN32_API_FAILED to call them, passing function or file name and
12668         line number.
12669
12670         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
12671
12672         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
12673         GdkColor for foreground and background in GdkGCWin32Data.
12674
12675         * gdk/makefile.cygwin: Link in the resource object separately.
12676
12677         * gdk/win32/rc/gdk.rc
12678         * gtk/gtk.rc (New file)
12679         * gdk/win32/makefile.cygwin
12680         * gtk/makefile.cygwin: Update build number in DLLs automatically,
12681         as in GLib.
12682
12683 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
12684
12685         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
12686         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
12687         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
12688         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
12689         parameters given and cursor->ref_count. coding style fixups.
12690
12691         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12692         not GtkWidget.
12693         
12694         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
12695         fix up widget macros and add _GET_CLASS() variant.
12696         
12697         * gtk/*.c: some GtkType fixups.
12698
12699 2000-02-09  Tor Lillqvist  <tml@iki.fi>
12700
12701         * gdk/win32/gdkproperty-win32.c
12702         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
12703         were reversed.
12704
12705 2000-02-04  Tor Lillqvist  <tml@iki.fi>
12706
12707         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
12708         g_filename_to_utf8 to convert the font names Windows gives us from
12709         whatever is the default codepage to UTF-8.
12710         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
12711         in the other direction.
12712
12713         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
12714         error in debugging output.
12715
12716 2000-02-02  Tor Lillqvist  <tml@iki.fi>
12717
12718         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
12719         and height parameters to gdk_window_clear_area(). Not minus one.
12720
12721 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
12722
12723         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
12724         checks if the widget passed to gtk_drag_get_data() was not the
12725         dest widget.
12726
12727 2000-02-01  Tor Lillqvist  <tml@iki.fi>
12728
12729         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
12730         g_filename_from_utf8 functions (which were added a moment ago to
12731         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
12732         size buffers.
12733
12734         gtk_file_selection_get_filename returns the filename in the C
12735         runtime encoding. It calls g_filename_from_utf8, but copies the
12736         returned string to a static buffer, which is returned. I think
12737         this is better than returning the result from g_filename_from_utf8
12738         directly, which would mean all apps that use it would have to free
12739         the return value. Or should this function care about this issue at
12740         all? Maybe a new function with clearly defined semantics.
12741
12742         * gtk/gtkfilesel.h: Add comment about
12743         gtk_file_selection_get_filename returning the filename in the C
12744         runtime's encoding.
12745
12746         * README.win32
12747         * gdk/gdk.def
12748         * gdk/makefile.{cygwin,msc}
12749         * gtk/gtk.def: Updates.
12750
12751         * gdk/gdkcursor-win32.c: Initialise refcount.
12752
12753 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12754
12755         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12756
12757 2000-01-30  Havoc Pennington  <hp@pobox.com>
12758
12759         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12760         destroy
12761
12762         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12763
12764         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12765         implemented in platform-specific code
12766
12767         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12768
12769         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12770         underscore in front
12771
12772         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12773         put an underscore in front
12774
12775         * gdk/gdkcursor.c: new file, implements
12776         gdk_cursor_ref/gdk_cursor_unref
12777
12778         * gdk/gdkcursor.h: Refcount GdkCursor
12779
12780         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12781
12782 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12783
12784         * gdk/gdkwindow.h
12785         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12786
12787 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12788
12789         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12790         structures to properly inherit from GtkWidget not GtkBin.
12791
12792 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12793
12794         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12795         (bug #5178 - Peter Wainright)
12796         
12797         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12798         so that it will be installed.
12799         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12800
12801 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12802
12803         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12804         for the GtkStyleClass vtable const.
12805
12806         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12807         take a const string argument like GtkTranslateFunc. This will
12808         require changes in use code.
12809
12810 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12811
12812         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12813         semantics (to mimic the X11 backend, which just calls XClearArea)
12814         is to check for zero width (and height), and in that case use the
12815         window's width minus x (height minus y). This fixes for instance
12816         some redraw problems with gtkclist, which were easily noticeable
12817         in the gtk file selection widget.
12818
12819         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12820         windows.
12821
12822 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12823
12824         * configure.in
12825         * gdk/Makefile.am
12826         * gdk/x11/Makefile.am
12827         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12828         (bug #5177).
12829         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12830         out later.
12831
12832 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12833
12834         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12835         WM_MOVE for iconified or invisible windows. This fixes various
12836         problems when minimising windows. Thanks to Bernd Herd.
12837
12838 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12839
12840         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12841         backend's draw_lines method, not draw_points.
12842
12843 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12844
12845         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12846         before Owen's reorganisation: Don't have queued_events and
12847         queued_tail statics in this file, but use gdk_queued_events and
12848         gdk_queued_tail. This makes exposure event compression work again.
12849
12850         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12851         seem to be needed?
12852
12853 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12854
12855         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12856         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12857         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12858         doesn't do anything.
12859
12860         * gdk/gdk.def: Add gdk_xid_table_insert.
12861
12862         * gdk/win32/gdkprivate-win32.h
12863         * gdk/win32/gdkevents-win32.c
12864         * gdk/win32/gdkinput-win32.c
12865         
12866         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12867         extension_events field in the GdkWindowWin32Data struct. Use only
12868         the extension_events field in GdkWindowPrivate. Previously one was
12869         set, and the other one tested, which broke tablet
12870         functionality. Thanks to Keishi Suenaga for pointing this out.
12871
12872 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12873
12874         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12875         When handling a single character (text length == 1), don't handle
12876         it as if it was UTF-8.
12877
12878 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12879
12880         * Makefile.am: Distribute README.win32.
12881         
12882         * gdk/Makefile.am
12883         * gdk/win32/Makefile.am: Distribute Win32 files.
12884
12885         * gdk/makefile.msc: New file.
12886
12887         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12888         after label).
12889
12890         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12891         gdk_error_code as GDKVAR, as they are referred outside GDK.
12892
12893         * gdk/win32/makefile.msc: Update.
12894
12895         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12896         tweaks. Check only if at least one of those Unicode subrange bits
12897         we care for is set. If no code page bits are set, guess (wildly)
12898         based on the charset.
12899
12900         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12901
12902         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12903         non-NULL.
12904
12905         * gtk/gtkdnd.c
12906         * gtk/gtklayout.c
12907         * gtk/gtkplug.c
12908         * gtk/gtkselection.c
12909         * gtk/gtksocket.c
12910         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12911         appropriate. There must be a cleaner way to handle this?
12912
12913         * gtk/gtkrc.c: Must include windows.h on Win32.
12914
12915         * gtk/testgtk.c: No need to include gdkx.h.
12916
12917         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12918
12919 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12920
12921         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12922         the rbearing is set to the same as the width, but this should be
12923         fixed.
12924
12925 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12926
12927         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12928         function. If Windows doesn't tell us what Unicode subranges a font
12929         covers, guesstimate based on the codepages it covers. This will
12930         hopefully help those Windows versions or fonts that don't give us
12931         any useful Unicode subrange information with GetTextCharsetInfo.
12932         Call this function in gdk_font_load_internal.
12933
12934         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12935         minor changes.
12936
12937 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12938
12939         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12940         New function, long needed.
12941
12942 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12943
12944         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12945         only_if_exists argument of gdk_atom_intern to
12946         bool.
12947
12948 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12949
12950         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12951         Fix two copy&paste errors.
12952
12953         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12954         win32 has changed.
12955
12956         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12957         GdkWin32SingleFont struct.
12958
12959         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12960         subranges of loaded fonts. Clear font signature first, in case
12961         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12962         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12963
12964         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12965         Unoffset clip region.
12966
12967 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12968
12969         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12970         event->any.window before calling filter functions.
12971
12972 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12973
12974         * gtk/gtkgamma.h: Adapt cast macros to standard.
12975
12976 [ Merges from 1.2 ]
12977
12978 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12979
12980         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12981         If translation does not include a '/', use entire
12982         translation instead of crashing.
12983
12984 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12985
12986         * docs/gtk_tut.sgml:
12987         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12988
12989 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12990
12991         * gtk/gtkselection.c (gtk_target_list_remove): Use
12992         g_list_remove_link, not g_list_remove.
12993
12994         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12995         
12996 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12997
12998         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12999         statement upon unselection (how the heck did that slip in?).
13000
13001 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
13002
13003         * gtk/gtktext.c (gtk_text_freeze): 
13004         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
13005         in frozen state (and aparently crashes). patch provided by Anders
13006         Melchiorsen <and@kampsax.dtu.dk>.
13007
13008 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
13009
13010         * fix insensitive default/focus widget activation,
13011         reported by Matt Goodall <mgg@isotek.co.uk>.
13012
13013         * gtk/gtkwindow.c (gtk_window_key_press_event): 
13014         (gtk_window_activate_default):
13015         (gtk_window_activate_focus):
13016         return handled=FALSE for actiavtion of insensitive default
13017         widgets. return handled=TRUE for activation of insensitive
13018         focus widgets. don't activate in either case.
13019
13020 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
13021
13022         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
13023         and $glib_cflags to match library order and in the
13024         theory that an old version of GLib is more likely to
13025         be in the include directory for X then vice-versa.
13026         (Bug #2776)
13027
13028 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13029
13030         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
13031         to determine the locale for fontsets, not LC_MESSAGES;
13032         the user may want English messages with a handling
13033         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
13034         will still be broken) (Bug #2891)
13035
13036 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13037
13038         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
13039
13040 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13041
13042         * gtk/gtkrc.ko: Changed the Korean default fontset.
13043
13044 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
13045
13046         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
13047         where when scrolling to the left or top double exposes
13048         were done, causing major slowdowns.
13049
13050 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
13051
13052         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
13053         names to lowercase and alphanumeric, before looking
13054         them up.
13055
13056         * gtk/Makefile.am: Install codeset variant gtkrc files
13057         with normalized names.
13058
13059 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
13060
13061         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
13062         popup menus when the menu is already visible, but its parent
13063         is still hidden, (happens after tornoff window got hidden).
13064
13065 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
13066
13067         * gtk/Makefile.am (install-data-local): Fix
13068         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
13069         deleted, causing error messages on install.
13070
13071 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
13072
13073         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
13074         the handle as well, since we now sometimes ignore
13075         exposes on the handle while resizing.
13076
13077 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
13078
13079         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
13080         extra g_free introduced in one of the last one or two 
13081         commits.
13082
13083 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
13084
13085         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
13086         consistent, put each style that a gtkrc.* file creates
13087         in a unique namespace, remove old files before installing.
13088
13089 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
13090
13091         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
13092         gtk_rc_init is called multiple times. (Yes, people who
13093         do that have bugs in their code.)
13094
13095 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
13096
13097         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
13098         Remove it since it's generated by the Makefile anyway
13099
13100 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
13101
13102         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
13103         device->info.axes for core pointer.
13104
13105 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
13106
13107         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
13108         idle_id, to deal with obsolete, broken C libraries.
13109
13110 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
13111
13112         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
13113         allocation->x/y twice!
13114
13115         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
13116         consistent with gtk_vscale_pos_trough().
13117
13118 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
13119
13120         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
13121         be queueing a resize on a toplevel container between
13122         the time we show it and when we map it. So, we need
13123         to test GTK_WIDGET_VISIBLE() for toplevels, and only
13124         use GTK_WIDGET_DRAWABLE() for child windows.
13125
13126 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
13127
13128         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
13129         (fixes bug #2144)
13130
13131 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
13132
13133         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
13134         container DRAWABLE (instead of VISIBLE), so we don't queue
13135         resizes on non-toplevel containers.
13136
13137 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
13138
13139         * gtk/gtkselection.[ch]: Make the data argument
13140         const guchar *.
13141
13142 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
13143
13144         * gtk/gtkwindow.c: Try to behave sensibly if 
13145         the focus widget is the window itself. (Should
13146         we allow this at all?)
13147
13148 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13149
13150         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
13151         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
13152         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
13153         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
13154         in prototypes and implementations consistent (Tomas Ogren).
13155
13156         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
13157         before the widget is unparented (reported by damon).
13158
13159         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
13160         since we provide unsigned data anyways.
13161
13162 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
13163
13164         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
13165         the call to gtk_tooltips_layout_text() until later.
13166
13167         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
13168         Call gtk_widget_ensure_style() before using the style.
13169
13170 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
13171
13172         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
13173         for old widgets that don't propagate draws to all
13174         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
13175
13176 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
13177
13178         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
13179         for a redraw but just the widget that requested the resize.
13180
13181 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
13182
13183         * gtk/gtkcontainer.c: added new widget level method
13184         gtk_container_set_reallocate_redraws() and a GtkContainer flag
13185         reallocate_redraws : 1 to reflect the setting, exported this through
13186         the argument system as a boolean ::reallocate_redraws.
13187
13188         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
13189         on the widget because the allocation changes, do so as well for
13190         widget->parent if the parent has reallocate_redraws set to TRUE.
13191         with that containers requesting reallocation redraws get automatically
13192         redrawn if their children changed allocation (this unfortunately
13193         affects also other children that didn't change allocation, but we
13194         cannot work around that before 1.3).
13195
13196 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13197
13198         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
13199         _and_ height are >0 (not _or_).
13200
13201         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
13202         instead of gtk_container_queue_resize(), which is a core gtk internal
13203         function (must have been on crack when i queued that).
13204
13205         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
13206         we can check more reliably if we want to discard expose events.
13207         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
13208         flag.
13209         
13210         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
13211         we simply trust these events. for deciding whether to discard exposes,
13212         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
13213         
13214 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
13215
13216         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13217         queues of areas that are completely off screen.
13218
13219         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
13220         logic for handleboxes.
13221
13222         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
13223         check on width/height.
13224
13225 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
13226
13227         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
13228         we are fine with using $@ the way we do (if we actually encounter
13229         brokeness with $@ in VPATH builds because of additional path prefixes,
13230         we need to use $(@F) actually).
13231
13232 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
13233
13234         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
13235         short lived bugs, that would allow language bindings to do surgeries
13236         to our guts.
13237
13238 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
13239
13240         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
13241         where comparison was being done against an uninitialized
13242         value causing intermittant results depending on
13243         compiler flags. Also make it clearer that we aren't
13244         ever initializing the child as 0x0 (though this will
13245         be caught in gtk_widget_size_allocate())
13246
13247 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
13248
13249         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
13250         gtk_window_unset_transient_for() call after we do checks
13251         involving the old transient parent.
13252         [ From Lance Capser <lmc@cyberhighway.net> ]
13253
13254 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
13255
13256         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
13257         an empty file.
13258
13259 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
13260
13261         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
13262         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
13263
13264 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
13265
13266         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
13267         `$@' is valid only in the build dir, not after we've done 
13268         `cd $srcdir'.  Also use `test -f' instead of less portable
13269         `test -e'.
13270
13271 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
13272
13273         * gtk/gtktext.c (correct_cache_insert): Rewrite
13274          for simplicity, and hopefully correctness.
13275          (Fixes bug #1322, which was a segfault when
13276           on some insertions with the properties around
13277           the insertion set up just wrong.)
13278
13279         * gtk/gtktext.c (gtk_text_adjustment): When we receive
13280          a "changed" signal, clamp the new value to the adjustment
13281          bounds to avoid segfaulting if someone tries to change
13282          the adjustment to a bogus value. (Bug #1795)
13283
13284 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13285
13286         * gtk/gtkmain.c: Ignore unexpected destroy notifies
13287         for children, for toplevel windows handle them
13288         like delete_event.
13289
13290         * gtk/gtkplug.c: Add an unrealize handler so that
13291         we unref plug->socket_window when we are done
13292         with it.
13293
13294 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
13295
13296         * gtk/gtktext.c (clear_area): Fix stupid signedness
13297          problem that was causing background to sometimes
13298          be misaligned.
13299
13300 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
13301
13302         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
13303         
13304         * gtk/gtkmenu.c (gtk_menu_position): Make
13305          sure we never position menus with negative x, y,
13306          since gtk_widget_set_uposition() can't handle that.
13307
13308         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
13309          Modify the positioning code a bit so that we always
13310          put the top-left corner onscreen. (This is for
13311          UI reasons, gtk_menu_position() now takes care of
13312          gtk_widet_set_uposition() brokeness.)
13313
13314 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
13315
13316         * gtk/Makefile.am: fixed up things for -jx, x > 1.
13317
13318 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
13319
13320         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
13321           RC style that is passed in. The lack of the ref
13322           before was a bug. If people worked around this
13323           bug, this will introduce a slight memory leak
13324           in their code. The code should typically look like:
13325
13326             rc_style = gtk_rc_style_new ();
13327             [...]
13328             gtk_widget_modify_style (widget, rc_style);
13329             gtk_rc_style_unref (rc_style);
13330
13331         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
13332           the style if it was already set.
13333
13334         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
13335           style if it was set before.
13336
13337 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13338
13339         * gtk/testgtk.c (main): Add a check to see if we
13340           are being run from the correct directory and
13341           to quit nicely if we are not.
13342
13343         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
13344           static.
13345
13346 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
13347
13348         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
13349
13350         * gtk/gtkwindow.c:
13351         queue resizes unconditionally (gtk_widget_queue_resize will figure
13352         what to do if the window is not realized).
13353         (gtk_window_move_resize): only recenter the window
13354         for GTK_WIN_POS_CENTER_ALWAYS.
13355         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
13356         the same way as GTK_WIN_POS_CENTER.
13357
13358 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
13359
13360         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
13361         with (!(info->last_flags & GDK_HINT_POS)) instead of
13362         (!info->last_flags & GDK_HINT_POS).
13363
13364         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
13365         new_height unconditionally, because we use these values even if
13366         !default_size_changed && !hints_changed.
13367         comented the (default_size_changed || hints_changed) case with
13368         respect to resize rejects from the window manager.
13369
13370         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
13371         in the zvt condition hack, since this includes the window hints, set
13372         the hints after the handling_resize case.
13373
13374         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
13375         window is initially shown with to the geometry.
13376
13377 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
13378
13379         * gtk/gtkwindow.c (gtk_window_move_resize):
13380         s/size_changed/default_size_changed/g so i know what's
13381         really going on (frying brain on smaller flame now).
13382
13383 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
13384
13385         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
13386         we have size_changed upon handling_resize. this is a gross
13387         workaround for the broken zvt widget and should be removed in
13388         1.3 again (search for FIXME).
13389         Owen provided an accurate comment for this:
13390
13391         /* We could be here for two reasons
13392          *  1) We coincidentally got a resize while handling
13393          *     another resize.
13394          *  2) Our computation of size_changed was completely
13395          *     screwed up, probably because one of our children
13396          *     is broken. It's probably a zvt widget.
13397          *
13398          * For 1), we could just go ahead and ask for the
13399          * new size right now, but doing that for 2)
13400          * might well be fighting the user (and can even
13401          * trigger a loop). Since we really don't want to
13402          * do that, we requeue a resize in hopes that
13403          * by the time it gets handled, the child has seen
13404          * the light and is willing to go along with the
13405          * new size. (this happens for the zvt widget, since
13406          * the size_allocate() above will have stored the
13407          * requisition corresponding to the new size in the
13408          * zvt widget)
13409          *
13410          * This doesn't buy us anything for 1), but it shouldn't
13411          * hurt us too badly, since it is what would have
13412          * happened if we had gotten the configure event before
13413          * the new size had been set.
13414          */
13415
13416 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
13417
13418         * gtk/gtkrc.c: deal properly with the fact that RC
13419           style lists may include rc styles more than once.
13420
13421         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
13422           unused static function.
13423
13424         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
13425           stack of directories of RC files currently being
13426           parsed and implicitely add them to pixmap path.
13427           
13428           This fixes a bug where the directory would get
13429           appended then overwritten by pixmap_path declarations.
13430
13431           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
13432
13433         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
13434           theme's exit function. (Patch from Peter Wainwright,
13435           bug #1454)
13436
13437         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
13438           Add a destroy() handler to take care of removing
13439           group for menu item. (Fixes bug #1197)
13440
13441         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
13442           in warning message.
13443
13444 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
13445
13446         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
13447         roundtrip to figure window's width and height, since we know that
13448         anyways from widget->allocation.
13449
13450 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
13451
13452         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
13453           the hints after we request the new size.
13454
13455 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
13456
13457         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
13458           GTK_WIDGET_REALIZED() assertion - we can compute the
13459           hints before we are realized.
13460
13461         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
13462           hint changing so that we have a value of hints_changed
13463           when we decide whether to constrain the window size.
13464
13465         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
13466
13467         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
13468         change back to G_MAXINT.
13469
13470 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
13471
13472         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
13473         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
13474         contain uncluttered values.
13475         (gtk_window_compute_hints): simply assert that window is realized
13476         and that geometry_info is valid, since we rely on this anyways.
13477         (gtk_window_constrain_size): major cleanups to the code.
13478         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
13479         for the base size, instead of the minimums. use 32767 as max width
13480         and height (like in gtkwindow.c) instead of G_MAXINT.
13481
13482 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
13483
13484         * cleaned up the GtkContainer.need_resize flag handling mess, we
13485         only need to force resize requests when we were prematurely
13486         realized, or our widget tree was modified when we were temporarily
13487         hidden. handling these cases directly upon showing the window (i.e.
13488         while the GdkWindow is still unmapped) avoids the need to wait for
13489         a configure event response and therefore makes the GUI more snappier
13490         and avoids blank windows during the roundtrip.
13491
13492         * gtk/gtkwidget.c:
13493         (gtk_widget_hide): 
13494         (gtk_widget_show): don't queue resizes on toplevels, they know how
13495         to deal with matters.
13496
13497         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
13498         flag directly for not visible resize containers and spare us unecessary
13499         signal emissions.
13500
13501         * gtk/gtkwindow.c:
13502         (gtk_window_realize): if we need to enforce premature size allocation,
13503         queue a container resize so we are correctly resized later on.
13504         (gtk_window_init):
13505         (gtk_window_size_request):
13506         don't freak around with the ->need_resize flag,
13507         gtk_container_queue_resize() will care about that.
13508         (gtk_window_show):
13509         handle initial resizing issues here, we can handle matters better in
13510         this place, especially since we know that our GdkWindow is still
13511         unmapped.
13512         (gtk_window_move_resize):
13513         don't care about ->need_resize at all.
13514         handle size changes properly that occoured while we waited for a
13515         configure event.
13516
13517 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
13518
13519         * gtk/gtkwidget.c (gtk_widget_set_uposition):
13520         * gtk/gtkwindow.[hc] (gtk_window_reposition):
13521         Move the hint setting code from gtk_widget_set_uposition
13522         to here; set the hints so that we respect any previously
13523         set geometry hints.
13524
13525         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
13526         change the window hints here or move the window here,
13527         let that happen in gtk_window_move_resize().
13528
13529 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
13530
13531         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
13532         to already queued resizes (and therefore redraws) on a widget, check
13533         its anchestry as well.
13534
13535         * gtk/gtkcontainer.c:
13536         (gtk_container_queue_resize): clear resize widgets for resize
13537         containers before aborting prematurely. this is especially important
13538         for toplevels which may need imemdiate processing or their resize
13539         handler to be queued.
13540         (gtk_container_dequeue_resize_handler): added new internal function for
13541         gtkwindow.c.
13542
13543         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
13544         configure event, take possible changes in window position into account
13545         as well.
13546         if we request a new window size, queue up a resize handler that will
13547         last until the configure event response arrives.
13548         combined the ->need_resize case (initial show) with the general size
13549         (hints) changed case and added even more comments.
13550         if !auto_shrink, only revert to the old allocation if the new size
13551         is smaller than the current allocation.
13552
13553 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
13554
13555         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
13556                            gtk_window_set_geometry_hints
13557                            gtk_window_set_default_size):
13558         When hints are set, queue a resize so that the hints will
13559         be eventually reset on the toplevel.
13560
13561         * gtk/gtkwindow.c (gtk_window_show): Use
13562         gtk_window_compute_default_size(). Clear the need_resize flag
13563         on the initail map so that we don't unnecessarily trigger the
13564         resize code.
13565
13566         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
13567         into separate functions. Compare the hints we are setting
13568         with what we set last time so that we can accurately
13569         tell when we need to reset the hints.
13570
13571         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
13572         function to figure out the size from requisition
13573         and default_size.
13574
13575         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
13576         from fvwm to constrain a size to the geometry hints.
13577
13578         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
13579         to compare two sets of geometry hints.
13580
13581         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
13582         from gtk_window_set_hints(), just compute the hints,
13583         don't set them.
13584
13585         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
13586         code from gtk_window_move_resize() to separate function,
13587         rationalize a bit.
13588
13589 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
13590
13591         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
13592         structure into a new private structure.
13593
13594         * gtkrc.c: Split GtkRcStyle into public/private.
13595         In the private part, add a list of pointers to the
13596         RcStyle lists this RcStyle participates in.
13597
13598         * gtkrc.c: When a RcStyle is free, remove all
13599         lists referencing it from the 
13600         realized_style_ht hash, and free those lists.
13601         
13602         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
13603         gtk_rc_init(), since that adds the default styles
13604         to the list of parsed RC files again.
13605
13606         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
13607         
13608 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
13609
13610         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
13611         checks that ensure that a widget's allocation is at least 1 in width
13612         and height. (GNOME note: this doesn't affect old panel code anymore,
13613         because GtkSocket will request width and height of at least 1 since
13614         Fri Jul 23).
13615
13616         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
13617         allocated yet (happens if the user realizes the window prematurely),
13618         size request and allocate it.
13619         (gtk_window_size_allocate): guard against guint underflows.
13620
13621 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
13622
13623         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
13624         in gtk_built_sources, so gtk.defs gets built prior to all other
13625         sources.
13626
13627 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13628
13629         * gtk/Makefile.am:
13630         invoke indent on gtkmarshal.*. 
13631         rewrote source generation rules, use COPYING as oldest source tag for
13632         a piggyback rule to generate all sources from (don't touch it ;).
13633         major cleanups, strip spaces on build rules for GNU Make.
13634
13635         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
13636         source and target files from commandline arguments. don't invoke indent.
13637
13638 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13639
13640         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13641         notebook after switch to avoid drawing problems.
13642         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13643         
13644         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13645         show them instead. 
13646         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13647
13648 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13649
13650         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13651         notebook after switch to avoid drawing problems.
13652         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13653         
13654         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13655         show them instead. 
13656         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13657
13658 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
13659
13660         * gtk/gtkwindow.c:
13661         we use window->need_resize from configure_event now, to indicate that
13662         the gtkwindow should keep its allocation (e.g. because the user resized
13663         the window through window manager handles). resize_count is now reliably
13664         used to figure whether we got the allocation we requested from the
13665         window manager.
13666         configure events get queued as resizes now, the real stuff (size
13667         computation and allocation) now only goes on in gtk_window_move_resize().
13668         GtkWindow's requisition now contains its *real* requisition (like all
13669         other widgets), *not* taking usize into account.
13670         geometry_info->last_{width|height} is now updated from set_hints() only
13671         so it always contains the last hints we set for the window manager.
13672         made some event handlers return TRUE instead of FALSE.
13673         the overall code should be much more straight forward now, and the
13674         significant code portions are accompanied by comments now.
13675         (gtk_window_set_hints):
13676         removed requisition argument and made it
13677         fetch the requisition through gtk_widget_get_child_requisition.
13678         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
13679         does that now.
13680         (gtk_window_show):
13681         ensure that the widget is realized before calling 
13682         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
13683         ensure that we got properly size requested and allocated before
13684         realization.
13685         (gtk_window_configure_event):
13686         ignore plain window moves, or reallocate the widget tree through the
13687         resize queue otherwise.
13688         (gtk_window_move_resize):
13689         mostly rewrote this function to figure window manager hints more
13690         reliably, coalesce window moves and resizes to reduce configure events
13691         and do actuall size allocations.
13692
13693 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13694
13695         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
13696         that have a resize pending, because a redraw is already queued for them.
13697
13698         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
13699         hack to clear resize_widgets.
13700
13701         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
13702         for resize containers prior to size allocation. (this is also a bit
13703         ugly, but avoids side effects for stopped emissions and is thus more
13704         reliable).
13705         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
13706
13707         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
13708         function from gtk_tooltips_expose, as we connect to ::expose_event
13709         *and* ::draw now.
13710
13711 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13712
13713         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
13714         checks.
13715         (gtk_target_list_unref): Likewise.
13716
13717         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
13718
13719 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
13720
13721         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
13722         guard against division by zero. (Fixes bug #1339)
13723
13724 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
13725
13726         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
13727         Prevent the trivial leak of information of allowing
13728         word motion when the entry is not visible.
13729
13730 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
13731
13732         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
13733         modality to error dialog as well as confirmation dialogs.
13734         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13735
13736 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13737
13738         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13739         tree->view_lines.
13740         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13741
13742         * gtk/Makefile.am (install-data-local): Solaris apparently
13743         has various troubles with ln -f; use rm first instead.
13744         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13745
13746 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13747
13748         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13749         use `cp' followed by `rm' (the `rm' was already there).
13750
13751 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13752         
13753         * configure.in: Fix autoconf warnings about cross compilation by
13754         trying to provide sane defaults for AC_TRY_RUN.
13755         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13756         put them into $(srcdir) when generated. Also add a dependency of
13757         gtksignal.h on gtkmarshal.h for -j builds. 
13758         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13759
13760 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13761
13762         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13763         GDK_THREADS_{LEAVE,ENTER} pair.
13764         (From Paul Fisher <pnfisher@redhat.com>)
13765
13766 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13767
13768         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13769         width and height are always >0 (owen).
13770
13771 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13772
13773         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13774         change that assured that a widget's allocated with and height are
13775         always >1, since this breaks *buggy* panel code. unfortunately this
13776         back-breaks the gimp's color selector.
13777
13778         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13779         allocation is always >0 in width and height, before sending the
13780         configure event; this is a *gross* hack to get the gimp back to work.
13781         
13782         * marked both cases with TODO-1.3
13783
13784 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13785
13786         * gtk/gtktext.c: Don't display wrap indicators when
13787         text is not editable and word wrap is on.
13788
13789 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13790
13791         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13792         option menus here as they are not derived from menu shell, assure that
13793         the option menu has a menu we can add items to.
13794
13795 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13796
13797         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13798         width/height to (gint) before calculations and check against < 0 to
13799         avoid guint wraparounds.
13800
13801 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13802
13803         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13804         width and height is never zero. sanity check both dimensions against
13805         32767 and issue a warning if the allocation is greater than that.
13806
13807 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13808
13809         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13810         to g_main_pending() as well.
13811
13812 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13813
13814         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13815         call to g_main_iteration() - since that will regrab
13816         GTK+ lock to process events.
13817
13818 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13819
13820         * gtk/gtkwindow.c
13821         - Regularize with the rest of GTK+ by making widget->requisition
13822           not reflect the set_usize()
13823         - Always recompute geometry hints, then check if they
13824           changed before sending them to the X server. The
13825           previous checks for changes would fail in a number
13826           of circumstances. 
13827
13828 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13829
13830         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13831
13832 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13833
13834         * gtk/gtkdnd.c:
13835         - Code cleanups
13836         - Instantaneously update on modifier key presses
13837         - Allow cancellation of the drag with Escape.
13838
13839 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13840
13841         * gtk/testgtk.c (create_handle_box): Set the policy
13842         to auto_shrink - otherwise the appearance is rather
13843         strange when flipping between horizontal and vertical.
13844
13845 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13846
13847         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13848         (gtk_window_set_default_size): don't change a value if it's < 0.
13849         queue a resize.
13850
13851 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13852
13853         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13854
13855 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13856
13857         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13858         add an extra "/" when concating "/" + filename.
13859         (From Matt Grossman <mattg@oz.net>)
13860
13861 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13862
13863         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13864         for fg_gc if we set it for drawing pixmap.
13865
13866 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13867
13868         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13869         
13870         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13871         already set, call old engine's destroy function and
13872         unref the old engine.
13873
13874 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13875
13876         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13877
13878 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13879
13880         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13881
13882 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13883
13884         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13885         expand behaviour changed.
13886
13887         * gtk/gtklabel.c (gtk_label_set_pattern):
13888         (gtk_label_set_justify):
13889         (gtk_label_set_line_wrap):
13890         don't bother invoking queue_clear, the reallocation does
13891         that for us, always free_words so the upcoming resize will
13892         relayout the label's contents.
13893
13894 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13895
13896         * applied argument implementation patches from Elena Devdariani
13897         <elena@cogent.ca>.
13898
13899         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13900         ::space_style, ::relief
13901         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13902         * gtk/gtkpreview.c: ::expand
13903         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13904         * gtk/gtknotebook.c: ::homogeneous
13905         * gtk/gtklabel.c: ::wrap
13906         * gtk/gtklist.c: ::selection_mode
13907         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13908         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13909         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13910         * gtk/gtkclist.c: ::sort_type
13911         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13912         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13913
13914 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13915
13916         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13917         comment.
13918
13919 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13920
13921         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13922         counting right when we have to attach a new style
13923         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13924
13925         * gtk/gtkstyle.c: Documented the refcounting
13926         peculularities of gtk_style_attach.
13927
13928 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13929
13930         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13931         window types.
13932
13933         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13934         of GTK_TOPLEVEL for creating the window.
13935
13936 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13937
13938         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13939         the last argument (reported by Per Winkvist).
13940         
13941 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13942
13943         Fixes for invisible XOR lines (Frank Loemker
13944         <floemker@TechFak.Uni-Bielefeld.DE>)
13945         
13946         * gtk/gtkclist.c (gtk_clist_realize): Always use
13947         a non-zero pixel for GDK_XOR.
13948
13949         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13950         Use GDK_INVERT instead of GDK_XOR.
13951
13952 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13953
13954         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13955         signals if h/voffsets differ from adjustment values.
13956         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13957
13958 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13959
13960         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13961         ::selection-done emissions up to the topmost menu shell.
13962
13963 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13964
13965         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13966         the user data on the window before destroying it.
13967
13968         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13969         unrealize handler to take care of destroying 
13970         notebook->panel properly. 
13971         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13972
13973         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13974         of g_new and g_realloc to stop memory leak. (Actually,
13975         we could just use g_realloc(), but I'm not 100% sure
13976         that is portable).
13977         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13978
13979 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13980
13981         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13982
13983         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13984         for fontsets.
13985
13986         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13987         with bin/button confusion.
13988
13989 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13990
13991         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13992         and show how preselection of radio items is done.
13993
13994 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13995
13996         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13997         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13998         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13999         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
14000         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
14001         * gtk/gtktable.c (gtk_table_attach): 
14002         * gtk/gtklist.c (gtk_list_insert_items): 
14003         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
14004         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
14005         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
14006         * gtk/gtkbin.c (gtk_bin_add): 
14007         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
14008         * gtk/gtkfixed.c (gtk_fixed_put): 
14009         * gtk/gtklayout.c (gtk_layout_put):
14010         general fixups to container_add logic. always realize child if
14011         child->parent is realized, only map the child and queue a resize
14012         if child and child->parent are both visible.
14013
14014 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
14015
14016         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
14017         instead of gtk_container_foreach to walk and unrealize children, so
14018         composite children get also unrealized.
14019         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
14020         (gtk_widget_map): assert that the widget is visible (basic constrain).
14021         (gtk_widget_real_map): assert that the widget is realized (basic
14022         constrain).
14023
14024 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
14025
14026         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
14027
14028 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
14029
14030         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
14031         file for iso-8859-2 locales.
14032
14033         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
14034
14035 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
14036
14037         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
14038          (Pointed out by andy@rz.uni-karlsruhe.de and others).
14039          Remove some suspicious and useless lines. 
14040
14041 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
14042
14043         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
14044         width,height = 0, 0 to mean - here to edge of window,
14045         instead of -1, -1, since the former is all we support.
14046
14047 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
14048
14049         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
14050         when removing from quit_functions list.
14051
14052 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
14053
14054         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
14055
14056 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
14057
14058         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
14059          When redrawing characters on non-visible entry, use appropriate
14060          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
14061
14062 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
14063
14064         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
14065         from drag coordinates.
14066         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
14067         use drag_dest_cell.
14068
14069         * gtk/gtktree (drag_dest_cell)
14070         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
14071         (Bug #1129)
14072
14073 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
14074
14075         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
14076         translate_* fields.
14077         (gtk_item_factory_finalize): invoke translate_notify independant from
14078         translate_data.
14079         (gtk_item_factory_set_translate_func): likewise.
14080         (gtk_item_factory_destroy): only remove ifactory pointer from those
14081         widgets that belong to us (stupid me).
14082
14083 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
14084
14085         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
14086         rc_style list when lookup succeeeds.
14087
14088 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
14089
14090         * gtk/gtkctree.c (resync_selection): 
14091         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
14092         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
14093         bug.
14094
14095 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
14096
14097         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
14098         Add some missing GDK_THREADS_ENTER()/LEAVE around
14099         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
14100
14101 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
14102
14103         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
14104         rather than emit_by_name.
14105
14106         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
14107         on the widget across multiple signal emissions.
14108         (gtk_editable_delete_text): same here.
14109         (gtk_editable_class_init): set widget_class->activate_signal after
14110         editable_signals[ACTIVATE] has been created.
14111
14112 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
14113
14114         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
14115         position here prematurely -- we might not have the
14116         right ->min_position and ->max_position yet.
14117
14118 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14119
14120         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
14121         Add error traps so if the other end of the connection
14122         dies, we survive.
14123
14124         * gtk/gtkselection.c (gtk_selection_notify): Clean
14125         up properly when selection property retrieval fails.
14126         
14127         * gtk/gtkselection.c (gtk_selection_request): Correctly
14128         reject SelectionRequest notifies where the handler
14129         returns no data.
14130
14131 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14132
14133         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
14134         when we've previously highlighted.
14135
14136         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
14137         emit two "drag_leave" signals for Motif drops.
14138
14139         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
14140         back the correct status messages when dropping from
14141         Motif onto a proxy window that is rejecting the
14142         drop.
14143
14144 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
14145
14146         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
14147         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
14148         to compare two argument values. added gtk_arg_to_valueloc() to set a
14149         variable from an arg through its location (pointer).
14150
14151         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
14152         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
14153         as gfloat*, uchars are collected as guchar*, ints are collected as
14154         gint*, etc...
14155
14156 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
14157
14158         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
14159         Include <string.h> instead of <strings.h>.
14160
14161         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
14162         (actually, a lot more duplicate includes occur if
14163          you trace through the sequence of #include's)
14164         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
14165         
14166 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14167
14168         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14169         gtk-a-higuti-990322-[0-3]
14170
14171         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14172         that was causing -DX_LOCALE not to work.
14173
14174         * gtk/gtkrc.c (gtk_rc_init):
14175         X_LOCALE will never have LC_MESSAGES defined
14176
14177 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
14178
14179         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
14180         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
14181
14182         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
14183         left/right as well (gtk-michael-980726-0.patch.gz).
14184
14185         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
14186         for pointer values, use gchar instead of char. fixed uline allocation
14187         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
14188         chunks instead of G_ALLOC_ONLY.
14189         (gtk_label_size_request): always alter requisition as passed and leave
14190         widget->requisition alone.
14191         (gtk_label_set_text): allow NULL strings.
14192         (gtk_label_new): likewise.
14193
14194 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
14195
14196         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
14197
14198 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
14199
14200         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
14201         *and* mapped (i.e. drawable).
14202         (gtk_bin_expose): only send exposes to drawable children.
14203
14204         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
14205         (gtk_box_expose): only send exposes to drawable children.
14206
14207         * gtk/gtkhscale.c (gtk_hscale_draw): 
14208         * gtk/gtkvscale.c (gtk_vscale_draw):
14209         hm, this is an ugly one. we first compute the size of our trough area
14210         here (window relative) and then check intersection with the draw_area
14211         which is parent relative because we're a NO_WINDOW widget, so we need
14212         to offset the trough area by allocation.x and allocation.y before the
14213         check. (this must not be done for the background area though, since
14214         that's already computed parent relative).
14215
14216 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
14217
14218         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
14219         unrealize title buttons.
14220
14221 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
14222
14223         * gtk/gtkclist.c (gtk_clist_column_title_passive)
14224         (gtk_clist_column_title_active): 
14225         only connect/disconnect to GtkWidgetClass::event to block mouse events.
14226
14227         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
14228         zero initialize event, removed superfluous gdk_window_get_pointer call
14229
14230         * gtk/gtklist.c (gtk_list_vertical_timeout)
14231         (gtk_list_horizontal_timeout): removed superfluous
14232         gdk_window_get_pointer call
14233
14234 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14235
14236         * plugging problems reported by "Bruce Mitchener, Jr."
14237         <bruce@puremagic.com> due to a purify session.
14238
14239         * gtk/gtkstyle.c:
14240         (gtk_style_ref): 
14241         (gtk_style_unref): assert ref_count to be > 0.
14242
14243         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
14244         the requisition.
14245         (gtk_clist_set_shift): likewise.
14246
14247         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
14248         adjustments.
14249
14250         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
14251         event before sending it and set send_event to TRUE (which needs to
14252         be done for *all* synthesized events).
14253         (gtk_list_vertical_timeout): likewise.
14254
14255         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
14256         leaks.
14257
14258         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
14259         to TRUE when synthesizing events.
14260
14261 [ *** end of merges from 1.2 *** ]      
14262         
14263 1999-11-21  Tor Lillqvist  <tml@iki.fi>
14264
14265         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
14266         (or copied from gdkconfig.h.win32 on Win32, sigh).
14267
14268         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
14269
14270         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
14271
14272         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
14273
14274         * gdk/gdkconfig.h.win32: New file.
14275
14276         * gdk/win32/makefile.cygwin: Build just a static archive here.
14277
14278         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
14279         for the DLL from the static archive built above.
14280
14281         * gdk/gdk.def: Moved here from the win32 subdirectory.
14282
14283         * gdk/win32/*: Adapt for the changed private struct organisation.
14284
14285         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
14286
14287 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
14288
14289         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
14290         for wheel mice (buttons 4 and 5).
14291
14292 1999-11-18  Tor Lillqvist  <tml@iki.fi>
14293
14294         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
14295         drawables use just the pixel field in the foreground and
14296         background GdkColor of the GdkGC.
14297
14298         gdk_gc_set_{fore,back}ground() are called in the GIMP with
14299         GdkColors containing uninitialized (red,green,blue) fields, and
14300         just the pixel field filled in, and furthermore in the
14301         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
14302         It thus turns out that we really don't need to have the full
14303         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
14304         it later to have just the pixel values.
14305
14306 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
14307
14308         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
14309
14310 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
14311
14312         * docs/gtkfaq.sgml: threads example from Erik Mouw.
14313         New question on GtkLabel background colors.
14314
14315         * docs/gtk_tut.sgml:
14316           - Correct the example code callback
14317             function definitions.
14318           - Update the gtkdial example code, from Frans van Schaik.
14319           - Update setselection.c to current API.
14320
14321         * examples/Makefile examples/*/*.c: Update to code
14322         listed in tutorial.
14323
14324 1999-11-10  Tor Lillqvist  <tml@iki.fi>
14325
14326         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
14327         subrange table (from the "Developing International Software for
14328         WIndows 95 and Windows NT" book) was missing the Hangul syllable
14329         block... Get the loaded font's charset correctly.
14330
14331         (Note that this, and the other *-win32.c files, still really are
14332         the old ones, the win32 subdirectory is not ready for compilation
14333         yet after the reorg.)
14334
14335 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
14336
14337         * gtk/gtkclist.c: Fix off-by-one bug in parameter
14338         check.
14339
14340 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
14341
14342         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
14343         on results of XQueryDeviceState().
14344
14345 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
14346
14347         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
14348         we need to accesss only ->children. We need an accessor
14349         for the children.
14350
14351         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
14352         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
14353         to get rid of gdkx.h include.
14354         
14355         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
14356         and random references to 'None'.
14357
14358         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
14359         Get rid of unused #include <gdk/gdkx.h>
14360
14361         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
14362         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
14363         gdkconfig.h.
14364
14365 1999-11-08  Tor Lillqvist  <tml@iki.fi>
14366
14367         * gdk/win32/gdkdraw.c
14368         * gdk/win32/gdkfont.c
14369         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
14370         following yesterday's changes. (Unrelated to Owen's reorg.)
14371
14372 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
14373
14374         * gdk/x11/gdkinput-gxi.c: Add missing include,
14375           fix GdkWindowPrivate => GdkDrawablePrivate.
14376
14377         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
14378
14379         * gdk/x11/Makefile.am (xinput_sources): Add missing
14380         backslash to fix building with --with-xinput=none
14381
14382 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
14383
14384         Move all X specific code into the x11/ directory.
14385         Aside from shuffling things around, did the following:
14386
14387        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
14388          gdk_arg_context_* - a simple argument parsing system
14389          in the style of popt.
14390
14391        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
14392          gdk/x11/gdkprivate-x11.h:
14393          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
14394          add ->klass and ->klass_data fields. The klass_data
14395          field points to an auxilliary structure that is
14396          windowing system dependent.
14397
14398        * gdk/gdkfont.c: Make most of the measurement functions
14399          simply wrappers around gdk_text_extents().
14400
14401        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
14402          _gdk_font_strlen() function that hides the weird
14403          behavior in gtk+-1.[02] where a string is interpreted
14404          differently for 8-bit and 16-bit fonts.
14405
14406        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
14407          to store common code for synthesizing double/triple
14408          press events.
14409         
14410        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
14411          Make all the function that modify an existing GC
14412          simply wrappers around gdk_gc_set_values().
14413          
14414        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
14415          for throwing out later.
14416
14417        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
14418          GdkImagePrivate and GdkColormapPrivate to have a
14419          windowing system dependent part (GdkFontPrivateX etc.)
14420          that "derives" from the system-independent part.
14421
14422        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
14423          Got rid of the included-source-files for XInput in
14424          favor of automake conditionals. (Which didn't exist
14425          when XInput support was originally added.)
14426
14427        * gdk/gdkrgb.c: Remove the visual id from the debugging
14428          statements since that is X11 specific; print out
14429          type/depth info instead.
14430          
14431
14432 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
14433
14434         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
14435         loading duplicates of hashed fonts.
14436
14437         * gdk/gdk.c (gdk_keysym_convert_case): rename
14438         gdk_XConvertCase to gdk_keysym_convert_case, allow
14439         results to be NULL in the GTK+ style.
14440
14441         * gdk/gdkcompat.h: Started compatibility header
14442         for renames.
14443
14444 1999-11-07  Tor Lillqvist  <tml@iki.fi>
14445
14446         * gdk/win32/gdkprivate.h: New font private structures, related to
14447         fontsets.
14448
14449         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
14450         gdk_font_list_free(). On X11, will just be wrappers to
14451         XListFonts() and XFreeFontNames(). On Win32, the code previously
14452         in gtkfontsel.c is now here.
14453
14454         New function gdk_font_xlfd_create(). On X11 will get the FONT
14455         property of the font (for GDK_FONT_FONTs), or call
14456         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
14457         builds a XLFD style name from the font information in the LOGFONT
14458         struct(s).
14459
14460         New function gdk_font_xlfd_free(), which correspondingly frees the
14461         string returned by gdk_font_xlfd_create().
14462
14463         Implement fontsets on Win32. Add a function that iterates over a
14464         wide char string and calls a callback function for each substring
14465         of wide chars from the same Unicode subrange (and thus probably
14466         available in the same real font).
14467
14468         Improve the XLFD emulation a bit.
14469
14470         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
14471
14472         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
14473         Beta3, WM_IME_CHAR messages don't seem to contain the composed
14474         multi-byte char as with the Active IMM on Win9x. Oh well, handle
14475         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
14476         ImmGetCompositionStringW() to get the composed Unicode chars.
14477
14478         * gdk/win32/gdkgc.c
14479         * gdk/win32/gdkdraw.c: Changes needed because of the font private
14480         struct changes.
14481
14482         * gdk/win32/gdk.def: Add the new functions.
14483
14484 1999-11-04  Tor Lillqvist  <tml@iki.fi>
14485
14486         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
14487         get the Platform SDK to get <dimm.h>.
14488
14489         * gdk/win32/gdkevents.c: More event handling fixes and
14490         simplification. Never generate motion events with is_hint true. We
14491         used to do that on bogus grounds earlier. Windows sends
14492         WM_MOUSEMOVE messages on button events even if the mouse hasn't
14493         moved, ignore these.
14494
14495         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
14496
14497         * gdk/win32/gdkglobals.c
14498         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
14499         the TrackMouseEvent function, and use it.
14500
14501         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
14502         char before calling WideCharToMultiByte in order to get a string
14503         for the window title.
14504
14505         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
14506
14507         * gdk/win32/gdk.def: Remove obsolete functions.
14508
14509         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
14510         /nodefaultlib and /defaultlib switches.
14511
14512         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
14513
14514 1999-10-31  Tor Lillqvist  <tml@iki.fi>
14515
14516         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
14517         EuroSign).
14518
14519         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
14520         same type as GdkWChar, especially on Win32.
14521
14522         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
14523
14524         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
14525         before passing to Windows GDI for drawing etc. Convert to the
14526         system default codepage before passing to Windows as window
14527         titles.
14528
14529         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
14530         support changing input locale on the fly.
14531
14532         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
14533         on-the-fly changes. Convert incoming characters from the current
14534         codepage to Unicode (and then to a UTF-8 multi-byte string) based
14535         on the current input language. Use keysym<->Unicode mapping tables
14536         and functions borrowed from xterm sources.
14537
14538         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
14539         editions of Win9x, use the ActiveX-based Active IMM (Input Method
14540         Manager) if available. IMEs and the Active IMM are available under
14541         the disguise of Chinese, Korean and Japanese support for IE and
14542         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
14543         support is present in all editions (as long as you install it).
14544
14545         Call DispatchMessage from gdk_events_queue() (and thus
14546         gdk_WindowProc()), instead of duplicating the code in
14547         gdk_WindowProc().
14548
14549         Reworked the grab handling and propagation code, factored out
14550         duplicated code snippets into separate functions. Other cleanups,
14551         too.
14552
14553         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
14554         the <dimm.h> header describing the Active IMM.
14555
14556         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
14557         just do the same as for "single" fonts.
14558
14559         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
14560         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
14561         the new keysyms from gdkkeysyms.h.
14562
14563         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
14564         fontset, so that gtkentry uses wide characters.
14565
14566         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
14567         GTk+'s system directory "gtk+", not "gtk".
14568
14569 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
14570
14571         * docs/gtkfaq.sgml: FAQ update
14572
14573 1999-10-21  Tor Lillqvist  <tml@iki.fi>
14574
14575         * gdk/win32/gdkprivate.h: Add more font private data.
14576
14577         * gdk/win32/gdkfont.c
14578         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
14579         fonts and strings. Now works much better. You still have to
14580         have a correct font selected, though. No fontset emulation yet.
14581
14582 1999-10-19  Tor Lillqvist  <tml@iki.fi>
14583
14584         * gtk/maketypes.awk: Use G_OS_WIN32.
14585
14586         * gtk/gtk.def: Add some missing entry points. Also some non-public
14587         ones, but PyGTK porter claims to need them.
14588
14589         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
14590         built-in type generation.
14591
14592 1999-10-14  Tor Lillqvist  <tml@iki.fi>
14593
14594         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
14595         GDK_FONT_FONT fonts (which is all we have for now, we don't
14596         emulate fontsets). The X11 version uses plain XDrawString in that
14597         case, too. The string passed to gdk_draw_text_wc seems to be in
14598         fact (at least, when used by gtkentry and gtktext) either in a
14599         single-byte charset, or a DBCS. Not Unicode.
14600
14601         This fixes the problem in gtkfontsel, where even if you had
14602         selected a font with a non-Latin1 charset (windows-greek, for
14603         instance), the preview still used Latin-1 glyphs.
14604
14605         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
14606         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
14607         (gdk_font_load): Recognize the demibold etc weights, even if we
14608         don't have the corresponding constants in the headers.
14609         (gdk_font_hash_insert): Use same hash mechanism as in the X11
14610         version. Should save font resources a bit, when we don't have
14611         multiple HFONTs for the same font.
14612
14613         * gdk/win32/gdkprivate.h: Add the names field as in the X11
14614         version.
14615
14616 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
14617
14618         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
14619         X values
14620
14621 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
14622
14623         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
14624         layout support (as mentioned on
14625         http://www.jcinteractive.com/gnome-ui/software/widgets/)
14626
14627 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
14628
14629         * gtk/fnmatch.c
14630         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
14631
14632 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
14633
14634         * configure.in (ALL_LINGUAS): Added Galician (gl)
14635
14636 1999-10-05  Tor Lillqvist  <tml@iki.fi>
14637
14638         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
14639
14640         * gdk/win32/gdkcompat.c: New file, actually provide an
14641         implementation for the deprecated functions. (Just temporarily.)
14642
14643         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
14644
14645         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
14646
14647         * gdk/win32/gdk.def gtk/gtk.def: Updates.
14648
14649 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
14650
14651         * configure.in: Added "uk" to ALL_LINGUAS.
14652         
14653 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
14654
14655         * configure.in: correct checking for BeOS check
14656
14657         * gdk/gdktypes.h
14658         * gtk/fnmatch.c
14659         * gtk/gtkfilesel.c
14660         * gtk/gtkitemfactory.c
14661         * gtk/gtkmain.[ch]
14662         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
14663
14664 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14665
14666         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
14667         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
14668         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
14669         by Bulgarian). 
14670
14671 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
14672
14673         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
14674         Fix a reference to window_private->destroyed.   
14675
14676         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
14677         (ugly) setting of an internal GdkWindow member to use
14678         a _slightly_ cleaner macro.
14679
14680         * gdk/gdkprivate.h: Split GdkWindowPrivate into
14681         GdkDrawablePrivate and GdkWindowPrivate.
14682         Add extra macros for accessing GDK_DRAWABLE_ components.
14683
14684         * *.[ch]: Massive adjustments for the above, use the
14685         new macros in a lot of places.
14686
14687 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
14688
14689         * gdk/gdktypes.h: Make GdkDrawable the base type,
14690         not GdkWindow.
14691
14692 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
14693
14694         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
14695
14696 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
14697
14698         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
14699
14700 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
14701
14702         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
14703         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
14704
14705         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
14706
14707         * docs/gtk-config.1: Now autogenerated.
14708         * docs/Changes-1.4.txt: started
14709         
14710 1999-10-03  Tor Lillqvist  <tml@iki.fi>
14711
14712         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
14713         to #ifdef also here.
14714
14715         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
14716         Owen did to the X11 backend.
14717
14718         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
14719         ScrollWindowEx when blitting inside a window, it can't be correct
14720         in the general case.
14721
14722         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
14723         WM_GETMINMAXINFO is easier.
14724
14725         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
14726         depth equal to the bitspixel value, not the visual's depth.
14727
14728         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
14729         to 24 even if the bitspixel value is 32.
14730
14731         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
14732         need to check for depth==32 when bpp==32, depth will always be 24.
14733
14734 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14735
14736         * docs/Changes-1.4.txt: Started
14737         
14738         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14739
14740         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14741         
14742         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14743         into C file.
14744         
14745         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14746         header to gdkinputprivate.h.
14747
14748         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14749         unused since before 1.2.
14750
14751 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14752
14753         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14754         expand possible hex escapes in the font family (put there by
14755         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14756         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14757         On Win32, add hex escapes here, too.
14758
14759 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14760
14761         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14762         to #ifdef GDK_WINDOWING_X11.
14763
14764 [ Merges from gtk-1-2 ]
14765
14766 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14767
14768         * configure.in: fixed "GNU Make" check to pass with new make version
14769         3.77.95.
14770
14771 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14772
14773         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14774         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14775         AM_PATH_GTK() macros don't get confused by the -pre1.
14776
14777 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14778
14779         * configure.in (REBUILD): Change check for perl5
14780           to check explicitely for v >= 5.002. (5.001
14781           does not work with our scripts.)
14782
14783 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14784
14785         * configure.in: evaluate $PERL for the perl version check. added
14786         --disable-rebuilds to give the user an option to completely disable
14787         any source autogeneration rules.
14788
14789 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14790
14791         * configure.in: evaluate $ac_make when checking for GNU Make.
14792
14793 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14794
14795         * docs/Makefile.am: added generation.txt.
14796
14797         * Makefile.am: require automake 1.4, build README from README.in and
14798         INSTALL from INSTALL.in in dist-hook.
14799         
14800         * README.in:
14801         * INSTALL.in: new files to autogenerate README and INSTALL from.
14802
14803         * configure.in: figure whether we have GNU Make
14804
14805         * docs/generation.txt: minor additions/corrections.
14806
14807 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14808
14809         * docs/gtkfaq.sgml: FAQ Update
14810
14811 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14812         
14813         * configure.in: Fix autoconf warnings about cross compilation by
14814         trying to provide sane defaults for AC_TRY_RUN.
14815
14816 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14817
14818         * ltconfig
14819         * ltmain.sh: upgrade to libtool 1.3.3
14820
14821 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14822
14823         * INSTALL: Indicate that the --with-glib= configure
14824         time flag is unsupported.
14825
14826 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14827
14828         * docs/generation.txt: Added a file that gives
14829         documenation about the autogeneration process for
14830         various autogenerated files.
14831         
14832 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14833
14834         * configure.in (LIBS): Look for libgmodule in the
14835         right location.
14836
14837 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14838
14839         * docs/gtk_tut.sgml: Removed references to
14840         code examples in my directory on gtk.org as
14841         they should all be in the tutorial now.
14842
14843         * docs/gtk_tut.sgml: Added sources for dial-test
14844         and scribble-xinput programs that were previously
14845         missing.
14846
14847 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14848
14849         * TODO: Added entry about menu keyboard navigation, removed
14850         some finished items.
14851
14852 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14853
14854         * acinclude.m4: Standardize on func_dgettext
14855         not func_gettext, so that the checks for dgettext
14856         actually are paid attention to.
14857
14858 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14859
14860         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14861         directly, rather than repeating the checks for
14862         gettext.
14863
14864         * INSTALL: Added information about gettext and
14865         NLS support.
14866
14867         * acinclude.m4 (LIBM): Check for dgettext, not
14868         just gettext. This should hopefully fix things wrt
14869         systems with old versions of GNU gettext installed.
14870
14871 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14872
14873         * configure.in (LIBS): Look for libgmodule in the
14874         right location.
14875
14876 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14877
14878         * autogen.sh: add --enable-maintainer-mode
14879
14880         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14881
14882 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14883
14884         * docs/gtk-config.1.in:
14885           docs/Makefile.am:
14886           configure.in: gtk-config is now generated.
14887
14888         * docs/gtk-config.1: Removed, now generated.
14889
14890 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14891
14892         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14893         handle CreateNotify itself, still put out a debuging message for
14894         --gdk-debug=events. made the ReparentNotify debugging message more
14895         verbose.
14896         wrap xcoords translation for ConfigureEvents into an error trap,
14897         a destroy event may already be pending, and in that case, the
14898         actuall coordinate values are not at all critical.
14899
14900 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14901
14902         * gdk/gdkcc.c: Stop leaking the color_hash all over
14903         the place. Simplify and improve the logic.
14904
14905 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14906
14907         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14908         for prototypes and function implementations consistent (reported
14909         by Tomas Ogren).
14910
14911 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14912
14913         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14914         send_event set in debugging output.
14915         (gdk_compress_exposures): default initialize the event so we don't
14916         operate on bogus values (namely send_event).
14917
14918 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14919
14920         * gdk/gdkwindow.c: When we receive an unexpected
14921         destroy notify on one of our windows, don't just
14922         warn about it, also mark our windows as destroyed.
14923
14924 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14925
14926         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14927           name => font and name => fontset hashes. The 
14928           name => fontset hash is a _big_ win since we
14929           weren't previously caching fontsets at all and loading
14930           fontsets is expensive. The name => font hash
14931           is less of a win, but it does save us from doing
14932           repeated XQueryFont calls on the same font.
14933
14934         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14935           list so we can remove font/fontset from hash.
14936
14937 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14938
14939         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14940           and slightly confusing test. [ XInternAtom (,,TRUE)
14941           will never return None ].
14942
14943 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14944
14945         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14946           gdk/gdkwindow.c (gdk_window_set_hints):
14947
14948         Don't omit setting the properties if flags == 0 -
14949         there may be an existing set of properties there
14950         already. (Very old bug. Would it be better to
14951         delete the property instead?)
14952
14953         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14954           spelling error in comment.
14955
14956 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14957
14958         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14959           to avoid stomping over gdk_error_warnings.
14960
14961         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14962           as (bits_per_pixel + 7) / 8. This gives the same
14963           result as before for multiples of 8, but actually
14964           a "reasonable" value for 1bit or 4bit displays.
14965
14966 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14967
14968         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14969         GNU Make.
14970
14971 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14972
14973         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14974         discarding configure events.
14975
14976 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14977
14978         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14979         refcount is greater than zero.
14980
14981         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14982
14983         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14984
14985         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14986
14987         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14988
14989 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14990
14991         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14992         that format 32 => sizeof(item) == 4. It really is
14993         sizeof(long).
14994
14995 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14996
14997         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14998         core dump at all on X IO errors, only core dump
14999         if --enable-debug for X errors.
15000
15001 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
15002
15003         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
15004         unknown window:" message. disabled ConfigureNotify discarding code,
15005         because it led to events being processed out of order.
15006
15007 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
15008
15009         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
15010
15011         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
15012         we export this function, supress error warnings and don't reset the
15013         error code in the first half of this function.
15014
15015         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
15016         code (instead of just -1) so gdk_error_trap_pop() reveals something
15017         actually informative about the error that happened.
15018
15019         * gdk/*.c:
15020         don't rely on gdk_error_code being -1 if an error occoured, but just
15021         gdk_error_code != 0.
15022
15023 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
15024
15025         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
15026         pointer *before* invoking the filter function, so we at least don't
15027         crash if a filter is removed that is currently executed. window filters
15028         *really* need to be made truely reentrant at some point.
15029
15030 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
15031
15032         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
15033         PropertyNotify debug messages.
15034
15035 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
15036         
15037         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
15038         
15039         * gdk/gdkim.c: Fix cut-and-paste errors for 
15040         x/y and PreeditAttributes/StatusAttributes.
15041
15042 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15043
15044         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
15045         G_MAXINT to 2^16 to alleviate overflow problems in
15046         various window managers.
15047
15048 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15049
15050         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15051         for fontsets.
15052
15053 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
15054
15055         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
15056         Initialize size_hints.x and size_hints.y because kwm
15057         brokenly pays attention to them.
15058         (Bug #1181 -  Lars Heete <hel@admin.de>)
15059
15060 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
15061
15062         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
15063         return value of gdk_list_visuals(). 
15064         (Bug #1193 - Morten Welinder <terra@diku.dk>)
15065
15066 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
15067
15068         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
15069         XSetIMValues to (void *) when comparing to NULL, to workaround
15070         the problem of some compilers barfing since older X headers don't
15071         have the prototype for it.
15072
15073 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
15074
15075         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
15076         for pseudocolor where colormap->colors was double
15077         allocated.
15078
15079         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
15080         color value in the hash table with the pixel filled
15081         in so when we do later hash table lookups, the color
15082         value is correct.
15083         
15084 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
15085
15086         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
15087         making the call
15088
15089 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
15090
15091         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
15092         pointed out by Morten Welinder <terra@diku.dk>.
15093
15094 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15095
15096         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15097           default filter from the list
15098
15099 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15100
15101         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15102           default filter from the list
15103
15104 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
15105
15106         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
15107
15108         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
15109         g_strdup_printf instead of calcing the length separately
15110
15111 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
15112
15113         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
15114         that we don't do in many other places. (Fixing duplicate 
15115         #include of config.h)
15116
15117         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
15118         Otherwise, #ifndef XINPUT_NONE check in the latter
15119         doesn't work. (Bug #546)
15120
15121 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
15122
15123         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
15124         "None" case insensitive.
15125
15126 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15127
15128         * gdk/gdkselection.c: 
15129         Add error traps so if the other end of the connection
15130         dies, we survive.
15131
15132 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15133
15134         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
15135         dest_xid field into two fields - one for the window
15136         to send in messages, one to indicate the last looked
15137         up window for caching purposes. This is needed, so
15138         that Leave messages get the correct window.
15139
15140 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
15141
15142         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
15143         Fix warning created by people mucking around
15144         with the gsource API.
15145
15146         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
15147         Change mapping between GIOCondition and GdkInputCondition
15148         to match the way the Linux kernel does it. This should
15149         fix problems where closed pipes were no longer signalling
15150         GDK_INPUT_READ on systems with a native poll().
15151
15152 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
15153
15154         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
15155         explicitly for the string "None" - it is in the XPM
15156         spec and some servers treat unknown colors in odd ways
15157         (like asking the user!)
15158
15159 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
15160
15161         * gdk/gdkevents.c: made "->" into a "." of previous change so
15162         it compiles
15163
15164 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
15165
15166         * gdk/gdkevents.c (gdk_compress_exposures): Set the
15167         window field of the event structure before calling
15168         user filters.
15169
15170 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15171
15172         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
15173         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
15174
15175 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
15176
15177         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
15178         intermediate text property - prevents major memory
15179         leak when gdk_use_mb.
15180         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
15181
15182 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
15183
15184         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
15185         gtk-a-higuti-990322-[0-3]
15186
15187         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
15188         sizeof(wchar_t) != sizeof (GdkWChar)
15189
15190         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
15191         that was causing -DX_LOCALE not to work.
15192
15193         * gtk/gtkrc.c (gtk_rc_init):
15194         X_LOCALE will never have LC_MESSAGES defined
15195
15196         * gdk/gdk.c (gdk_init_check):
15197         Remove --xim-preedit and --xim-status from argv properly.
15198
15199         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
15200         that the client window is present on the X server
15201         before we pass it to the input method.
15202
15203 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
15204
15205         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
15206         if --display is specified on the command line, than
15207         the drag window will not be created on that display.
15208         
15209 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
15210
15211         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
15212         lookups with only_if_exists == TRUE were inserting
15213         bogus values into the atom cache.
15214
15215 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15216
15217         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
15218         then reset it to NULL.
15219
15220         * gdk/gdkcolor.c:
15221         (gdk_colors_free): 
15222         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
15223         key for g_hash_table_remove() in both functions, this prevents us
15224         from accessing possibly uninitialized portions of a GdkColor structure
15225         where we are only interested in its pixel value.
15226
15227 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15228
15229         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15230         font hash table, if we have a GdkFontPrivate entry for this font
15231         already, simply increment its reference count, provided by Olaf Dietsche
15232         <olaf.dietsche+list.gtk@netcologne.de>.
15233
15234 1999-09-21  Tor Lillqvist  <tml@iki.fi>
15235
15236         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
15237         just to be sure.
15238
15239         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
15240         unused variables, leftovers from the X11 version.
15241
15242         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
15243
15244         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
15245         downcase fields on X11.
15246
15247 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
15248         
15249         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
15250         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
15251
15252 1999-09-17  Tor Lillqvist  <tml@iki.fi>
15253
15254         * gdk/win32/gdk.def: Add gdk_threads_mutex.
15255
15256         * gtk/makefile.msc: Correct path to libintl.
15257
15258         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
15259         use of gint vs. int, and gint vs. gboolean in headers and
15260         definitions. Use GtkType for the *_get_type functions. Note that
15261         these changes preserve binary compatibility.
15262
15263         * gdk/gdk.c
15264         * gdk/win32/gdk.c
15265         * gdk/gdk.h: Fix inconsistencies: gint vs int.
15266
15267         * gtk/gtkmain.c
15268         * gtk/gtkclist.c
15269         * gtk/gtkmenufactory.c
15270         * gtk/gtknotebook.c
15271         * gtk/gtkwidget.c: Fix inconsistencies, also gint
15272         vs. gboolean.
15273
15274         * gtk/gtkcolorsel.[ch]
15275         * gtk/gtkcombo.[ch]
15276         * gtk/gtkdrawingarea.[ch]
15277         * gtk/gtkgamma.[ch]
15278         * gtk/gtkhandlebox.[ch]
15279         * gtk/gtkhpaned.[ch]
15280         * gtk/gtkhruler.[ch]
15281         * gtk/gtkplug.[ch]
15282         * gtk/gtkpreview.[ch]
15283         * gtk/gtkruler.[ch]
15284         * gtk/gtksocket.[ch]
15285         * gtk/gtkstatusbar.[ch]
15286         * gtk/gtktoolbar.[ch]
15287         * gtk/gtkvbbox.[ch]
15288         * gtk/gtkvpaned.[ch]
15289         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
15290         functions.
15291
15292         * gtk/gtkgamma.h: Fix bug, missing () in call of
15293         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
15294
15295 1999-09-14  Tor Lillqvist  <tml@iki.fi>
15296
15297         * gdk/gdkcolor.c (gdk_colormap_new)
15298         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
15299         colormap->colors was allocated twice.
15300
15301         * gdk/win32/gdk.c: Remove some unused stuff.
15302
15303         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
15304         colormap.
15305
15306         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
15307         * gtk/gtklabel.h (gtk_label_get_type)
15308         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
15309         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
15310         in a couple of places, not guint.
15311
15312 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
15313
15314         * configure.in,po/et.po: added Estonian language file
15315
15316 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
15317
15318         * configure.in,po/da.po: added Danish file
15319
15320 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
15321
15322         * docs/gtkfaq.sgml: Minor FAQ Update
15323
15324 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
15325
15326         * docs/gtkfaq.sgml: FAQ update
15327
15328 1999-08-27  Tor Lillqvist  <tml@iki.fi>
15329
15330         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
15331         way to get window contents continually refreshed while resizing. I
15332         didn't like the effects myself, so it's not on by default.
15333
15334         * gdk/win32/gdkprivate.h: New flag variable
15335         gdk_event_func_from_window_proc, FALSE by default.
15336
15337         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
15338         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
15339         are passed --gdk-event-func-from-window-proc.
15340
15341         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
15342         and we have am event_func, call it instead of enqueing the event.
15343
15344 1999-08-23  Tor Lillqvist  <tml@iki.fi>
15345
15346         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
15347         Kelley: Set expose_count in GdkEventExposes correctly.
15348
15349         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
15350         MULTIPLE_WINDOW_CLASSES).
15351
15352         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
15353         for bug in NT, apparently NT *does* draw the end pixel, too, in
15354         LineTo with a one-pixel pen, so we don't have to do it ourselves.
15355
15356 1999-08-21  Tor Lillqvist  <tml@iki.fi>
15357
15358         Improvements by Hans Breuer: 
15359
15360         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
15361
15362         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
15363         CS_?REDRAW flags as they cause lots of (late) redraws when "show
15364         window contents while dragging" is turned on. Allocate at least
15365         one unique class for every GdkWindowType. If support for single
15366         window-specific icons is ever needed (eg. Dialog specific), every
15367         such window should get its own class.
15368
15369 1999-08-19  Tor Lillqvist  <tml@iki.fi>
15370
15371         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
15372         error that caused crashes.
15373
15374 1999-08-17  Tor Lillqvist  <tml@iki.fi>
15375
15376         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
15377         window, use ScrollWindowEx, and call UpdateWindow. This prevents
15378         bugs when for instance part of the window was outside the
15379         display. Thanks to Philippe Colantoni for finding and fixing this.
15380
15381 1999-08-16  Tor Lillqvist  <tml@iki.fi>
15382
15383         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
15384         endpoint calculations which were totally wrong. (A little RTFMing
15385         helps a lot ;-)
15386
15387         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
15388         from a separate directory, not from gettext, because of licensing
15389         issues (we want to use the LGPL version).
15390
15391         * README.win32: Mention the intl from glibc vs from gettext issue.
15392
15393 1999-08-13  Tor Lillqvist  <tml@iki.fi>
15394
15395         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
15396         in the key event handling: Now AltGr chars work again. Also,
15397         now Alt-digits are passed up as well as Control-digits.
15398         Pass keypad plus and minus as normal plus and minus.
15399
15400 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
15401
15402         * docs/gtkfaq.sgml: FAQ Update
15403
15404 1999-07-25  Tor Lillqvist  <tml@iki.fi>
15405
15406         * README.win32
15407         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
15408         the Wintab SDK.
15409
15410         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
15411         OK, but getting closer. Guard against bogus tilt data from Wacom
15412         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
15413         enable easier building without Wintab.
15414
15415         * gdk/win32/gdkinput.h
15416         * gdk/win32/gdkevents.c 
15417         * gdk/win32/gdkwindow.c: Minor changes related related to above.
15418         
15419         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
15420         code. As we have just one visual on Win32, no sense to have it in a
15421         table, and no need for the hash table.
15422
15423         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
15424         better on white background.
15425
15426 1999-07-21  Tor Lillqvist  <tml@iki.fi>
15427
15428         * README.win32: Update gcc build instructions. Mention gettext is
15429         GPL.
15430
15431         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
15432         supported cursor size with GetSystemMetrics.
15433
15434         * gdk/win32/gdkfont.c
15435         * gtk/gtkfontsel.c: Guard against some font weight and charset
15436         symbols being undefined (in mingw32 headers).
15437
15438         * gdk/win32/makefile.cygwin
15439         * gtk/makefile.cygwin
15440         * gtk/gtkthemes.c: No longer need to have differently named
15441         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
15442
15443 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
15444
15445         * docs/gtkfaq.sgml: Long awaited FAQ update.
15446
15447 1999-07-15  Tor Lillqvist  <tml@iki.fi>
15448
15449         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
15450         it. Obscure bit manipulation needed.
15451
15452         * gdk/win32/gdkevents.c: Logging.
15453         
15454         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
15455         style (file name include compiler name) for theme engines.
15456
15457 1999-07-13  Tor Lillqvist  <tml@iki.fi>
15458
15459         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
15460
15461         * gdk/win32/gdkevents.c: Fix long-standing bug in key
15462         events. The key.string wasn't zero-terminated, still we strdup'ed
15463         it in gdk_event_copy(). Synthesize crossing events for button
15464         events before possible propagation.
15465
15466         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
15467
15468         * gdk/win32/makefile.cygwin
15469         * gtk/makefile.cygwin: Use new DLL naming style for the
15470         GCC-compiled ones.
15471
15472         * gdk/win32/makefile.msc
15473         * gtk/makefile.msc: Cosmetics mostly.
15474
15475         * gtk/gtk.def: Add missing entry points.
15476
15477         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
15478
15479 1999-07-09  Tor Lillqvist  <tml@iki.fi>
15480
15481         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
15482         or height is zero. Don't print a warning if Pie or Arc fails, they
15483         always fail (?) for very narrow ellipses.
15484
15485         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
15486         the part or the destination window corresponding to source area
15487         outside of the source drawable's boundary.
15488
15489         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
15490         anything if less than two points.
15491
15492         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
15493         return NULL. Gtk cut-and-paste inside a single program works
15494         better this way. (It always gets the clipboard contents from
15495         Windows, not from its own copy, which is cleared anyway. I can't
15496         say I fully understand what happens... Emulating the X selection
15497         and property stuff is a bit of a mess.)
15498
15499         * gdk/win32/gdkevents.c
15500         * gdk/win32/gdkproperty.c: A bit more verbose logging.
15501
15502         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
15503         that never got deleted). Revamp gdk_region_shrink.
15504
15505         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
15506         after use.
15507
15508         * gtk/gtk.def: Add some missing entry points.
15509
15510         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
15511         component.
15512
15513 1999-07-04  Tor Lillqvist  <tml@iki.fi>
15514
15515         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
15516         Control-digits specially.
15517
15518 1999-07-03  Tor Lillqvist  <tml@iki.fi>
15519
15520         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
15521
15522 1999-06-28  Tor Lillqvist  <tml@iki.fi>
15523
15524         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
15525         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
15526         finding this.)
15527
15528 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
15529
15530         * gtk+.spec.in: Corrected some typos in files section.
15531         
15532 1999-06-15  Tor Lillqvist  <tml@iki.fi>
15533
15534         * README.win32: Mention using GNU gettext.
15535         * config.h.win32: Enable NLS stuff.
15536         * gtk/makefile.msc: Use GNU gettext.
15537         * gdk/win32/gdkdnd.c: Minor header reorg.
15538         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
15539         cosmetics.
15540         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
15541         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
15542
15543 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
15544
15545         * acinclude.m4
15546         * config.guess
15547         * config.status
15548         * ltconfig
15549         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
15550
15551 1999-05-30  Tor Lillqvist  <tml@iki.fi>
15552
15553         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
15554         SafeAdjustWindowRectEx. Don't override all calls to
15555         AdjustWindowRectEx by it, but use it only in two places: When
15556         creating a new top-level window and when moving a top-level
15557         window.
15558
15559         Use screen coordinate rectangle, not client rectangle, in
15560         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
15561         when we try to place a window so that the decoration (mainly,
15562         title bar) isn't visible.
15563
15564         These changes fix the bug that showed up for instance as the
15565         GIMP's saved top-level windows moving right and down (by an amount
15566         equal to the window decoration) for each session. This bug showed
15567         up also in testgtk's "Saved Position".
15568
15569         gdk_window_resize also redone a bit.
15570
15571 1999-05-25  Tor Lillqvist  <tml@iki.fi>
15572
15573         * gtk/testgtkrc: Add (commented out) Windows-style theme
15574         include line.
15575
15576         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
15577
15578 1999-05-18  Tor Lillqvist  <tml@iki.fi>
15579
15580         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
15581         gdkx.h to a gdk subdirectory, so that applications can include
15582         these with <gdk/*.h> without trouble.
15583
15584         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
15585         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
15586         have their bitmap destroyed.
15587
15588         * gdk/win32/gdk.def: Add gdk_root_parent.
15589
15590 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
15591
15592         * configure.in
15593           gtk-config.in
15594           ltconfig
15595           ltmain.sh     
15596           gtk/Makefile.am: changes to compile nicely (with xlib) 
15597           on BeOS
15598
15599 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
15600
15601         * acinclude.m4
15602         * config.guess
15603         * config.sub
15604         * ltconfig
15605         * ltmain.sh: upgrade to libtool 1.3
15606
15607 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
15608
15609         * gtk/gtkclist.c:
15610         * gtk/gtkctree.c: merges from gtk-1-2
15611
15612 1999-04-25  Tor Lillqvist  <tml@iki.fi>
15613
15614         Support added for building using a GNU toolchain on Win32,
15615         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
15616
15617         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
15618         * config.h.win32: Changes for gcc.
15619         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
15620         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
15621         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
15622         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
15623         Protect shl stuff unavaiilable with mingw32 headers.
15624         * gdk/win32/gdkevents.c: Fix typo.
15625         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
15626         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
15627         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
15628         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
15629         the mingw32 headers.
15630         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
15631         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
15632         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
15633         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
15634         Test for NATIVE_WIN32, not _MSC_VER.
15635         * gtk/gtkmain.c: No use warning about developer version on Win32,
15636         there aren't any non-developer versions anyhow.
15637         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
15638         * gtk/makefile.msc: Use pthread from another directory. Minor other
15639         changes. 
15640
15641 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15642
15643         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15644           default filter from the list
15645
15646 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
15647
15648         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
15649          when gtk_widget_grab_default() is called for a widget that
15650          is not within a GtkWindow.
15651
15652 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
15653
15654         * docs/gtk_tut.sgml, examples/clist.c: use a
15655           scrolled window in the clist example. Minor
15656           tutorial fixes.
15657
15658 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
15659
15660         * docs/gtk_tut.sgml: Style check from David King
15661           <dking@youvegotmail.net>
15662
15663 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
15664
15665         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
15666         compile with unknown value of GDK_WINDOWING
15667
15668 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
15669
15670         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
15671         after the rule is fired.
15672         (install-exec-local): Install gdkconfig.h only if the contents are
15673         different from the currently installed gdkconfig.h.
15674
15675 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
15676
15677         * gdk/Makefile.am (configexecincludedir): Rename from 
15678         configincludedir so that gdkconfig.h will be installed 
15679         as part of `make install-exec'. 
15680
15681 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
15682
15683         * acinclude.m4
15684         * config.guess
15685         * config.sub
15686         * ltconfig
15687         * ltmain.sh: upgrade to libtool 1.2f
15688
15689         * autogen.sh: libtool is not required to autogen gtk+
15690
15691         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
15692         needed)
15693
15694 1999-03-18  Tor Lillqvist  <tml@iki.fi>
15695
15696         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
15697         declaring gdk variables exported/imported from the DLL. New image
15698         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
15699         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
15700         GDK_DRAG_PROTO_OLE2.
15701
15702         * gdk/gdk.h: Merge in Win32 version: Two new functions,
15703         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
15704         declared only for the Win32 version, but could be in the X11
15705         version as well. (Needed for a Xlib-less gdk_imlib.)
15706         gdk_color_hash should have only one parameter. Declare
15707         gdk_threads_mutex with GDKVAR.
15708         
15709         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
15710         just one parameter.
15711
15712         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
15713         per pixel, not bits.
15714
15715         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
15716         Fetch bpp (which means bits-per-pixel here) from another place on
15717         Win32. Accept also depth==32 (which we might get on Win32) with
15718         bpp==32.
15719
15720         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
15721         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
15722         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
15723         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
15724         in the backend-dependent directory, not in the common gdk
15725         directory.
15726
15727         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
15728         headers.
15729
15730 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
15731
15732         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
15733         want to use the Gtk+ devel version (which is true, and yes - even i am
15734         currently working with the 1.2.x branch). so everyone reading this, you
15735         probably want to issue
15736         cvs checkout -r glib-1-2 glib
15737         and
15738         cvs checkout -r gtk-1-2 gtk+
15739         as your next two comands.
15740
15741 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15742
15743         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15744         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15745
15746         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15747         file. strongly deprecated the GTK_HAVE_* macros, we provide
15748         GTK_CHECK_VERSION() for people that need to check for certain
15749         Gtk+ versions.
15750
15751         * gtk/gtkcompat.h: removed this from CVS.
15752         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15753         idea right from the start, it just didn't seem like that back then.
15754
15755 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15756
15757         * merges from gtk-1-2:
15758
15759 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15760
15761         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15762         item factory class has been created.
15763         (gtk_item_factory_parse_rc): likewise.
15764
15765         * gtk/gtkmenu.c:
15766         keep proper references for old_active_menu_item.
15767         (gtk_menu_reparent): unset the usize of the new parent,
15768         so the menu can sanely be size requested and we don't get nasty screen
15769         artefacts upon next reparentation.
15770         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15771         enter notify. only synthesize enter notifies if the pointer really is
15772         inside the event window.
15773         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15774         (gtk_menu_popup): move the background setting stuff into
15775         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15776
15777         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15778         gtk_menu_shell_select_item() to select the new item.
15779         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15780         do the right thing for deselection as well.
15781
15782 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15783
15784         * gtk/gtkwidget.[hc]:
15785         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15786         are locked.
15787
15788         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15789         existing accelerators if the widget's accelerators are locked.
15790
15791 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15792
15793         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15794
15795         * gtk/gtkmenu.c: truely forward key press and key release events to
15796         the menu widget from the toplevel or tearoff window. we can't simply
15797         connect to that, we need to stop further processing of the events as
15798         well.
15799
15800 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15801
15802         * gtk/gtkmenu.c:
15803         (gtk_menu_key_press): pass event->keyval, event->state to
15804         gtk_accelerator_valid, instead of event->keyval twice.
15805         refuse to install single letter accelerators for menus that use
15806         single letter shortcuts.
15807
15808         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15809         gtk_menu_ensure_uline_accel_group().
15810
15811         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15812         which will always return an uline accel group, made
15813         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15814         yet created.
15815
15816 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15817
15818         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15819
15820         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15821         Leave button sensitive, trap  button_press, button_release,
15822         motion_notify, enter_notify and leave_notify events instead.
15823         (gtk_clist_column_title_active): disconnect event handler.
15824         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15825         Guillaume Laurent <glaurent@worldnet.fr>
15826
15827 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15828
15829         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15830         width/height mixups.
15831
15832         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15833         if needed.
15834
15835 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15836
15837         * gtk/testgtk.c (create_item_factory): unref the item factory after
15838         window's destruction.
15839
15840         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15841         count on the menu shell around the menu item's activation, since the
15842         signal emission may cause menu shell destruction.
15843
15844         * gtk/gtkitemfactory.c:
15845         the previous code leaked one accel group per menu. we use
15846         gtk_menu_get_uline_accel_group() now to fix that, and with that
15847         also create the underline accelerator group of the menus only if
15848         required (i.e. an underline accelerator has been specified).
15849         (gtk_item_factory_construct):
15850         (gtk_item_factory_create_item): removed code that would create an
15851         extra accel group for the menu (and leak references).
15852         (gtk_item_factory_create_item): adapted the underline accelerator
15853         installation code to properly feature gtk_menu_get_uline_accel_group().
15854
15855         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15856         menu->accel_group, this may return NULL if the accelerator group
15857         hasn't been set yet.
15858         added gtk_menu_get_uline_accel_group() to retrive the underline
15859         accelerator group of the menu, this will be created on demand
15860         and proper care is taken about its reference count.
15861
15862         * gtk/gtkitemfactory.h:
15863         * gtk/gtkitemfactory.c:
15864         dumped the approach of keeping a widgets by action list on the
15865         factory since the factory<->widget destroy negotiation didn't work
15866         and would be hard to get going at all. instead we keep a list of
15867         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15868         persistant throughout a program's life time).
15869         also, i removed the static const gchar *key_* variables, and made
15870         them inline strings (they weren't actually used anyways).
15871         (gtk_item_factory_add_item): update ifactory->items.
15872         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15873         the item factory pointer from the remaining ifactory widgets).
15874         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15875         list to find the widget.
15876         (gtk_item_factory_get_item): new function that works around
15877         gtk_item_factory_get_widget() limitations, this function will only
15878         return menu items, even for <Branch> entries.
15879
15880 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15881
15882         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15883         font hash table, if we have a GdkFontPrivate entry for this font
15884         already, simply increment its reference count, provided by Olaf Dietsche
15885         <olaf.dietsche+list.gtk@netcologne.de>.
15886
15887         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15888         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15889
15890 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15891
15892         * gtk/gtkcontainer.c:
15893         (gtk_container_add_with_args):
15894         (gtk_container_addv):
15895         (gtk_container_add): before adding a child to a conatiner, make sure
15896         it is (default) constructed, this is neccessary because under certain
15897         circumstances the child will get relized and mapped immediatedly, in
15898         which case it has to be constructed already.
15899
15900 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15901
15902         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15903         values > 1 as TRUE also.
15904
15905 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15906
15907         * README.win32: New file.
15908                 
15909         * configure.in: Check for lstat.
15910
15911         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15912         completeness.
15913
15914         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15915
15916         * gtk/gtk.def: Removed CRs.
15917
15918         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15919         ..\gdk\win32).
15920
15921         * gdk/win32/makefile.msc: Correct upwards relative paths.
15922         
15923 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15924
15925         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15926           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15927           it was connecting a void function to expose_event and the int
15928           returning function to the draw signal
15929
15930 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15931
15932         * configure.in:
15933         Use correct path to libgmodule.la when ref'ing uninstalled copy
15934         of glib.  (Already in stable branch, Bug #417)
15935
15936 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15937
15938         Win32 merge and general portability stuff:
15939                 
15940         * acconfig.h,configure.in: Check for <sys/time.h>.
15941
15942         * gdk/win32: New directory (actually, been there for a while).
15943         
15944         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15945         NATIVE_WIN32, and use these. Always case fold on Win32. No
15946         backslashed escapes on native Win32.
15947
15948         * gtk/{gtk.def,makefile.msc}: New files.
15949
15950         * gtk/Makefile.am: Add above new files.
15951         
15952         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15953         instead of <strings.h>.
15954
15955         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15956         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15957         <unistd.h> appropriately.
15958
15959         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15960         Use ABS() (from <glib.h>) instead of abs().
15961         
15962         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15963         of gtk (and thus glib) headers, so that WIN32 will be
15964         defined. With MS C, include <direct.h> for mkdir prototype.
15965
15966         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15967         some casts, needed by MS C.
15968
15969         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15970         implemented).
15971
15972         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15973         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15974         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15975
15976         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15977                 
15978         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15979         the event is not a hint, or its window is not the slider. Needed
15980         on Win32, at least.
15981
15982         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15983         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15984         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15985         a subdirectory of the Windows directory as gtk system
15986         configuration directory.
15987
15988         * gtk/gtkselection.c: No chunks on Win32.
15989
15990         * gtk/gtksocket.c: Not implemented on Win32.
15991
15992         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15993
15994         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15995
15996         * gtk/maketypes.awk: Declare variables with a macro that expands to
15997         necessary export/import magic in the case of Win32.
15998                 
15999         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
16000
16001 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
16002
16003         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
16004         since those were meant only for gdki18n.h.  
16005         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
16006         for widechar tests.
16007         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
16008
16009 1999-03-13  Tor Lillqvist  <tml@iki.fi>
16010
16011         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
16012         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
16013
16014         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
16015         installed) to CFLAGS.
16016
16017         * gdk/Makefile.am: Add rules for gdkconfig.h.
16018
16019         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
16020         APIs.
16021
16022         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
16023         gdkx.h anyway when compiling for X11.
16024         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
16025         general): Merge in Win32 version.
16026         
16027         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
16028         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
16029         expansion (if we don't have HAVE_PWD_H), allow for drive
16030         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
16031         included code from Craig Setera's port to Win32 (the one that uses
16032         X11, and the cygwin dll), even if it probably will be abandoned.
16033
16034         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
16035         the user entered one herself.  This way one can complete *.h and
16036         don't get matches on any .help files, for instance.
16037         
16038 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16039
16040         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16041         font hash table, if we have a GdkFontPrivate entry for this font
16042         already, simply increment its reference count, provided by Olaf Dietsche
16043         <olaf.dietsche+list.gtk@netcologne.de>.
16044
16045         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16046         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16047
16048 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16049
16050         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
16051         the number of calls to gdk_draw_point() (and thus to X) by
16052         clipping the points by hand.
16053
16054         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
16055         the clip parameter.
16056         (gtk_handle_box_paint): Only paint the handle if the expose area
16057         intersects it.
16058
16059 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16060
16061         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
16062
16063 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
16064
16065         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
16066         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
16067
16068 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16069
16070         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
16071          textmode (O_TEXT) for OS/2 version.
16072
16073 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
16074
16075         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
16076         GtkSpinButton, "input" and "output", to make the output more flexible.
16077         The user has to provide a mapping between adjustment->value and the
16078         output string (and vice versa, if the spin button is editable). 
16079         See testgtk for examples.
16080
16081 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
16082
16083         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
16084         new one.
16085         
16086         * configure.in: set gtk+ version to 1.3.0.