]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
Add simple new demo.
[~andy/gtk] / ChangeLog.pre-2-6
1 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * demos/gtk-demo/dialog.c: Add simple new demo.
4
5 2001-02-19  Havoc Pennington  <hp@redhat.com>
6
7         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
8         insert_child_anchor signal, bug #50245
9
10         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
11         from create_child_anchor, so the anchor is passed in
12
13         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
14         (_gtk_widget_segment_new): have the child anchor object passed in, 
15         instead of creating it.
16
17         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
18         to gtk_text_buffer_get_modified
19
20 2001-02-19  Havoc Pennington  <hp@redhat.com>
21
22         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
23         changed GLib without fixing GTK
24
25         * gtk/gtkrange.h: Rename all the stupid implementation detail 
26         functions to have an underscore in front. Most of them should 
27         probably just go away, but for starters don't export them.
28         Bug #50482
29
30 2001-02-19  Havoc Pennington  <hp@redhat.com>
31
32         * gdk/gdkcolor.h: test was backward, so deprecated functions were
33         excluded by default
34
35         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
36         clean up the old code a bit
37
38         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
39         inconsistent state
40
41         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
42         draw inconsistent state
43
44         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
45         (create_menu): add inconsistent test
46
47         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
48         new function
49         (gtk_check_menu_item_get_inconsistent): new function
50         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
51         state (using etched in for now)
52
53         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
54         draw inconsistent state
55
56         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
57         function, used when the user has selected a range of stuff in
58         different states
59         (gtk_toggle_button_get_inconsistent): accessor for that
60         (gtk_toggle_button_paint): draw inconsistent state (etched in?
61         don't know what else to do)
62
63 2001-02-19  Hans Breuer <hans@breuer.org>
64
65         * gtk/gtk.def : updated exported symbols
66
67         * gtk/makefile.msc.in : updated
68
69         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
70         a colormap, when invoked from testgtk::entry. I'm not sure where
71         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
72         avoids immediate crashing ...
73
74         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
75         any objections ?
76
77         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
78         0 parameter. At least msvc doesn't like macros with var args. 
79         I simply removed the extra 0, was it a feature or a typo ?
80
81         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
82         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
83         because the value assignment to the internal struct wasn't working.
84         I'm not absolutely sure. The problem could have been resolved by
85         changing the "func" declartion in the struct, but was the pointer
86         to the function pointer intended ?
87
88         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
89
90         * gdk/gdk.def : updated exported symbols
91
92         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
93         only use SetDIBitsToDevice if there is a palette at the drawable
94         and the image is GDK_VISUAL_PSEUDO_COLOR
95
96         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
97
98         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
99
100         * gdk/*/makefile.msc : updated
101
102 2001-02-19  Havoc Pennington  <hp@redhat.com>
103
104         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
105         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
106
107         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
108         (gdk_key_repeat_restore): nuke
109
110         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
111         (gdk_init_check): no atexit func
112
113         * gdk/gdkrgb.h: mark some stuff deprecated
114
115         * gdk/gdkcolor.h: mark some stuff deprecated
116         
117         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
118
119         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
120
121 2001-02-16  Havoc Pennington  <hp@redhat.com>
122
123         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
124         scroll steps.
125
126         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
127         steps, and add Ctrl-arrow shortcuts for paging visually as with
128         HScale, since Page Up and Page Down move logically.
129
130         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
131         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
132         
133         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
134         steps
135         (gtk_range_scroll): handle the visual steps
136
137         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
138         scroll steps
139
140         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
141         steps, not the logical ones.
142
143         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
144         (scroll_vertical): handle up/down steps
145
146 2001-02-19 Alexander Larsson  <alexl@redhat.com>
147
148         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
149         Copy data and free data with free().
150
151         * gdk-pixbuf/gdk-pixbuf.c:
152         * gdk-pixbuf/io-jpeg.c:
153         * gdk-pixbuf/io-png.c:
154         Use g_try_malloc/g_free instead malloc/free.
155         
156         * gdk-pixbuf/test-gdk-pixbuf.c:
157         Must... initialize... gobject...
158         
159         * gdk-pixbuf/pixops/timescale.c:
160         * gtk/gtkcalendar.c:
161         Use g_malloc instead of malloc.
162         
163 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
164
165         * gtk/testgtkrc:
166         Comment out property assignments, these don't work yet.
167
168 2001-02-17  Havoc Pennington  <hp@pobox.com>
169
170         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
171         bit.
172
173 2001-02-17  Havoc Pennington  <hp@pobox.com>
174
175         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
176         shadowed variables that had broken size request in some cases,
177         leading to bogus tooltips (#50996)
178
179 2001-02-06  Jon K Hellan  <hellan@acm.org>
180
181         Implement fast browsing of tooltips, bug #50619
182         
183         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
184         and last_popdown
185         
186         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
187         use_sticky_delay and last_popdown.
188         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
189         time of popdown.
190         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
191         is NULL.
192         (gtk_tooltips_recently_shown): New static function.  Return true
193         if < sticky_delay has elapsed since last popdown.
194         (gtk_tooltips_event_handler): Display window after sticky_delay
195         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
196         since last popdown.
197         
198 2001-02-17  Havoc Pennington  <hp@pobox.com>
199
200         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
201         instead of (). #6394
202
203         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
204         G_CONST_RETURN, make it return by reference, #50473
205         
206 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
207
208         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
209         generated ENTER_NOTIFY event with 0, otherwise not explicitely
210         setup fields contain garbage (e.g. subwindow, breaking
211         gdk_drawable_ref() upon event copy).
212         (gtk_menu_stop_navigating_submenu_cb): same here.
213
214         * gtk/gtklist.c (gtk_list_vertical_timeout): 
215         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
216         * gtk/gtkclist.c (vertical_timeout): 
217         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
218         default-zero-intialization for unions to memset(,0,), as unions are
219         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
220         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
221
222         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
223         g_closure_sink() warning.
224
225         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
226         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
227         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
228         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
229         
230 >>>>>>> 1.1728
231 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
232
233         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
234         gtk_*_store_get, and moved to GtkTreeModel.
235
236         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
237
238         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
239
240         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
241
242         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
243         set the func.
244
245         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
246         freeze/thaw notify between setting all the properties for a cell.
247
248         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
249
250 2001-02-15  Havoc Pennington  <hp@redhat.com>
251
252         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
253         the X coordinates so they're with respect to the line, rather than 
254         with respect to the layout.
255
256         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
257         Mallabone
258
259         * gtk/testgtk.c (create_range_controls): add vscale tests, 
260         and inverted test
261
262         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
263         #50806
264
265         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
266
267         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
268         gtk_text_iter_is_end
269
270         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
271         rename gtk_text_buffer_get_end_iter
272
273         * gtk/testgtk.c (create_labels): Add test for selectable
274
275         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
276         the selection stuff. This code is kind of broken since it doesn't 
277         use the theme engine.
278
279         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
280         fix infinite loop and y offset problem
281         (gdk_draw_layout_line_with_colors): fix foreground color handling
282
283         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
284         that makes the label selectable.
285         
286         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
287         layout when the style is set, since fonts etc. could have changed.      
288
289 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
290
291         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
292
293         * gtk/gtktreemodelsimple.[ch]: removed.
294
295 2001-02-16  Alexander Larsson  <alexl@redhat.com>
296
297         * gtk/gtktreemodelmapping.[ch]:
298         New files. Implement GtkTreeModelMapping.
299         
300         * gtk/Makefile.am:
301         Add gtktreemodelmapping.[ch].
302         
303         * gtk/gtk.h:
304         Add gtktreemodelmapping.h
305
306         * gtk/treestoretest.c:
307         Test the GtkTreeModelMapping
308
309 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
310
311         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
312         have a demo, we might as well pass in real values.  Thanks to
313         clahey for pointing this out.
314
315 2001-02-14  Havoc Pennington  <hp@pobox.com>
316
317         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
318         "static" to a private function
319         (gtk_image_menu_item_class_init): remove destroy handler,
320         add "image" object property
321
322 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
323
324         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
325         Add a shortcut if the window and the current clip_region doesn't
326         overlap. This is needed when there are a lot of windows in a
327         window. The layout test in testgtk is a good test.
328
329         * gdk/linux-fb/gdkwindow-fb.c:
330         Whitespace fix.
331
332 2001-02-13  Sven Neumann  <sven@convergence.de>
333
334         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
335
336 2001-02-13  Alexander Larsson  <alexl@redhat.com>
337
338         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
339         Don't reference last_cursor if it is null. Fixes crash when rotating
340         the screen before having moved the mouse.
341
342         * gdk/linux-fb/gdkcc-fb.c: Zapp!
343
344         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
345
346         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
347         when using 90 or 270 degrees rotation.
348
349 2001-02-12  Havoc Pennington  <hp@pobox.com>
350
351         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
352         it always set the foreground, even if we were only using
353         a stipple.
354         (gdk_draw_layout_line_with_colors): new function, allow
355         override colors
356         (gdk_draw_layout_with_colors): new function, allow override
357         colors
358         (gdk_pango_layout_line_get_clip_region): function to get the clip
359         region for a logical text range
360         (gdk_pango_layout_get_clip_region): get the clip region for a
361         logical text range
362
363         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
364         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
365         the right number of arguments.
366
367         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
368         enhance the function to check that node data corresponds to a 
369         view still belonging to the tree.
370
371         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
372         GtkTreePath
373         (gtk_tree_view_inserted): ditto
374         (gtk_tree_view_child_toggled): ditto
375
376         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
377         simplify this code.
378
379         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
380         a PangoAttrList
381
382         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
383
384         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
385
386         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
387         size in the size request 
388         (gtk_menu_bar_size_allocate): consider toggle size here
389
390         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
391         that displays a widget in the toggle slot
392
393         * gtk/testgtk.c: test GtkImageMenuItem
394
395         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
396         
397         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
398         request and allocation
399
400         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
401
402         * gtk/gtkcheckmenuitem.c
403         (gtk_check_menu_item_toggle_size_request): ditto
404         
405 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
406
407         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
408         reference.
409
410         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
411         and refuse to initialize GTK+ if they fail.
412
413 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
414
415         * configure.in: Add check for gtk-doc version.
416
417 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
418
419         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
420         where the xpad/ypad was only being used on one side!
421
422 2001-02-11  Tor Lillqvist  <tml@iki.fi>
423
424         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
425         function, copied from X11 version.
426
427         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
428         DestroyCursor failures. The reason for the problem (despite the
429         inconsistent messages from GetLastError()) was that
430         DestroyCursor() cannot be called while a cursor is set in a
431         window. Set the new cursor first and then destroy the old one.
432         Thanks to jpe@archaeopteryx.com.
433
434         * gdk/win32/gdkcc-win32.c: Remove.
435
436         * gdk/win32/Makefile.am: Remove from here, too.
437         
438         * gdk/gdk.def
439         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
440
441         * gtk/gtk.def
442         * gtk/makefile.mingw.in: Updates.
443
444 2001-02-08  Havoc Pennington  <hp@redhat.com>
445
446         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
447         add a widget to a bin that already has a child.
448
449         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
450
451         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
452         
453         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
454
455         * gdk/gdk.h: remove gdkcc.h
456
457         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
458
459         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
460         GdkPixbuf, since the previous implementation was GdkColorContext
461         dependent.
462
463         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
464         
465 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
466
467         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
468         a sane value!
469
470 2001-02-08  Havoc Pennington  <hp@redhat.com>
471
472         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
473         lighten them.
474
475 2001-02-08  Havoc Pennington  <hp@redhat.com>
476
477         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
478         validation idle
479
480         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
481         cell renderer
482
483         * demos/pixbuf-demo.c (timeout): remove deprecated
484         gtk_widget_draw
485
486         * demos/testpixbuf-save.c (main): remove deprecated
487         gtk_drawing_area_size
488
489         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
490         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
491         at the start of the allocation.
492         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
493         unsetup or NULL model.
494
495         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
496         even/odd/sorted cells in the tree view.
497
498         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
499         bugfixes
500
501         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
502         backgrounds with draw_flat_box using different detail for even/odd
503         rows.
504
505         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
506         row, so we can draw the alternating colors thing
507
508         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
509         property from a synonym property, notify for the synonym.
510         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
511         (gtk_text_tag_get_property): Always return the font, even if
512         all its fields aren't set
513
514         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
515         store the attr list; it leaves us with no way to change attributes
516         in _render according to the render flags, and no way to implement
517         get_property. Instead store all the specific text attributes. 
518         Separate whether an attribute is enabled from its value. Sync all
519         properties with GtkTextTag, make them all consistent, etc.
520
521         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
522         renderers can highlight the sort row/column     
523
524         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
525         accessor functions to get values; this has the side effect of
526         showing up which accessor functions were missing. Added those.
527
528         * gtk/gtktreeviewcolumn.h: Replace set_justification with
529         set_alignment, to be consistent with GtkLabel, GtkMisc
530
531         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
532         arrow.
533
534         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
535
536         * gtk/gtktreesortable.h: updates in here
537
538 2001-02-07  Sven Neumann  <sven@convergence.de>
539
540         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
541         pango dimensions after painting the background. We used to draw
542         gigantic flat boxes here.
543
544 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
545
546         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
547         error introduced with earlier commit) (pointed out by
548         Ollie Lho)
549
550 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
551
552         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
553         which are no longer necessary.
554
555 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
556
557         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
558
559 2001-02-04  Tor Lillqvist  <tml@iki.fi>
560
561         * gdk/gdk.def
562         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
563         Provide dummy implementations.
564
565 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
566
567         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
568
569         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
570         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
571         deprecated this function.
572
573         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
574         argument.
575
576 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
577
578         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
579
580 2001-02-03  Havoc Pennington  <hp@pobox.com>
581
582         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
583         Mikael Hermansson with patch from Mikael (if there was a toggle
584         start one after the first character in the range, this function
585         was broken). Bug #50380
586
587 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
588
589         * configure.in: Remove confusing comment about X11.
590
591 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
592
593         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
594         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
595         
596 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
597
598         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
599         it breaks things on BSD. If you want to compile GTK+ with
600         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
601         when configuring, since GTK+ simply can't be "pure ANSI" 
602         in the header files it uses. (#8170, Greg Hudson)
603
604 2001-02-02  Havoc Pennington  <hp@redhat.com>
605
606         * gtk/gtkwindow.c: docs
607
608         * gtk/gtkwidget.c: docs
609         (gtk_widget_set_colormap): add a reference to the colormap
610         (gtk_widget_get_default_colormap): add a reference to the colormap
611
612         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
613
614         * gtk/gtktextiter.c: docs
615
616         * gtk/gtkmain.c (gtk_propagate_event): docs
617
618         * gtk/gtkpaned.c (gtk_paned_get_position): docs
619         (gtk_paned_set_position): docs
620
621         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
622         sort interface, no implementation yet.
623
624         * demos/testpixbuf.c (new_testrgb_window): replace
625         gtk_drawing_area_size() with gtk_widget_set_usize()
626
627         * demos/testpixbuf-drawable.c (main): ditto
628         
629         * gtk/testgtk.c: remove use of GtkStatusbarMsg
630
631         * gtk/gtktextbuffer.c: docs
632
633         * gtk/gtkstock.c: docs
634
635         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
636
637         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
638
639         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
640         
641         * gtk/gtkimage.c: add some docs in here
642         (gtk_image_size_request): change name of
643         gtk_widget_render_stock_icon
644         (gtk_image_get_icon_set): don't dup returned string
645         (gtk_image_get_icon_set): don't dup returned string
646
647         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
648         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
649         and gtkiconfactory.h functions
650
651         * gtk/gtkiconfactory.c: add some docs in here
652
653         * gtk/gtkmain.c (gtk_get_default_language): document
654         (gtk_get_current_event): document
655         (gtk_get_current_event_state): document
656         (gtk_get_event_widget): document
657
658         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
659
660         * gtk/gtkcontainer.c: Add some documentation
661         (gtk_container_add): give a more explanatory warning on adding an
662         already-parented widget, this is kind of a FAQ and also a common
663         typo that's easier to debug with a nice warning 
664
665         * gtk/gtkcellrenderertoggle.c
666         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
667         adding this, it's useless
668         (gtk_cell_renderer_toggle_set_active): remove
669         (gtk_cell_renderer_toggle_get_radio): add
670
671         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
672         the NULL cell renderer, that doesn't make any sense to me. 
673
674         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
675         demo code should never use deprecated features.
676
677         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
678         code should never use deprecated features.
679
680         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
681         gtk_widget_queue_clear_area deprecated
682
683         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
684         deprecated
685
686         * gtk/gtklabel.h: mark gtk_label_get() deprecated
687
688         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
689         a GdkImage deprecated, replaced by new consistently-named
690         functions       
691
692         * gtk/gtkmain.h: Mark gtk_exit() deprecated
693
694         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
695
696         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
697         deprecated
698
699         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
700         so it won't appear in docs and confuse people.
701
702         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
703
704         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
705         macros deprecated. (can't mark the type itself deprecated, since
706         GtkProgressBar is not deprecated and we need the type decl to use
707         GtkProgressBar)
708
709         * gtk/gtkpixmap.h: Mark deprecated
710
711         * gtk/gtkoldeditable.h: Mark deprecated
712
713         * gtk/gtklist.h: Mark deprecated
714
715         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
716         for anything anymore.
717
718         * gtk/gtkctree.h: Mark deprecated
719
720         * gtk/gtkclist.h: Mark deprecated
721
722         * gtk/gtkpreview.h: Mark deprecated
723
724         * gtk/gtkpacker.h: Mark deprecated
725
726         * gtk/gtktipsquery.h: Mark deprecated
727
728         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
729
730         * gtk/gtkvruler.h: Add comment that it will move out of GTK
731
732         * gtk/gtkhruler.h: Add comment that it will move out of GTK
733
734         * gtk/gtkruler.h: Add comment that it will move out of GTK
735
736         * gtk/gtkgamma.h: Add comment that it will move out of GTK
737
738         * gtk/gtkcurve.h: Add comment that it will move out of GTK
739
740 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
741
742         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
743         gdk_colormap_sync private since it was never exported
744         in a header file.
745
746         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
747         colormap->colors[] for StaticGray, StaticColor colormaps.
748
749         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
750         was being used as if it was image->bits_per_pixel.
751
752         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
753         for the image in the GdkImage structure since it isn't
754         reconstructable, and we need it to handle packed types
755
756         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
757         the assumption that on Win32 image->bits_per_pixel == image->depth,
758         always.
759
760         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
761
762         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
763         warning message if no converter can be found. 
764
765 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
766
767         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
768         chars to isupper() / tolower(). (#567)
769
770         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
771         to clear up 64-bit warnings. (#567)
772
773 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
774
775         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
776         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
777
778         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
779         since some people set $(libdir) separately. (#1290, David Kaelbling)
780
781 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
782
783         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
784         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
785         MAXPATHLEN, but the code here depends on a fixed value.)
786         (#4524)
787
788 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
789
790         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
791         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
792
793 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
794
795         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
796         viewable there is no way that moving the node will cause the 
797         focus row to become not viewable, so omit check on the visibility
798         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
799
800 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
801
802         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
803         selection before inserting new text.
804
805 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
806
807         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
808         Make the sensitivity of the reparented child track that of
809         the original parent menu item. (#34218, David Hodson)
810
811         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
812         the case where the current item is destroyed properly.
813
814         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
815         some edge cases with child-less menuitems.
816         
817 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
818
819         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
820         key pop down window. (#12074, Jon K Hellan)
821
822 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
823
824         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
825         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
826         The solution here isn't perfect - you get an extraneous
827         emission of "toggle", which could conceivably confuse an app,
828         but better than the current situation. LXR search seems to
829         indicate that no apps in GNOME CVS connect to "toggle".
830
831 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
832
833         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
834         gtk_public_h_sources to directly here to avoid warning when
835         building srcdir != builddir. (#9656)
836
837 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
838
839         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
840         handlers in gtkrange.c return the proper values (TRUE == handled)
841         (#10316).
842
843         This is just the tip of the iceberg, but gtkrange.c is the
844         most common place where the propagation is problematical,
845         and also a place where it is almost certainly safe to change
846         this in the stable branch.
847
848         (You don't want right click popups on a range control or anything...)
849
850 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
851
852         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
853         area on focus out, even if a background pixmap isn't set.
854         (#13941)
855         
856 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
857
858         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
859         to deal with setting the shape properly when scrolling arrows are
860         turned on, but not visible because there is sufficient space.
861         (#13432)
862
863 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
864
865         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
866         items with submenus, destroy the item along with the submenu.
867         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
868         properly.
869
870         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
871         later.
872
873 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
874
875         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
876         the focus widget sometimes wasn't drawn with the default if there
877         was no default widget.
878
879         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
880         unreference pixmaps. 
881
882         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
883         for some extra safety.
884
885 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
886
887         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
888         the text of a cell to the old pointer value better, by
889         copying the new text before freeing the old text. Some code
890         cleanup. (#8079, Karl Nelson)
891
892 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
893
894         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
895         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
896
897 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
898
899         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
900         item from a menu, check to see if it matches 
901         menu->old_active_menu_item, and if so, unref and clear
902         old_active_menu_item (Patch from Pavel Cisler)
903
904         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
905         menu_shell->active_menu_item, if it is the child being
906         removed. (Patch based on that of Gene Ragan, #50337)
907
908 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
909
910         * gdk/linux-fb/gdkselection-fb.c: 
911         * gdk/linux-fb/gdkcolor-fb.c: 
912         * gdk/linux-fb/gdkdrawable-fb2.c: 
913         * gdk/linux-fb/gdkfont-fb.c: 
914         * gdk/linux-fb/gdkim-fb.c: 
915         * gdk/linux-fb/gdkinput.c: 
916         * gdk/linux-fb/gdkkeyboard-fb.c: 
917         * gdk/linux-fb/gdkmain-fb.c: 
918         * gdk/linux-fb/gdkrender-fb.c: 
919         A bunch of whitespace cleanup.
920         
921 2001-01-30  Havoc Pennington  <hp@pobox.com>
922
923         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
924         #ifdef GTK_ENABLE_BROKEN.
925
926         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
927         GTK_ENABLE_BROKEN just before including the broken headers.
928         
929         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
930         deprecated types registered.
931
932         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
933         we have to test the broken stuff.
934
935         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
936         
937 2001-01-30  Havoc Pennington  <hp@redhat.com>
938
939         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
940         here where prev pointer was set to the wrong thing
941
942         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
943         (gtk_tree_path_is_descendant): new function
944
945         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
946         cached length
947         (gtk_list_store_get_iter): don't modify iter if we can't get the
948         path.
949
950         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
951         
952         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
953         GtkTreeDragDest
954
955         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
956         was causing segfault
957
958         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
959         pointer to NULL
960
961         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
962
963         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
964         on returning FALSE
965         (gtk_list_store_iter_children): ditto
966         (gtk_list_store_iter_nth_child): ditto
967         (gtk_list_store_iter_nth_child): ditto
968         (gtk_list_store_iter_parent): ditto
969
970         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
971         on iter->user_data != NULL instead of silently accepting it.
972         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
973         we are returning TRUE.
974         (gtk_tree_store_iter_children): ditto
975         (gtk_tree_store_iter_nth_child): ditto
976         (gtk_tree_store_iter_parent): ditto
977         (gtk_tree_store_insert): remove handling of parent->user_data ==
978         NULL, replace with parent == NULL       
979
980         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
981         and a comment explaining things
982
983         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
984         interface support to GtkTreeStore.
985
986         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
987         FALSE if no prev, fix
988
989         * gtk/gtktreeview.c (set_source_row): use a row reference
990         (set_dest_row): use a row reference
991
992 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
993
994         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
995         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
996         (gtk_tree_selection_select_iter): The same as above.
997
998 2001-01-26  Havoc Pennington  <hp@redhat.com>
999
1000         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1001         which holds a handle to a specific row (particular set of values
1002         in the model, i.e. pointer-identity row).
1003
1004         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1005         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1006         Still need to use it for the src/dest row saved on the drag context.
1007
1008 2001-01-26  Havoc Pennington  <hp@redhat.com>
1009
1010         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1011
1012         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1013         not offset by TREE_VIEW_HEADER_HEIGHT
1014         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1015         TREE_VIEW_HEADER_HEIGHT
1016
1017         * configure.in (included_loaders): for me, --with-included-loaders
1018         generates the error "the specified loader yes does not exist",
1019         i.e. the arg defaults to "yes", so change test for value ""
1020         to test for value "yes", and include all loaders in that case.
1021
1022         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1023
1024         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1025         handle TREE_VIEW_VERTICAL_SEPARATOR
1026         (gtk_tree_view_bin_expose): fix to consider the row offset as
1027         pointing halfway into vertical separator.       
1028         (gtk_tree_view_draw_node_focus_rect): ditto
1029
1030         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1031         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1032         (TRUE) to be called.
1033
1034         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1035         debug mode where the invalid region is colored in on invalidate,
1036         so you can see the flicker and know whether your redraw code is 
1037         doing a good job.
1038
1039         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1040         tree window coordinates (clip rect is in tree window coords)
1041
1042         * gtk/Makefile.am: add gtktreednd.[hc]
1043
1044         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1045
1046         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1047         drag-and-drop data operations on a model (so we can set up tree
1048         drag-and-drop automatically)
1049
1050         * gtk/testgtk.c: Add a window to change sensitivity in the
1051         GtkLabel test; add a way to change the entry frame in GtkEntry
1052         test
1053
1054         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1055         (gtk_entry_get_has_frame): new functions to remove the frame
1056         around an entry
1057         (gtk_entry_size_request): shrink requisition if no frame
1058         (gtk_entry_draw_focus): don't draw frame if no frame
1059
1060         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1061         checks inside a cell renderer
1062         (gtk_default_draw_option): ditto for options
1063
1064         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1065         children from the alignment, not the button
1066         (gtk_tree_view_column_init): ref/sink the column, to emulate
1067         GObject refcounting.
1068
1069         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1070         
1071         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1072         Use theme functions to draw the toggles 
1073
1074         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1075
1076         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1077         GdkPangoAttrEmbossed to use in rendering insensitive text
1078
1079         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1080
1081         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1082         using new GDK features
1083         
1084 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1085
1086         * gtk/gtkimage.c:
1087         Splitted gtk_image_clear into gtk_image_clear() and
1088         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1089         to avoid leaks.
1090
1091         * gtk/gtklabel.c (set_markup):
1092         Don't leak text.
1093
1094         * gtk/gtktextlayout.c:
1095         Always free display->shaped_objects.
1096
1097         * gtk/testgtk.c (create_clist):
1098         Don't leak custom style.
1099
1100 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1101
1102         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1103         Don't leak image. Simplify using gdk_colormap_query_color().
1104         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1105
1106         * linux-fb/gdkcolor-fb.c:
1107         Implemented gdk_colormap_query_color.
1108
1109 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1110
1111         * linux-fb/gdkcursor-fb.c:
1112         Don't leak built-in cursors.
1113
1114         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1115         Don't leak tmp_points.
1116
1117         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1118         Don't modify desc. Don't leak font if the PangoFont
1119         isn't found.
1120         
1121         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1122         Free dash_list.
1123
1124         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1125         Don't leak string.
1126         
1127 2001-01-20  Havoc Pennington  <hp@pobox.com>
1128
1129         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1130         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1131         me, matches Pango
1132
1133 2001-01-22  Havoc Pennington  <hp@redhat.com>
1134
1135         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1136
1137         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1138
1139         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1140         Remove, move back to gdk-pixbuf
1141
1142         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1143         to all the word functions
1144
1145         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1146         before doing anything on NULL layout or if we don't have the focus
1147
1148         * gtk/testtext.c (fill_example_buffer): "justification"
1149
1150         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1151         to be called "justification" not "justify"
1152
1153         * demos/gtk-demo/textview.c (create_tags): "justification"
1154         
1155         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1156
1157 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1158
1159         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1160         Don't leak visible_region. Use visible_region instead of region.
1161         
1162         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1163         Don't do extra gdk_drawable_ref(). This is not X.
1164         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1165         gdk_fb_focused_window is ref:ed.
1166         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1167         windows.
1168
1169 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1170
1171         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1172         Don't leak the PangoFontDescriptor.
1173
1174 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1175
1176         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1177         when not realized.
1178         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1179         (gtk_tree_view_realize): add scroll_to support
1180         (gtk_tree_view_finalize): add a finalize method.  Populate.
1181         (gtk_tree_view_insert_column): ref and sink the column.
1182         (gtk_tree_view_append_column): ref and sink the column.
1183         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1184         individual nodes.  Should make the code much more efficient, if
1185         actually used.
1186
1187 2001-01-19  Havoc Pennington  <hp@redhat.com>
1188
1189         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1190         byte_offset variable was being used to mean both "offset into
1191         layout" and "offset into buffer line" which was no longer true
1192         with addition of preedit string; fix
1193
1194 2001-01-19  Havoc Pennington  <hp@redhat.com>
1195
1196         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1197
1198         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1199         function
1200
1201         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1202         implement
1203
1204         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1205         scroll_to_cell, matches TextView scroll functions better
1206         (gtk_tree_view_tree_to_widget_coords): new function
1207         (gtk_tree_view_widget_to_tree_coords): new function
1208         (gtk_tree_view_get_visible_rect): new function
1209         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1210         (gtk_tree_view_draw_node_focus_rect): new function moved from
1211         draw_focus, also, use width of bin_window as width of the focus
1212         rect
1213         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1214         already-expanded rows
1215         (gtk_tree_view_get_cell_rect): new function
1216         (gtk_tree_view_get_path_at_pos): return the click position
1217         relative to the passed-in cell
1218         (gtk_tree_view_set_expander_column): new function
1219
1220         * configure.in: remove gtk-config-2.0 chmod
1221
1222         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1223         and properly handle drags with targets we don't understand
1224         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1225         scrolling anyway
1226         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1227         mark invisible
1228
1229         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1230         function
1231         (gtk_drag_dest_get_target_list): new function
1232         (gtk_drag_dest_set_target_list): new function
1233         
1234         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1235
1236         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1237         related to drag-and-drop
1238
1239 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1240
1241         * gdk/linux-fb/gdkprivate-fb.h:
1242         Define EMULATE_GDKFONT.
1243         Add extra pango_font stuff to GfkFontPrivate.
1244         
1245         * gdk/linux-fb/gdkdrawable-fb2.c:
1246         * gdk/linux-fb/gdkfont-fb.c:
1247         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1248         emulation using PangoFont.
1249
1250 2001-01-17  Havoc Pennington  <hp@pobox.com>
1251
1252         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1253         all the non-deprecated set_foo functions. Added missing object
1254         properties, and added g_object_notify() to setters. 
1255         Wrote docs.
1256         
1257 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1258
1259         * gtk/gtkmain.c
1260         * gtk/gtkrc.c: (Win32) Use the new
1261         g_win32_get_package_installation_(sub)directory() functions.
1262
1263         * config.h.win32.in: New file.
1264         
1265         * config.h.win32: Removed.
1266
1267         * configure.in: Output config.h.win32.
1268
1269         * Makefile.am: Add it to EXTRA_DIST.
1270
1271         * gtk/gtk.def: Update.
1272
1273 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1274
1275         * gtk/gtklabel.c (gtk_label_size_request): Set the
1276         attributes onto the PangoLayout even if they are newly
1277         created from label->pattern.
1278
1279 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1280
1281         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1282
1283         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1284         structures in functions. Fixes bug where gtk_dataset_*
1285         was accidentally still being used in one place, causing
1286         every dest side event to be treated independently.
1287
1288         * gtk/gtkdnd.c: Remove last vestages of handling
1289         ::draw (fixes warning)
1290         
1291         * gtk/gtkentry.[ch]: Add drag and drop support.
1292
1293         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1294         new function gtk_check_drag_threshhold() for checking
1295         to check if (dx,dy) has exceeded the threshhold for starting
1296         a drag and use it everywhere.
1297
1298 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1299
1300         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1301         add -I{includedir}/gtk-2.0.
1302
1303         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1304         gdk/gdk-pixbuf.h: Doc fixups.
1305         
1306         * gtk/gtkobject.h: Remove trailing , from enum
1307
1308 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1309
1310         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1311         Doh! Mixed up x and y.
1312
1313         * gdk/linux-fb/gdkglobals-fb.c:
1314         Removed gdk_fb_pointer_grab_window_events,
1315         added _gdk_fb_pointer_grab_owner_events and
1316         _gdk_fb_keyboard_grab_owner_events.
1317
1318         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1319         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1320         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1321         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1322         Send crossing events after ungrab finished.
1323         (gdk_keyboard_grab): Set ..._owner_events
1324         (type_masks): Move out of function.
1325         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1326         gdk_fb_keyboard_event_window): New functions, return the
1327         window an event should be targeted at. Handles grabs and
1328         event propagation. Can return NULL.
1329         (gdk_event_make): Remove event_mask checking. Now always
1330         returns an event.
1331                 
1332         * gdk/linux-fb/gdkkeyboard-fb.c:
1333         * gdk/linux-fb/gdkproperty-fb.c:
1334         * gdk/linux-fb/gdkselection-fb.c:
1335         Use new event_window/gdk_event_make() behaviour.
1336         
1337         * gdk/linux-fb/gdkmouse-fb.c:
1338         Use new event_window/gdk_event_make() behaviour.
1339         Only send motion events if in the same window.
1340         If grabbed, use cursor from window if sibling of grabbed
1341         window, and cursor from grabbed window otherwise.
1342
1343         * gdk/linux-fb/gdkprivate-fb.h:
1344         Update gdk_fb_window_send_crossing_events, gdk_event_make
1345         and grab varaible declarations. Add gdk_fb_*_event_window().
1346
1347         * gdk/linux-fb/gdkwindow-fb.c:
1348         Use new event_window/gdk_event_make() behaviour.
1349         Keep correct track of focus window.
1350         (gdk_window_set_events): Set all specific button motion masks
1351         if GDK_BUTTON_MOTION_MASK set.
1352
1353         * gtk/gtkdnd.c (gtk_drag_update):
1354         Free info->last_event if gdk_drag_motion returned FALSE.
1355
1356 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1357
1358         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1359         Eliminate redraws when input-only windows are shown or
1360         hidden. Thanks to jpe@archaeopteryx.com.
1361
1362 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1363
1364         * docs/faq/gtk-faq.sgml: FAQ update:
1365           - Update to bugzilla
1366           - Add GTK+ and security/SUID/SGID
1367           - Add DnD question
1368
1369 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1370
1371         * gdk/linux-fb/gdkdnd-fb.c:
1372         Some cleanups.
1373         
1374 2001-01-15  Havoc Pennington  <hp@pobox.com>
1375
1376         * tests/testtreeview.c: add test stuff for CellRendererToggle
1377
1378         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1379         accessor
1380
1381         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1382         only toggle on button press (would do release like GtkButton, but
1383         we'd need implicit grab code for treeview cells)
1384
1385 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1386
1387         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1388
1389         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1390         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1391
1392         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1393         to g_{locale,filename}_{to,from}_utf8 to match current API.
1394
1395         * gtk/makefile.msc.in (gtk_OBJECTS)
1396         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1397
1398         * gtk/gtk.def: Update.
1399
1400 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1401
1402         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1403         implementaion that more closely mimics the events that an X server
1404         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1405         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1406         with nested preview widgets, for instance, more responsive when
1407         you move the mouse quickly into them.
1408         (find_window_for_pointer_event): Make it actually compile.
1409         (gdk_event_translate): Set send_event to the value of
1410         InSendMessage (). This doesn't really mean the same as X11's
1411         send_event flag, but is close enough, says jpe@archaeopteryx.com
1412
1413 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1414
1415         * gdk/linux-fb/gdkdnd-fb.c:
1416         Implemented drag and drop.
1417         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1418         when it tries to free and then copy the same event (info->last_event).
1419         I am not sure about why this happens, but will continue looking.
1420
1421 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1422
1423         * gdk/linux-fb/gdkwindow-fb.c:
1424         Use gdk_window_invalidate_rect instead of
1425         gdk_window_invalidate_rect_clear to minimise flashing.
1426         When hiding windows you need to clear the root window though.
1427
1428 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1429
1430         * gdk/linux-fb/gdkdrawable-fb2.c:
1431         For optization, add an full_shapes argument to gdk_fb_clip_region.
1432         If this is false, only the cliprects of the shapes are used.
1433
1434         * gdk/linux-fb/gdkprivate-fb.h:
1435         Export gdk_fb_window_peek_shape.
1436         Add full_shapes to gdk_fb_clip_region.
1437
1438         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1439         When moving a window, don't clear everything under the it, just the
1440         root window. Makes stuff faster and flash less.
1441         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1442         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1443         offset of the shape.
1444         
1445
1446 2001-01-12  Havoc Pennington  <hp@redhat.com>
1447
1448         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1449         current invalid region, fixes redraw bug while scrolling the 
1450         text widget
1451
1452         * gtk/gtktextview.c, gtk/gtktextview.h:
1453         Rearrange the scrolling/validation/etc. code in a major way, 
1454         so it seems to make sense to me. Probably isn't genuinely that
1455         much better, but...
1456
1457         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1458         notifies
1459
1460         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1461
1462 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1463
1464         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1465         Hide mouse pointer while rotation. Show it afterwards.
1466
1467 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1468
1469         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1470         windows in consideration when generating clip region.
1471
1472         * gdk/linux-fb/gdkfb.h:
1473         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1474
1475         * gdk/linux-fb/gdkprivate-fb.h:
1476         Add shape to GdkWindowFBDatat.
1477         exported gdk_fb_window_get_abs_shape().
1478         removed gdk_fb_draw_lines declaration.
1479
1480         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1481         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1482         send focus changes when there is a grabbed window.
1483         (gdk_window_get_pointer): Handle shaped windows.
1484         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1485         (gdk_fb_window_peek_shape): Returns the shape for a window,
1486         handles GDK_FB_USE_CHILD_SHAPE.
1487         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1488         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1489         (gdk_window_shape_combine_mask): Implement.
1490
1491         * gtk/gtkwindow-decorate.c:
1492         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1493         setting the shape of a window makes the window transparent.
1494
1495 2001-01-11  Havoc Pennington  <hp@redhat.com>
1496
1497         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1498
1499 2001-01-10  Havoc Pennington  <hp@redhat.com>
1500
1501         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1502         add this function, bug 40251
1503
1504         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1505         of type macro   
1506
1507 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1508
1509         * acconfig.h:
1510         Added ENABLE_SHADOW_FB
1511
1512         * configure.in:
1513         Added --disable-shadowfb
1514
1515         * gdk/linux-fb/gdkcursor-fb.c:
1516         Update shadowfb when updating cursor
1517
1518         * gdk/linux-fb/gdkdrawable-fb2.c:
1519         Added wrappers for shadowfb that calls  the normal drawable
1520         methods, but calls gdk_shadow_fb_update(bounding box) when
1521         GdkWindows are drawed to.
1522         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1523         which also returns the bounding box.
1524
1525         * gdk/linux-fb/gdkfb.h:
1526         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1527
1528         * gdk/linux-fb/gdkgeometry-fb.c:
1529         Update shadowfb when scrolling window.
1530
1531         * gdk/linux-fb/gdkglobals-fb.c:
1532         Add _gdk_fb_screen_angle.
1533         
1534         * gdk/linux-fb/gdkkeyboard-fb.c:
1535         Test code for screen rotation. Shift-F2 in the xlate driver
1536         rotates the screen.
1537
1538         * gdk/linux-fb/gdkmain-fb.c:
1539         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1540
1541         * gdk/linux-fb/gdkmouse-fb.c:
1542         Use fb_width/height instead of modeinfo.xres/yres.
1543
1544         * gdk/linux-fb/gdkprivate-fb.h:
1545         Added fb_men, fb_width, fb_height & fb_stride. When using
1546         shadow fb these can differ from the framebuffer stuff.
1547         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1548         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1549         _gdk_fb_screen_angle. Removed CM, RP.
1550
1551         * gdk/linux-fb/gdkrender-fb.c:
1552         Added code for shadowfb handling and screen rotation using
1553         shadowfb.
1554
1555         * gdk/linux-fb/gdkwindow-fb.c:
1556         Use fb_mem, fb_stride, fb_width, fb_height.
1557         Added recompute_rowstride to reset the rowstride of all windows.
1558         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1559         window abs positions and window rowstrides. Usefull when the
1560         rotation has changed.
1561
1562 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1563
1564         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1565
1566 2001-01-10  Havoc Pennington  <hp@redhat.com>
1567
1568         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1569         where sibling == iter
1570         (gtk_tree_store_insert_after): handle sibling == iter
1571         (gtk_tree_store_prepend): remove stamp checks
1572         (gtk_tree_store_insert_before): ditto
1573         (gtk_tree_store_append): ditto
1574         (gtk_tree_store_get_path): ditto
1575         (gtk_tree_store_get_value): ditto
1576         (gtk_tree_store_iter_has_child): ditto
1577         (gtk_tree_store_iter_n_children): ditto
1578         (gtk_tree_store_iter_nth_child): ditto
1579         (gtk_tree_store_insert_after): ditto
1580         (gtk_tree_store_is_ancestor): ditto
1581         (gtk_tree_store_iter_depth): ditto
1582         (gtk_tree_store_insert_before): assert that sibling's parent is
1583         the same as the passed-in parent
1584         (gtk_tree_store_insert_after): assert that sibling's parent is
1585         the same as the passed-in parent
1586
1587         
1588         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1589         function to get the first iterator in a model
1590         
1591         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1592         conventionally the "root" in this sense is just NULL afaict.
1593
1594         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1595         where sibling == iter
1596         (gtk_list_store_insert_after): handle case where sibling == iter
1597
1598         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1599         automated tests for ListStore, TreeStore
1600
1601         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1602         (gtk_list_store_insert): update tail pointer, and fix it to work
1603         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1604         (gtk_list_store_append): use tail to be faster
1605         (gtk_list_store_prepend): fix it, update tail pointer
1606         (gtk_list_store_insert_after): fix it, update tail pointer
1607
1608         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1609         the list
1610
1611 2001-01-09  Havoc Pennington  <hp@redhat.com>
1612
1613         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1614         is NULL due to a pending resize
1615
1616         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1617         column width to values less than 1
1618
1619         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1620         width to be between min/max width, and still set the width 
1621         even if autosize is turned on, so the tree view can use this 
1622         function in order to autosize.
1623         (gtk_tree_view_column_init): set initial width to 1 not 0
1624
1625         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1626         setter function to modify column width, so we get notification
1627         (gtk_tree_view_insert_iter_height): ditto
1628         (gtk_tree_view_calc_size): ditto
1629         (gtk_tree_view_check_dirty): ditto
1630
1631         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1632         properties to change all the interesting attributes of the tree
1633         view column.
1634         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1635         (gtk_tree_view_column_get_clickable): add
1636         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1637         attributes; assume a cell renderer with equivalent object
1638         properties has been swapped in. Do g_object_notify().
1639         (gtk_tree_view_column_set_visible): g_object_notify
1640         (gtk_tree_view_column_get_sizing): rename from get_col_type
1641         (gtk_tree_view_column_set_sizing): g_object_notify
1642         (gtk_tree_view_column_set_width): add g_object_notify
1643         (gtk_tree_view_column_set_min_width): ditto
1644         (gtk_tree_view_column_set_max_width): ditto
1645         (gtk_tree_view_column_set_title): ditto
1646         (gtk_tree_view_column_set_clickable): ditto
1647         (gtk_tree_view_column_set_widget): ditto
1648         (gtk_tree_view_column_set_justification): ditto
1649
1650 2001-01-09  Havoc Pennington  <hp@redhat.com>
1651
1652         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1653         there are no rows in the model
1654
1655         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1656         NULL, then return the start of the list
1657
1658         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1659         if we can't get any rows from an empty model 
1660
1661         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1662         extraneous * after function pointer typedef usage
1663
1664         * Makefile.am: don't specify full path to cp and rm
1665
1666         * gtk/gtkcellrenderertextpixbuf.c
1667         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1668         NULL before dereferencing, fixes a segfault that happened from
1669         time to time
1670
1671         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1672         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1673         and reindent the function
1674         (gtk_cell_renderer_pixbuf_get_size): indentation
1675
1676         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1677         we quit it
1678         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1679         (gtk_dialog_set_default_response): New function, to set default
1680         button
1681         (gtk_dialog_set_response_sensitive): New function, to set 
1682         sensitivity of buttons
1683
1684         * gtk/gtkcellrendererpixbuf.c
1685         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1686         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1687
1688         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1689         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1690         also boxed types.
1691         (_gtk_tree_data_list_value_to_node): ditto
1692
1693         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1694         --gtk-debug=tree
1695
1696         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1697
1698         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1699
1700 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1701
1702         * gdk/win32/gdkevents-win32.c: Implement better mouse
1703         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1704         (find_window_for_pointer_event): New function.
1705         (gdk_event_translate): Use it when handling mouse events.
1706
1707 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1708
1709         * configure.in:
1710         Added --with-included-loaders option
1711
1712         * gdk-pixbuf/Makefile.am:
1713         * gdk-pixbuf/gdk-pixbuf-io.c:
1714         Add support for including selected gdk-pixbuf loaders only.
1715
1716         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1717         gtk_window_set_has_frame):
1718         Added inline documentation.
1719
1720         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1721         * docs/reference/gdk/tmpl/windows.sgml:
1722         Added inline documentation.
1723
1724 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1725
1726         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1727         realizing buttons that have already been realized.
1728
1729 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1730
1731         * tests/testtreeview.c (main): Show menu items before adding to
1732         option menu.
1733
1734         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1735         around if we kill them.
1736
1737         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1738         Return if we pass in a NULL model.
1739
1740 2001-01-08  Havoc Pennington  <hp@redhat.com>
1741
1742         * tests/testtreeview.c: hack on this some
1743
1744         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1745         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1746         list
1747         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1748
1749         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1750         functions
1751
1752 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1753
1754         * gtk/gtkwindow-decorate.[hc]:
1755         * gtk/Makefile.am:
1756         New files. Contains an implementation of a minimal WM for
1757         linux-fb.
1758
1759         * gtk/gtkwindow.h:
1760         Add the possibility for GtkWindows to specify a frame. This
1761         is used for the window decoration code, but could concievably
1762         be used for X programs too (xmms style windows).
1763         GtkWindow->frame is the toplevel window if the window is framed.
1764         The signal frame_event gets all events that are targeted to
1765         GtkWindow->frame.
1766         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1767         
1768         * gtk/gtkwindow.c:
1769         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1770         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1771
1772 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1773
1774         * docs/README.linux-fb:
1775         Correct filename ~/.pangoft2_aliases
1776
1777         * gdk/gdkwindow.h:
1778         Added new function gdk_window_get_decorations.
1779
1780         * gdk/linux-fb/gdkfb.h:
1781         Removed _gdk_window_get_decorations declaration.
1782         Renamed _gdk_window_set_child_handler to
1783         gdk_fb_window_set_child_handler.
1784
1785         * gdk/linux-fb/gdkwindow-fb.c:
1786         Renamed _gdk_window_set_child_handler to
1787         gdk_fb_window_set_child_handler.
1788
1789         * gdk/x11/gdkwindow-x11.c:
1790         New function gdk_window_get_mwm_hints().
1791         Implemented gdk_window_get_decorations.
1792
1793         * docs/reference/gdk/tmpl/windows.sgml:
1794         * docs/reference/gdk/gdk-sections.txt:
1795         Added gdk_window_get_decorations docs.
1796         
1797 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1798
1799         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1800         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1801         gdk_fb_window_send_crossing_events):
1802         Possibly send focus events when the mouse moves from one
1803         window to another.
1804
1805 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1806
1807         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1808         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1809         to match current API.
1810
1811         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1812         environment variable is set, don't call g_error when on a
1813         palettized (PseudoColor) display. Some people want to use GTK+ 
1814         in 256-colour mode even though works only partially.
1815
1816         * gdk/gdk.def
1817         * gtk/gtk.def
1818         * gtk/makefile.mingw.in: Update.
1819
1820 2001-01-05  Havoc Pennington  <hp@redhat.com>
1821
1822         * tests/testtreeview.c: hack on this a bit
1823
1824         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1825         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1826
1827         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1828         was spelled incorrectly
1829         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1830
1831         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1832         from gtk_tree_view_set_headers_active   
1833
1834         * gtk/gtktexttag.c:
1835         (gtk_text_tag_get_property): handle PROP_DIRECTION
1836         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1837         properties, bug 40235
1838
1839         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1840         forward_to_line_end
1841
1842 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1843
1844         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1845         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1846         for unicode,locale,filename conversion functions.
1847
1848 2001-01-05  Havoc Pennington  <hp@redhat.com>
1849
1850         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1851         broken if called on the first position in the buffer.
1852
1853         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1854         forward_to_delimiters to be called only if we aren't already at
1855         the delimiters.
1856
1857 2001-01-05  Havoc Pennington  <hp@redhat.com>
1858
1859         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1860
1861 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1862
1863         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1864         colormap in here. Sync from X port.
1865         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1866         Sync from X port.
1867         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1868         This happens now and then, and i don't think it is a bug.
1869         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1870         != endpoint.
1871         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1872         GDK_LINE_SOLID.
1873
1874         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1875         some of the fields filled in at least.
1876
1877         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1878         miLineArcD is no more, remove it from the function definition.
1879
1880 2001-01-04  Havoc Pennington  <hp@redhat.com>
1881
1882         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1883         this
1884
1885         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
1886         user_data instead of tree_node
1887
1888         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
1889         TREE_VIEW_COLUMN_SIZE
1890
1891         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
1892         "size" field to "width" finishes bug 40061
1893
1894         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
1895         for bitfields, bug 40268
1896
1897 2001-01-04  Havoc Pennington  <hp@redhat.com>
1898
1899         Rename some stuff:
1900         
1901         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
1902
1903         s/GtkModelSimple/GtkTreeModelSimple/g;
1904         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
1905         s/gtk_model_simple/gtk_tree_model_simple/g;
1906         s/gtkmodelsimple/gtktreemodelsimple/g;
1907
1908         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
1909
1910         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
1911         s/column_set_col_type/column_set_sizing/g;
1912
1913         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
1914         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
1915
1916         s/GtkCellRendererType/GtkCellRendererState/g;
1917         
1918         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
1919         (gtk_cell_renderer_toggle_class_init): change "state" property to
1920         "active", to match GtkToggleButton
1921         (gtk_cell_renderer_toggle_get_active): new function, bug
1922         40269
1923         (gtk_cell_renderer_toggle_set_active): new function
1924         (gtk_cell_renderer_toggle_set_property): route changes to toggle
1925         state through gtk_cell_renderer_set_active
1926
1927 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
1928
1929         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
1930         temporarily until they work again.  Brought up to date with
1931         changes in the model.
1932         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
1933         model.
1934
1935 2001-01-04  Havoc Pennington  <hp@redhat.com>
1936
1937         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
1938         equal to the line length, then position iterator before paragraph 
1939         separators. Fixes crash reported by Mikael Hermansson when
1940         pressing left arrow from the start of a line.   
1941
1942         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
1943         about byte indexes off the end
1944         (iter_set_from_char_offset): add g_error about char offsets
1945         off the end
1946
1947 2001-01-03  Havoc Pennington  <hp@redhat.com>
1948
1949         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
1950
1951         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
1952         of private functions; remove inclusion of private headers.
1953
1954         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
1955         function, so we don't need private functions in gtktextdisplay.c
1956
1957         * gtk/gtktextiterprivate.h: underscore-ification
1958
1959         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
1960         to instead say "only useful to implement widgets"
1961
1962         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
1963         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
1964         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
1965
1966         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
1967         This function was completely broken
1968
1969         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
1970
1971         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
1972
1973         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
1974
1975         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
1976
1977         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
1978
1979         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
1980
1981         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
1982         gtk_paint_layout
1983
1984         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
1985         gtk_paint_layout
1986
1987         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
1988         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
1989         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
1990         which were not implemented.     
1991
1992         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
1993         insert_pixbuf signal. Rename delete_text to delete_range since it
1994         also deletes pixbufs and child anchors. This almost closes bug
1995         40245 (still need to deal with child anchors)
1996
1997         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
1998         insert_pixbuf, change signal names as appropriate, change types of
1999         signals taking marks/tags to have the specific type, not just
2000         G_TYPE_OBJECT
2001         
2002         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2003         closes bug 40051
2004
2005         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2006         unnecessary remove_contents() call
2007         (gtk_option_menu_class_init): add a "changed" signal, closes
2008         bug 40039
2009         (gtk_option_menu_update_contents): emit "changed" if the 
2010         active menu item changes
2011
2012         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2013         cast to GtkObject, reported by Jonas Borgstrom
2014         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2015         we can't do stuff with side effects in finalize. Instead, spew a
2016         warning if the loader isn't closed.
2017
2018         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2019         colormap in here, non-X ports probably need to sync to this change
2020
2021         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2022         assertion that colormap != NULL, you can set the colormap to NULL
2023         if you like.
2024         
2025         * Makefile.am: remove gtk-config-2.0
2026
2027         * configure.in: Use pkg-config to locate GLib. Remove
2028         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2029         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2030         Use pkg-config to locate Pango. Output correct Pango libs to
2031         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2032
2033         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2034         files
2035         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2036         X11 pc files
2037
2038         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2039         unref from here
2040
2041 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2042
2043         * configure.in:
2044         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2045
2046 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2047
2048         * gtk/gtktextlayout.c
2049         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2050         variable when moving back onto a single line.
2051
2052 2001-01-01  Havoc Pennington  <hp@redhat.com>
2053
2054         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2055
2056         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2057
2058         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2059         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2060
2061 2001-01-01  Havoc Pennington  <hp@redhat.com>
2062
2063         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2064
2065         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2066         GtkTextAttributes
2067
2068         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2069         #40246
2070         (gtk_text_attributes_copy_values): rename from 
2071         gtk_text_attributes_copy
2072         (gtk_text_attributes_copy): a more standard GTK copy function, 
2073         which returns a new object
2074
2075 2001-01-01  Havoc Pennington  <hp@redhat.com>
2076
2077         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2078         
2079         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2080         don't fill in tree_view->priv->selection, kind of an unexpected
2081         side effect
2082
2083         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2084         gtkintl.h
2085         
2086         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2087         gtkintl.h
2088         (gtk_cell_renderer_get_property): remove calls to g_value_init
2089
2090         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2091         gtkintl.h
2092
2093         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2094         and include gtkintl.h
2095         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2096         property names
2097
2098         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2099         GtkTreeSelection
2100         (_gtk_tree_selection_new_from_with_view): rename, return
2101         GtkTreeSelection
2102         (_gtk_tree_selection_set_tree_view): rename with uscore
2103         (gtk_tree_selection_get_selected): fill in the "model" out param
2104         first, so it gets filled in even if we return at the top of the 
2105         function
2106         (gtk_tree_selection_real_select_all): add a comment and an else{}
2107         to clarify this a bit
2108         (gtk_tree_selection_real_unselect_all): add the same else{}
2109
2110         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2111         set_tree_view to have underscore prefixes, move them to the
2112         private header, fix return type of new_with_tree_view
2113         (struct _GtkTreeSelection): mark struct
2114         fields private  
2115
2116         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2117         GtkTreeModelFlags, not a guint
2118         (gtk_tree_path_prev): return gboolean not gint
2119         (gtk_tree_path_up): return gboolean not gint
2120
2121         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2122         return GtkTreeModelFlags, not a guint
2123
2124         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2125         that child model is non-null before unrefing it
2126         (g_value_int_compare_func): make this a qsort compare func, not 
2127         a boolean predicate
2128
2129         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2130         (add -umn to the end), and mark it unimplemented
2131         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2132         I don't see what it's for - doesn't the model always sort itself?
2133         (gtk_tree_model_sort_set_compare): this had the wrong signature
2134
2135         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2136         Fix the docs to say that it destructively replaces existing
2137         attributes (previously said that it added attributes).
2138         (gtk_tree_view_column_set_visible): canonicalize bool before
2139         equality testing. Also, check for realization before
2140         hiding/showing the tree_column->window; if this window could exist
2141         before realization, then it's busted and needs fixing, we can't 
2142         create GDK resources pre-realization. Also, remove
2143         superfluous queue_resize(), since set_size() does that for us.
2144         (gtk_tree_view_column_set_col_type): check realization before 
2145         using tree_column->window
2146
2147         * gtk/gtktreedatalist.c: fix filename in copyright notice
2148
2149 2000-12-31  Havoc Pennington  <hp@pobox.com>
2150
2151         * gtk/gtktextview.c: Rearrange all the
2152         scroll-while-dragging-or-selecting code to be different, not
2153         necessarily better. ;-)
2154         (gtk_text_view_scroll_to_mark): Change this
2155         function to take within_margin as a fraction instead of a pixel
2156         value, and to take alignment arguments (indicating where to align 
2157         the mark inside the visible area)
2158         
2159         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2160         to GtkObject
2161
2162         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2163         behavior so that offsets past the end of the line are not 
2164         allowed, and an offset equal to the line length moves the iterator
2165         to the next line
2166         (gtk_text_iter_set_line_index): make parallel change
2167         (gtk_text_iter_get_bytes_in_line): add this function
2168         
2169         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2170         of byte indexes off the end of the line; byte index at the end of
2171         the line now returns FALSE and doesn't fill in the requested
2172         values, byte index past the end of the line is an error.  Also,
2173         don't allow -1 offset anymore, since its meaning is unclear.
2174
2175         This change exposes some bug in visual cursor motion, where we
2176         end up with a huge invalid byte index; needs fixing. Symptom of 
2177         bug is a crash when you hit up arrow.
2178         
2179         (_gtk_text_line_char_locate): match the change to byte_locate
2180
2181         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2182         from start of line properly. fixes bug reported by Mikael
2183         Hermansson where backspace would delete all text before the
2184         cursor.
2185
2186 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2187
2188         * gdk/win32/gdkwindow-win32.c
2189         (gdk_window_impl_win32_get_visible_region): New function, as in
2190         the X11 backend.
2191         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2192         instead of duplicating the same code here.
2193
2194         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2195         GDK_COLORMAP macro.
2196
2197         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2198         destroy function.
2199         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2200         access that.
2201
2202         * gtk/gtk.def: Update.
2203
2204         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2205
2206 2000-12-30  Havoc Pennington  <hp@pobox.com>
2207
2208         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2209         colormap on input only windows, to avoid special cases all over
2210         the code for these windows.
2211
2212 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2213
2214         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2215         we are on a palettized display ("PseudoColor" in X11), as the code
2216         for that doesn't work anyway, and never has.
2217
2218 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2219
2220         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2221         Don't use isprint() for chars > 255.
2222
2223 2000-12-21  Havoc Pennington  <hp@redhat.com>
2224
2225         * tests/testtreeview.c: more work
2226
2227 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2228
2229         * docs/README.linux-fb:
2230         Update the docs to the new pangoft2 way.
2231
2232 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2233
2234         * configure.in:
2235         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2236         pango version.
2237         Remove modules/linux-fb/Makefile.
2238
2239         * gdk/linux-fb/gdkdrawable-fb2.c:
2240         Render glyphs using freetype.
2241
2242         * gdk/linux-fb/gdkfb.h:
2243         Add new fb-specific functions needed for managing windows.
2244
2245         * gdk/linux-fb/gdkmain-fb.c:
2246         Remove gdk_font_init/fini() calls.
2247
2248         * gdk/linux-fb/gdkpango-fb.c:
2249         Remove old implementation. Use pangoft2 instead.
2250
2251         * gdk/linux-fb/gdkprivate-fb.h:
2252         Remove PangoFBFont and related stuff.
2253
2254         * gdk/linux-fb/gdkwindow-fb.c:
2255         Implement drawable->get_visible_region.
2256         Implement support for _gdk_window_set_child_handler () and
2257         _gdk_window_get_decorations().
2258
2259         * modules/Makefile.am:
2260         Remove linux-fb subdir.
2261
2262         * modules/linux-fb/*:
2263         Removed all.
2264         
2265 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2266
2267         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2268         calls, as they are no longer needed.
2269
2270         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2271         
2272         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2273         figure out how to emit a signal on an interface.
2274
2275 2000-12-20  Havoc Pennington  <hp@redhat.com>
2276
2277         * tests: new directory to contain tests, gtk/test* should move
2278         here sometime (with appropriate on-cvs-server hackery)
2279
2280         * tests/testtreeview.c, tests/Makefile.am: a test
2281         
2282         * configure.in (AC_OUTPUT): add tests/Makefile
2283
2284         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2285         and "invisible_set" which were missing
2286
2287         * gtk/gtkrbtree.h: some cheesy indentation fix
2288         
2289 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2290
2291         * gtk/gtkinvisible.c (gtk_invisible_realize):
2292         Attach the style to the window so that the style it is not
2293         leaked when unrealizing the window.
2294
2295 2000-12-18  Havoc Pennington  <hp@redhat.com>
2296
2297         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2298         begin/end user action where appropriate
2299         (gtk_text_view_commit_handler): add begin/end user action
2300
2301         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2302         bracket interactive operations with begin/end user action pair.
2303         
2304         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2305         "interactive" arg from insert_text and delete_text signals.
2306         Add begin_user_action, end_user_action signals
2307         (gtk_text_buffer_begin_user_action): 
2308         (gtk_text_buffer_end_user_action): New functions to delimit 
2309         a user-visible action
2310
2311         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2312         signals.
2313         
2314 2000-12-18  Havoc Pennington  <hp@redhat.com>
2315
2316         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2317         was pretty non-working.
2318
2319         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2320         by passing the length to g_utf8_validate().
2321
2322 2000-12-16  Havoc Pennington  <hp@pobox.com>
2323
2324         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2325         Port to GObject, can go back in gdk-pixbuf after setting up 
2326         a gdk-pixbuf-marshal.h header over there.
2327
2328         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2329         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2330         args
2331         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2332         set
2333         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2334         here, do it when we create the buttons later
2335         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2336         (gtk_tree_view_map): paranoia checks that column->button is shown 
2337         and unmapped
2338         (gtk_tree_view_size_request): only request visible children.
2339         Move header size calculation in here, for cleanliness, and 
2340         to maintain invariants for child widgets if we eventually 
2341         let users set different children inside the buttons
2342         (gtk_tree_view_map_buttons): factor out code to map buttons,
2343         since it was being called several times
2344         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2345         windows instead of just moving them; their height may change 
2346         if we allow random widgets in there, or the theme changes.
2347         (gtk_tree_view_size_allocate): move button size allocation 
2348         above emitting the scroll signals, to ensure a sane state when we
2349         hit user code
2350         (gtk_tree_view_button_release): remove queue_resize after
2351         tree_view_set_size(), set_size() will handle any resize queuing
2352         that's needed
2353         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2354         draw_focus goo
2355         (gtk_tree_view_focus): use gtk_get_current_event() and
2356         gdk_event_get_state()
2357         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2358         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2359         semicolon
2360         (gtk_tree_view_create_button): show the button here
2361         (gtk_tree_view_button_clicked): actually emit the clicked signal
2362         on the column
2363         (_gtk_tree_view_set_size): return right away if the size is
2364         unchanged, as a cheesy optimization
2365         (gtk_tree_view_setup_model): rename set_model_realized to 
2366         setup_model to match the flag that indicates whether we've 
2367         called it
2368         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2369         exist, because set_scroll_adjustment does that and it shouldn't
2370         matter what order you call these in
2371         (gtk_tree_view_get_vadjustment): ditto
2372         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2373         for paranoia
2374         (gtk_tree_view_set_headers_visible): call
2375         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2376         (gtk_tree_view_append_column): clarify whether the return value
2377         is the count of columns before or after, and do the increment 
2378         separately from the return statement so you can tell from the code.
2379         (gtk_tree_view_remove_column): ditto
2380         (gtk_tree_view_insert_column): ditto
2381         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2382         outside the existing range, the docs say that outside-range
2383         columns are allowed, so we handle them as documented. (Presumably
2384         this allows a nice loop with column != NULL as test.)
2385         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2386         mean (left/right/center etc.).
2387         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2388         (gtk_tree_view_expand_row): add docs
2389         (gtk_tree_view_collapse_row): add docs
2390
2391         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2392         function to emit the clicked signal on a column
2393         
2394         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2395         state of an event
2396         (gdk_event_get_time): don't treat GDK_SCROLL 
2397         as a button event, remove default case from switch so gcc 
2398         will whine if we don't explicitly handle all event types
2399
2400         * gtk/gtktreeselection.h: added some FIXME 
2401         
2402         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2403         "columns" to "n_columns" and "column" to "columns" for clarity
2404
2405 2000-12-16  Havoc Pennington  <hp@pobox.com>
2406         
2407         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2408         stuff. This should make e.g. the delete key work again in the
2409         text widget...
2410         (gtk_text_iter_forward_cursor_positions): handle negative count
2411         (gtk_text_iter_backward_cursor_positions): handle negative count
2412         (gtk_text_iter_forward_word_ends): handle negative count
2413         (gtk_text_iter_backward_word_starts): handle negative count
2414
2415         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2416         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2417         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2418         GObject. No doubt will cause breakage.
2419
2420         * demos/gtk-demo/textview.c: remove hacks around
2421         non-GObject-ification of the text objects
2422
2423         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2424         the text tag
2425         
2426 2000-12-14  Havoc Pennington  <hp@pobox.com>
2427
2428         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2429         that we have Xrender
2430
2431 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2432
2433         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2434         Add two virtualized functions gdk_drawable_get_clip_region - to
2435         get the clip region when drawing.
2436         
2437         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2438         use invalidate_region.
2439
2440         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2441         region.
2442
2443         * acconfig.h configure.in: Check for Xft. For now, assume
2444         that if Xft is found, Pango was compiled with Xft support
2445         as well.
2446
2447         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2448         gdk_colormap_query_color().
2449         
2450         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2451         with Xft if appropriate.
2452
2453         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2454         a pangoxft context if we have XFT and the environment
2455         variable GD_USE_XFT is set.
2456         
2457         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2458         and also possibly an XftDraw structure.
2459
2460         * gtk/gtkfontsel.c: Handle the case where the font from the
2461         style doesn't match any of the fonts a bit better.
2462         
2463         * gtk/testgtk.c: Add tabs between directional segments for
2464         hebrew/arabic test. (Not really necessary, just a little
2465         prettier.)
2466
2467 2000-12-14  Havoc Pennington  <hp@redhat.com>
2468
2469         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2470         reading a file
2471
2472 2000-12-14  Havoc Pennington  <hp@redhat.com>
2473
2474         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2475         unused call to get_last_line()
2476
2477         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2478         here until boxed is working (and maybe after that - we should
2479         really not gratuitously break old code)
2480
2481         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2482         specific types for font_desc and tabs args, move them to
2483         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2484         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2485
2486         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2487         use GTK_TYPE_POINTER for signal signatures as a hack-around
2488
2489         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2490         PangoTabArray
2491
2492         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2493         make static
2494         (line_display_index_to_iter): make static
2495
2496         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2497         to marshal a string not a boxed
2498
2499         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2500
2501         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2502         since the UTF-8 isn't validated yet
2503
2504         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2505         lines to end in '\n'
2506         
2507         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2508         forward_to_delimiters, and grapheme boundaries
2509         (gtk_text_view_delete_from_cursor): properly handle non-newline
2510         delimiters, and grapheme boundaries
2511
2512         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2513         to gtk_text_iter_forward_to_delimiters, and make it work properly
2514         if empty lines end with a character other than '\n'
2515
2516         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2517         position
2518
2519 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2520
2521         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2522
2523         * gtk/gtk.def
2524         * gdk/gdk.def: Update.
2525
2526         * gdk/win32/gdkmain-win32.c
2527         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2528         gdkmain-win32.c here.
2529
2530         * gdk/win32/makefile.mingw.in (all): No need to make
2531         gdk-win32res.o here, the makefile one step up will call us to make
2532         it.
2533
2534         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2535         gdkkeys-win32.
2536
2537         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2538
2539         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2540         call to g_source_add().
2541
2542         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2543         leak. Thanks to Andreas Kemnade.
2544
2545 2000-12-13  Havoc Pennington  <hp@pobox.com>
2546
2547         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2548
2549         * gtk/gtktext*.[hc]: update accordingly
2550         
2551 2000-12-13  Havoc Pennington  <hp@pobox.com>
2552
2553         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2554         header file
2555
2556         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2557
2558 2000-12-13  Alex Larsson  <alexl@redhat.com>
2559
2560         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2561         Add support for ps2 intellimouse.
2562
2563         * gdkkeyboard-fb.c:
2564         Move shift-F1 repaint handling to xlate handler only.
2565         
2566         * docs/README.linux-fb:
2567         Add imps2 to docs.
2568         Document the new refresh keys.
2569         
2570 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2571
2572         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2573
2574         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2575         ::position and ::padding.
2576
2577         * gtk/gtkcontainer.c: make ::border_width an INT property.
2578
2579         * gtk/gtkpacker.c: make ::position an INT property.
2580
2581         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2582         guard against NULL h/v scrollbars, since this is used at construction
2583         time.
2584
2585         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2586         internal gtk_clist_constructor().
2587
2588         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2589         gtk_ctree_constructor().
2590
2591         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2592         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2593
2594         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2595         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2596
2597         * gtk/gtkwidget.[hc]:
2598         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2599         and gtk_widget_get().
2600         (gtk_widget_new): use g_object_new_valist().
2601         (gtk_widget_set): use g_object_set_valist().
2602
2603         * gtk/gtkobject.[hc]:
2604         removed gtk_object_arg_get_info(), gtk_object_getv(),
2605         gtk_object_query_args(), gtk_object_newv(),
2606         gtk_object_class_add_signals(),
2607         gtk_object_class_user_signal_new(),
2608         gtk_object_class_user_signal_newv(),
2609         gtk_object_arg_set(), gtk_object_arg_get(),
2610         gtk_object_args_collect(),
2611         gtk_object_default_construct(),
2612         gtk_object_constructed(),
2613         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2614         removed nsignals, signals and n_args members from GtkObjectClass.
2615         (gtk_object_new): use g_object_new_valist().
2616         (gtk_object_set): use g_object_set_valist().
2617         (gtk_object_get): use g_object_get_valist().
2618         
2619         * gtk/gtkcompat.h: define gtk_object_default_construct().
2620         
2621         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2622         g_object_new().
2623
2624         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2625         fucntions, cleaned up method assignments (make sure your structures
2626         are setup properly before calling out). removed all GTK_CONSTRUCTED
2627         hacks ;)
2628
2629 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2630
2631         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2632         off-by-one error in checks. (Dave Lambert)
2633
2634 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2635
2636         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2637         Don't free gdk_fb_keyboard twice.
2638
2639 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2640
2641         * gtk/testgtk.c:
2642         (create_tooltips): 
2643         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2644         use GObject swapped_signal:: properties instead.
2645
2646         * gtk/gtkcellrenderertoggle.c: 
2647         * gtk/gtkcellrenderertextpixbuf.c: 
2648         * gtk/gtkcellrenderertext.c: 
2649         * gtk/gtkcellrendererpixbuf.c: 
2650         * gtk/gtkcellrenderer.c:
2651         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2652         missing warnings for invalid property ids, install properties
2653         with g_object_class_install_property() now.
2654         
2655         * gtk/gtksignal.c:
2656         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2657         
2658 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2659         
2660         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2661         to determine if a window is the focus widget within
2662         its toplevel.
2663
2664         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2665         to be boolean.
2666
2667         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2668         of the case where the container CAN_FOCUS to here instead
2669         of having it in each individual move-the-focus place.
2670
2671         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2672         focusing to be geometric in a much more obvious sense. Arrowing
2673         around is still non-intuitive because it isn't perfect and
2674         because entries, etc, grab the arrow keys, but it at least
2675         usually will do what you expect now.
2676         
2677         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2678         file.
2679
2680         * gtk/gtknotebook.c: Change tabs to be a single item in
2681         the focus chain. Make movement of focus on tabs with arrow
2682         keys wrap around.
2683         
2684         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2685         CHECK_FIND_CHILD macro to give informative error messages
2686         instead of silent returns.
2687
2688         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2689         flag since we handle GdkReturn on the tabs.
2690
2691         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2692         windows rather than sending expose events directly.
2693
2694         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2695         definition for GtkNotebookPage into .c file, since it is private.
2696
2697         * gtk/testgtk.c (create_notebook): Add option for 
2698         testing borderless notebook.
2699
2700         * gtk/testgtk.c (page_switch): Removed egregious poking
2701         around in GTK+ internals.
2702
2703         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2704
2705         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2706         properly through gtk_clist_focus. Make the title headers a
2707         single item in the tab-focus chain, and make left-right wrap
2708         around.
2709
2710         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2711         focus method so that wrapping around works properly.
2712
2713         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2714         that is handled for the widget now. 
2715
2716 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2717
2718         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2719         widgets as TOPLEVEL.
2720
2721         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2722         TOPLEVEL widgets are containers.
2723
2724         * gtk/gtkinvisible.h: Remove useless include.
2725
2726 2000-12-11  Havoc Pennington  <hp@redhat.com>
2727
2728         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2729         Handle chopping off \r\n and 0x2029 in addition to \n before
2730         passing to PangoLayout
2731
2732         * gtk/gtkimcontextsimple.c
2733         (gtk_im_context_simple_get_preedit_string): 
2734         return an empty string if no match is pending
2735
2736         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2737         assertion that the returned preedit string was sane
2738
2739         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2740         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2741         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2742
2743 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2744
2745         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2746         Fix up finalizer to chain to its parent.
2747
2748 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2749
2750         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2751         Clearified the difference between the keyboard types. Wrote a note
2752         about the magic sysrq key to get out of raw mode.
2753
2754 2000-12-09  James Henstridge  <james@daa.com.au>
2755
2756         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2757         member to hold masks for detecting the start of a protocol packet.
2758         (mouse_devs): add packet start masks for ps2 and ms device types.
2759         Left the mask for fidmour blank, as I have no idea what it should
2760         be.
2761         (handle_mouse_io): skip bytes until we get to the start of a
2762         packet.  My Logitech mouse seems to be passing an extra NULL pad
2763         byte, and GPM does a similar thing here.
2764         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2765         this is the ms mouse driver.
2766         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2767         completely broken except for button1.  It was checking the wrong
2768         bit in the packet for the status of the right mouse button, and
2769         wrongly assuming right == button2 rather than 3.  I fixed that and
2770         also added support for middle button (button2).
2771
2772 2000-12-08  Havoc Pennington  <hp@redhat.com>
2773
2774         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2775         that cause a segfault on text insertion
2776
2777         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2778         warning
2779
2780         * gtk/gtktextiter.c (test_log_attrs): use
2781         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2782
2783         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2784         Get log attrs for a line, using a cache stored on the buffer
2785         
2786         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2787         reported by Jeff Franks
2788
2789 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2790
2791         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2792         /dev/ttyS0 -> /dev/mouse
2793
2794 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2795
2796         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2797         Added dummy gdk_fontset_load.
2798
2799 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2800
2801         * docs/README.linux-fb:
2802         * docs/Makefile.am:
2803         Initial GtkFB docs.
2804         
2805         * gdk/linux-fb/Makefile.am:
2806         Define GDK_DATA_PREFIX.
2807
2808         * gdk/linux-fb/gdkmain-fb.c:
2809         Fix typo.
2810         Change default display to /dev/fb0.
2811
2812         * gdk/linux-fb/gdkpango-fb.c:
2813         Add $(prefix)/share/fonts/ to font path.
2814         
2815 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2816
2817         * gdk/linux-fb/gdkkeyboard-fb.c:
2818         New file containing the abstracted keyboard driver. Most code
2819         taken from gdkinput-ps2.c
2820
2821         * gdk/linux-fb/gdkinput-ps2.c:
2822         Removed file.
2823         
2824         * gdk/linux-fb/Makefile.am:
2825         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2826
2827         * gdk/linux-fb/gdkcolor-fb.c:
2828         display->fb was renamed to display->fb_fd.
2829
2830         * gdk/linux-fb/gdkcursor-fb.c:
2831         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2832
2833         * gdk/linux-fb/gdkinput.c:
2834         Moved gdk_input_init here from gdkinput-ps2.c
2835
2836         * gdk/linux-fb/gdkmain-fb.c:
2837         display->fb was renamed to display->fb_fd.
2838         Now the tty and the console is opened here instead
2839         of in the keyboard driver. Also check GDK_VT to see what
2840         tty to open.
2841         Move gdk_beep () here from gdkinput-ps2.c
2842         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2843
2844         * gdk/linux-fb/gdkmouse-fb.c:
2845         Add header.
2846         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2847         Return correct keyboard modifiers.
2848         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2849
2850         * gdk/linux-fb/gdkprivate-fb.h:
2851         Add tty and vt info to display.
2852         Add orignal modeinfo storage to display
2853         Update global functions
2854
2855         * gdk/linux-fb/gdkwindow-fb.c:
2856         Added gdk_fb_window_find_focus().
2857         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2858
2859 2000-12-07  Havoc Pennington  <hp@pobox.com>
2860
2861         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2862         function, noticed by Alex
2863
2864 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2865
2866         * configure.in: Detect freetype properly
2867
2868         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2869         above.
2870
2871 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2872
2873         * gdk/linux-fb/Makefile.am:
2874         Add gdkmouse-fb.c
2875         
2876         * gdk/linux-fb/gdkmouse-fb.c:
2877         New file. Abstracted the mouse drivers a bit.
2878
2879         * gdk/linux-fb/gdkcursor-fb.c:
2880         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2881
2882         * gdk/linux-fb/gdkinput-ps2.c:
2883         Removed old mouse handling code. Moved cursor handling code
2884         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2885         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
2886         gdk_mouse_get_info.
2887
2888         * gdk/linux-fb/gdkmain-fb.c:
2889         Pass NULL pointers for x,y in gdk_mouse_get_info call.
2890
2891         * gdk/linux-fb/gdkprivate-fb.h:
2892         Removed public gdk_fb_find_common_ancestor, added and renamed
2893         functions for the new mouse handling code.
2894
2895         * gdk/linux-fb/gdkwindow-fb.c:
2896         Moved gdk_fb_window_send_crossing_events here. added global
2897         variable gdk_fb_window_containing_pointer. made
2898         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
2899         renamed to gdk_mouse_get_info.
2900
2901 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2902
2903         * gdk/linux-fb/gdkevents-fb.c:
2904         Update to match latest gmain/gsource changes.
2905
2906         * gdk/linux-fb/gdkinput-ps2.c:
2907         Bogus gdk_keymap_get_entries_for_keycode implementation so that
2908         it links. Will be implemented later.
2909
2910 2000-12-03  Havoc Pennington  <hp@pobox.com>
2911
2912         * gdk/Makefile.am: add gdkkeys.[hc]
2913
2914         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
2915         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
2916
2917         * acconfig.h, configure.in: add checks and command line options
2918         for XKB
2919
2920         * gdk/x11/gdkkeys-x11.c: Implement the above functions
2921         
2922         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
2923         and group in the key event
2924
2925         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
2926         field with the low-level hardware key code, and a group
2927         field with the keyboard group
2928
2929         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
2930         and declare a couple globals used for keymap handling
2931         
2932         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
2933         hold down Shift-Control and type a hex number to get a Unicode 
2934         character corresponding to the hex number
2935         (gtk_im_context_simple_get_preedit_string): Fix cursor position
2936         (return bytes not chars)
2937
2938 2000-12-05  Elliot Lee  <sopwith@redhat.com>
2939
2940         * gdk/gdkcolor.h: Make GdkColor specify element sizes
2941         to avoid waste on 64-bit platforms.
2942
2943 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
2944
2945         * INSTALL: Fix link to PNG home, remove reference
2946         to fribidi.
2947
2948         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
2949         
2950         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
2951         tested.)
2952
2953         * gtk/gtkcheckmenuitem.c: Permanently turn on
2954         always_show_toggle.
2955
2956         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
2957         be NULL. (Vladimir Klebanov, #26545)
2958
2959         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
2960         some signed/unsigned comparison problems. (#6510,
2961         David Kaelbling)
2962
2963         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
2964         return type to boolean (Oskar Liljeblad, #18648)
2965
2966 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2967
2968         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
2969         Remove bogus colormap setting.
2970
2971 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2972
2973         * gdk/linux-fb/gdkcolor-fb.c:
2974         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2975
2976         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
2977         Must set colormap.
2978         
2979 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
2980
2981         * docs/tutorial/gtk-tut.sgml: DND updates
2982
2983 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
2984
2985         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2986         Remove old debug g_warning().
2987         (gdk_fb_draw_drawable): The src argument can be either a wrapper
2988         or an implementation, just pass the implementation to draw_drawable_2.
2989         
2990         * gdk/linux-fb/gdkprivate-fb.h:
2991         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
2992
2993         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2994         clear and invalidate area when window is destroyed.
2995         (send_map_events): Remove old commented out code.
2996
2997 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2998
2999         * gdk/linux-fb/gdkpango-fb.c:
3000         Use italic instead of oblique in font aliases.
3001         
3002         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3003         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3004         other unsupported functions.
3005
3006 2000-12-04  Havoc Pennington  <hp@redhat.com>
3007
3008         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3009
3010         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3011
3012         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3013
3014         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3015         hack to avoid infinite loops (synthetic expose event) - 
3016         Owen has more appropriate fixes in a branch he'll check in later.
3017
3018         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3019         separator, CR, and CRLF as line ends
3020
3021         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3022         into lines using pango_find_paragraph_boundary(); other bits of
3023         the widget are still going to be broken if the boundary isn't '\n'
3024         though
3025
3026 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3027
3028         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3029         multiply.
3030
3031         * gdk/linux-fb/gdkpango-fb.c:
3032         Copied some 26.6 scaling macros from pango to clean up the rounding.
3033         (pango_fb_font_get_glyph_info): Correct sign on x value.
3034
3035         * gdk/linux-fb/gdkprivate-fb.h:
3036         Removed unreferenced external functions.
3037
3038         * modules/linux-fb/Makefile.am: Use ` instead of '.
3039
3040         * modules/linux-fb/basic.c:
3041         Remove dead code. In particular the dummy lang engine which broke all
3042         pango layouts in GtkFB. Don't include tables-big.i anymore.
3043
3044         * modules/linux-fb/tables-big.i:
3045         Upgrade to latest version from pango. Left for reference, basic_ranges
3046         moved to basic.c.
3047         
3048 2000-12-04  Havoc Pennington  <hp@redhat.com>
3049
3050         Fix bugs Alex found:
3051         
3052         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3053         to "draw"
3054
3055         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3056
3057         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3058
3059         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3060         implementation in here, apparently the expose() implementation was
3061         dead code.
3062
3063 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3064
3065         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3066         Return positive descent.
3067
3068 2000-12-02  Havoc Pennington  <hp@pobox.com>
3069
3070         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3071         method and signal
3072         
3073         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3074         calls gdk_window_process_updates() to push the exposes through
3075         (gtk_widget_class_init): No more draw signal, no
3076         gtk_widget_real_draw()  
3077         
3078         * gtk/gtkbin.c (gtk_bin_draw): remove
3079
3080         * gtk/gtkbox.c (gtk_box_draw): remove
3081
3082         * gtk/gtkbutton.c (gtk_button_draw): remove
3083
3084         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3085
3086         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3087
3088         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3089
3090         * gtk/gtkclist.c (gtk_clist_draw): remove
3091
3092         * gtk/gtkentry.c (gtk_entry_draw): remove
3093
3094         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3095
3096         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3097
3098         * gtk/gtkframe.c (gtk_frame_draw): remove
3099
3100         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3101
3102         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3103
3104         * gtk/gtklayout.c (gtk_layout_draw): remove
3105
3106         * gtk/gtklist.c (gtk_list_draw): remove
3107
3108         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3109
3110         * gtk/gtkmenu.c (gtk_menu_draw): remove
3111
3112         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3113
3114         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3115
3116         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3117
3118         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3119
3120         * gtk/gtkpacker.c (gtk_packer_draw): remove
3121
3122         * gtk/gtkrange.c (gtk_range_draw): remove
3123
3124         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3125
3126         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3127
3128         * gtk/gtktable.c (gtk_table_draw): remove
3129
3130         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3131
3132         * gtk/gtktext.c (gtk_text_draw): remove
3133
3134         * gtk/gtktextview.c (gtk_text_view_draw): remove
3135
3136         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3137
3138         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3139
3140         * gtk/gtktree.c (gtk_tree_draw): remove
3141
3142         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3143
3144         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3145
3146         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3147
3148         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3149
3150         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3151
3152         * gtk/gtkwindow.c (gtk_window_draw): remove
3153
3154 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3155
3156         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3157         a GtkToggleButton is both insensitive and active, it was being
3158         drawn by the GtkButton draw handler which doesn't check the
3159         state. Now it's calling gtk_toggle_button_paint instead.
3160         
3161 2000-12-01  Havoc Pennington  <hp@redhat.com>
3162
3163         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3164         dangling pointers to the appearance attributes from the 
3165         line display
3166
3167         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3168         width/height to mean "full width/height of drawable"
3169
3170         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3171         click to select word/line
3172         
3173         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3174         when getting log attrs. Get a slice, so that pixmaps and stuff
3175         are properly handled.
3176
3177         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3178         paste into the selection (replaces selection now, previously
3179         crashed or added to selection). Reveals longstanding btree bug -
3180         select multiple lines, middle-click on the selection, boom. This
3181         isn't related to my changes though.
3182
3183         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3184         PangoLogAttrs changes
3185         (gtk_entry_move_backward_word): ditto
3186
3187         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3188         functions return bool whether the iter moved onto a
3189         dereferenceable position.
3190  
3191         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3192         functions for motion in terms of display lines.
3193
3194         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3195         get the buffer a mark is inside
3196         
3197 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3198
3199         * gdk/linux-fb/Makefile.am:
3200         * modules/linux-fb/Makefile.am:
3201         Freetype 2 final uses freetype-config
3202
3203         * gdk/linux-fb/gdkpango-fb.c:
3204         Upgrade to use Freetype 2 final.
3205         More flexible support for font aliases, this also fixes a bug with
3206         GtkFontSelector, as the aliases must be visible in the font/family list,
3207         or GtkFontSelector reads uninitialized memory.
3208
3209 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3210
3211         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3212         XGetIMValues to properly terminate variable argument list, and do
3213         NULL return check for ic_values and xim_styles.
3214
3215         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3216         Restore preedit state after XmbResetIC().
3217         
3218         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3219         XvaCreateNestedList() should take XvaNestedList, but not
3220         XvaNestedList*.
3221
3222         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3223         preedit_draw_callback, preedit_caret_callback): Match
3224         "preedit-changed" signal name to "preedit_changed" to be
3225         consistent to the spec.
3226
3227         * gtk/gtkimcontextsimple.c (check_table):
3228         Match "preedit-changed" to "preedit_changed" to be consistent
3229         to the spec.
3230
3231 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3232
3233         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3234         gc->clip_region == NULL>
3235
3236 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3237
3238         Changes by Hans Breuer:
3239         
3240         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3241         Dont't use negative width and height as max_hints. This fixes
3242         Owen's recent testgtk changes for win32.
3243
3244         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3245         gdk_win32_hdc_release): These are exported and may be called with
3246         other drawable types than our GdkDrawableImplWin32 (?).
3247
3248         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3249         so always #define USE_BACKING_STORE.
3250
3251         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3252         of printf for debugging output.
3253
3254         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3255         
3256         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3257
3258         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3259         declaration.
3260
3261         * gtk/gtktexttypes.h: Ditto.
3262
3263         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3264         (GDK_VoidSymbol) also if in case of arg check failure.
3265
3266         * gtk/gtkimcontextsimple.c
3267         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3268         position to the pointer, but to the variable it points to.
3269
3270         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3271
3272         * gtk/gtk.def: Updates.
3273
3274 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3275
3276         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3277         GTK_TYPE_TREE_MODEL.
3278
3279 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3280
3281         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3282         Set the size of the font from the description.
3283         (gdk_text_width): Gross hack that calculates the width
3284         of text by text_length * size/2. This is necessary because
3285         GtkLabel does some ugly gtk_string_width call to calculate
3286         an good size.
3287         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3288
3289 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3290
3291         * docs/tutorial/gtk-tut.sgml: DND updates
3292
3293 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3294
3295         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3296         If you pass width or height == 0 to gdk_window_clear_area they
3297         should be calculated from the window size.
3298
3299 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3300
3301         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3302         a grab, but no grab-cursor, use the cursor from the grabbed
3303         window. (gdk_fb_window_send_crossing_events): Send normal
3304         enter/leave notifications if grab and owner_events == TRUE.
3305
3306 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3307
3308         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3309         Do implicit button grabs, even if the window doesn't
3310         want the event.
3311         (gdk_fb_window_send_crossing_events): If there is a
3312         grab, only the grabbed window gets normal enter/leave
3313         notifications. On ungrab go from grabbed window to current.
3314         Don't send any notification to b when propagating from c -> b.
3315         If setting a grab on window, don't set prev_window.
3316         (handle_mouse_input): Send enter/leave events to the window the
3317         mouse is over, not the grabbed one.
3318         
3319 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3320
3321         * gdk/gdkregion-generic.c: Zap warning.
3322         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3323         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3324
3325 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3326
3327         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3328         The cursor should be hidden if it is part of either the
3329         source or destination region. Not only if it is in both.
3330         (gdk_window_set_transient_for): Silence warnings.
3331
3332 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3333
3334         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3335         The default mode in X is Pie Arcs, therefore that is
3336         what Gtk+ uses.
3337
3338 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3339
3340         * gdk/linux-fb/gdkinput-ps2.c:
3341         Implement correct EnterNotify/LeaveNotify:
3342         (gdk_fb_window_send_crossing_events): New function that sends
3343         all GdkCrossingEvents from the last mouse-window to the specified
3344         destination.
3345         (gdk_fb_window_visibility_crossing): Removed function.
3346         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3347         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3348         instead of gdk_window_get_pointer() for better readability.
3349
3350         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3351         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3352
3353         * gdk/linux-fb/gdkprivate-fb.h:
3354         removed gdk_fb_window_visibility_crossing, added
3355         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3356
3357         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3358         New function that finds the least common ancestor of two windows.
3359         (gdk_window_show, gdk_window_hide):
3360         Use gdk_fb_window_send_crossing_events.
3361         (gdk_fb_window_move_resize): Send configure events to toplevel
3362         windows. Use gdk_fb_window_send_crossing_events.
3363
3364 2000-11-27  Havoc Pennington  <hp@redhat.com>
3365
3366         * gtk/gtkprivate.h (enum): Remove a trailing comma
3367
3368 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3369
3370         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3371         the "changed" callback of the adjustment.  We need to redraw the
3372         spin button's arrows when the adjustment's range changes.
3373         (adjustment_changed_cb): Draw the arrows.
3374         (gtk_spin_button_value_changed): Draw the arrows.
3375
3376 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3377
3378         * gdk/linux-fb/gdkselection-fb.c:
3379         Initial selection implementation.
3380
3381         * gtk/gtkselection.c:
3382         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3383         requestor in gtk_selection_request.
3384         
3385         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3386         Added gdk_selection_property atom.
3387
3388         * gdk/linux-fb/gdkprivate-fb.h:
3389         Export _gdk_selection_window_destroyed.
3390         Removed mask_off_x/y from GdkCursorPrivateFB.
3391         Removed hbearing, added top, left to PangoFBGlyphInfo.
3392
3393         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3394         Call _gdk_selection_window_destroyed
3395         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3396         the root window has been created.
3397         (static_dx_hack, static_dy_hack, compare_draw_rects,
3398         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3399         in region. They are already sorted. Instead just traverse them in
3400         reverse if draw_direction < 0.
3401         
3402         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3403         Double-clicks must be sent after the normal button_press.
3404         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3405         
3406         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3407         Pass _gdk_fb_screen_gc instead of NULL.
3408
3409         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3410         Initialize gdk_selection_property.
3411         (gdk_event_make): Remove unused code.
3412
3413         * gdk/linux-fb/gdkcursor-fb.c:
3414         Make the pixmap for the cursor the same size as the mask. Also remove
3415         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3416         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3417         Now the whole cursor is visible.
3418
3419         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3420         Fix bug where xdest+height instead of ydest+height was used
3421         to calculate if the source and dest overlapped. This fixes the
3422         redraw bug when the main window in testgtk was scrolled when
3423         partially covered by a tall window.
3424         Copy rectangles in region in order depending on draw_direction.
3425         Also moved the draw_direction flipping of start_y and end_y into
3426         the gc functions, as this might not be what all of them want.
3427         (gdk_fb_draw_lines): Support dashed lines.
3428         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3429         so that the text is positioned correctly (was 1 pixel high).
3430
3431         gdk/linux-fb/gdkgc-fb.c:
3432         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3433         all lines were drawn a pixel to short. Also checked the default of
3434         the rest of the values, and they're the same as X now.
3435
3436         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3437         Clean up pixel positioning of the glyphs. Just use bgy->top and
3438         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3439         to all divisions to get correct rounding behaviour.
3440
3441         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3442         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3443         Moved start_y/end_y flip into draw_drawable implementations.
3444         Flip also x rendering when draw_direction < 0.
3445         Remove unneccesary multiply with draw_direction.
3446
3447 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3448
3449         * docs/tutorial/gtk-tut.sgml:
3450           - get rid of gtk_toggle_button_toggled FUD
3451           - start DND section - needs work - based on:
3452                 http://wolfpack.twu.net/docs/gtkdnd/
3453
3454 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3455
3456         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3457         Correct calculation of font metrics. Now GtkEntrys have sane
3458         size.
3459
3460 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3461
3462         * gdk/gdktypes.h:
3463         Add new type GdkSpan
3464         
3465         * docs/reference/gdk/gdk-sections.txt,
3466         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3467         gdk/gdkregion.h:
3468         Implement and document gdk_region_spans_intersect_foreach.
3469
3470         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3471         Add new file gdkrender-fb.c which contains all core
3472         rendering code.
3473         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3474         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3475         (optimized rectangle fillers).
3476
3477         * gdk/linux-fb/gdkdrawable-fb2.c:
3478         Move all rendering code to gdkrender-fb.c.
3479         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3480         Use the new span intersection functions in gdk_fb_fill_spans.
3481         gdk_fb_draw_rectangle() clips filled rectangles and calls
3482         gc->fill_rectangle with the result.
3483         gdk_fb_fill_spans() gets extra argument "sorted".
3484
3485         * gdk/linux-fb/gdkevents-fb.c:
3486         Remove unused includes and defines.
3487         New function gdk_fb_get_time() to get correct time for events.
3488
3489         * gdk/linux-fb/gdkinput-ps2.c:
3490         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3491         Make sure to set the time of all events.
3492
3493         * gdk/linux-fb/gdkmain-fb.c:
3494         Use gdk_fb_get_time ().
3495
3496         * gdk/linux-fb/gdkprivate-fb.h:
3497         New virtual GC calls: fill_span & fill_rectangle.
3498         Export gdk_fb_get_time().
3499         gdk_fb_fill_spans() gets extra argument "sorted".
3500
3501         * gdk/linux-fb/mi*.c:
3502         Use GdkSpan instead of GdkRectangle.
3503         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3504         from XFree 4 source)
3505         
3506 2000-11-22    <jrb@redhat.com>
3507
3508         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3509         reversing the order in an if statement will do.  Doing so managed
3510         to make the treemodelsort half work.  Other half will follow after
3511         I get the insert function fully fixed.
3512
3513 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3514         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3515         more than 2 bits. Besides, I need to implement an evil hack. :)
3516
3517 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3518
3519         * docs/tutorial/gtk-tut.sgml: minor corrections
3520
3521 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3522         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3523           convert to and from relative path's and iters.
3524
3525         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3526           testing sorting functions a bit better.  Currently broken -- will
3527           fix in morning.
3528
3529 2000-11-20  Havoc Pennington  <hp@redhat.com>
3530
3531         * gtk/gtkwidget.c: Documented a bunch of functions in here
3532         (gtk_widget_realize): Warn if you try to realize
3533         a widget with no parent that isn't a toplevel
3534         (gtk_widget_intersect): return a gboolean
3535
3536 2000-11-20  Havoc Pennington  <hp@redhat.com>
3537
3538         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3539         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3540         scrolling to be implemented in GDK to finish. Also, right now
3541         we just size_allocate all children on every layout change,
3542         which is pretty lame. Test commented out of testtext.c, 
3543         until it works better.
3544
3545 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3546
3547         * gdk/linux-fb/gdkdrawable-fb2.c:
3548         Removed unused arguments from gdk_fb_drawable_get_pixel().
3549
3550         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3551         Renamed fidur specific mouse packet data in MouseDevice to
3552         generic. Used it in ps2 mouse handling code to avoid blocking
3553         reads.
3554
3555 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3556
3557         * demos/gtk-demo/main.c: Changed to have the list become
3558         non-italic when the demo window is destroyed through an external
3559         event (like a close button).  Doing so found three bugs in the
3560         widget.
3561
3562         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3563
3564         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3565         we actually set the cell.
3566
3567         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3568
3569         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3570         free a leaked path.  Thanks memprof.
3571
3572 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3573
3574         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3575         off-by-one error when destroying allocated segments
3576         on failure. (Elliot)
3577
3578 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3579
3580         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3581         memleaks found by Evan Martin.
3582
3583 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3584
3585         * Released 1.3.2
3586         
3587         * NEWS: Updates for 1.3.2
3588
3589 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3590
3591         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3592         but in general for window system specific events.
3593
3594         * gtk/gtk.def
3595         * gtk/makefile.mingw.in
3596         * gtk/makefile.msc.in: Update.
3597         
3598         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3599
3600 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3601
3602         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3603         distribute gtk.immodules.
3604
3605         * gtk/Makefile.am (install-data-local): Don't install the
3606         gtk.immodules file created for the uninstalled modules;
3607         instead run gtk-query-immodules after install
3608
3609 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3610
3611         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3612         -rpath to the right install location.
3613
3614         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3615         -export-dynamic.
3616
3617         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3618         properly.
3619
3620 2000-11-15  Havoc Pennington  <hp@pobox.com>
3621
3622         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3623         patch from Mikael Hermansson to temporarily stop blinking while
3624         the user is using the keyboard to type or navigate. 
3625
3626         Also, when blinking, stay on for longer than we stay off. Also,
3627         return from start_cursor_blink if !cursor_visible, to save
3628         checking that flag all over the place before we call
3629         start_cursor_blink.
3630
3631 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3632
3633         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3634         only contain a "fontset" line, which is now ignored.
3635
3636         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3637         double-click-to-select-word work.
3638         
3639 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3640
3641         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3642         Don't move back one char when we are actually at the end of the 
3643         paragraph.
3644
3645 2000-11-15  Robert Brady  <robert@suse.co.uk>
3646
3647         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3648         'o' < 'p'.
3649         
3650         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3651         bind_textdomain_codeset.
3652
3653         (gtk_init_check): Make the warning about translating default:LTR
3654         sterner.
3655         
3656 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3657
3658         * **/Makefile.am : remove unecessary rules for win32-specific
3659         config-substituted targets. If you want these rules, use
3660         --enable-maintainer-mode (called automatically by autogen.sh).
3661         Stops a lot of unneccessary make-time warnings.
3662
3663         * gtk/gtktext{layout,display}.c: Factor in total width as
3664         well as screen when figuring alignment for word-wrap as well as
3665         no wrap; this is necessary to handle lines that cannot be wrapped
3666         at all.
3667
3668 2000-11-15  Havoc Pennington  <hp@redhat.com>
3669
3670         * gtk/testtext.c: Implement essential color cycling feature
3671
3672 2000-11-15  Havoc Pennington  <hp@redhat.com>
3673
3674         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3675         when we invalidate the main window.
3676
3677         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3678         GtkTextView will now invalidate the side windows for us when text
3679         changes.
3680
3681 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3682
3683         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3684         unconditionally, since we may need to update the horizontal
3685         scrollbars even if the height didn't change.
3686
3687         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3688         the extra attrs, since some of them affect size.
3689
3690         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3691         x_offset correctly.
3692
3693 2000-11-15  Havoc Pennington  <hp@redhat.com>
3694
3695         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3696         don't move the first line out into the margin, instead move the
3697         whole paragraph in order to make space for the first line within 
3698         the margin
3699
3700 2000-11-15  Havoc Pennington  <hp@redhat.com>
3701
3702         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3703         xoffset in addition to yoffset, so horizontal scrolling doesn't
3704         break redraws
3705
3706 2000-11-15  Havoc Pennington  <hp@redhat.com>
3707
3708         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3709         from the cursor
3710         (render_layout_line): fix reversed test that caused weird
3711         underlines to get drawn
3712
3713 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3714
3715         * gdk/linux-fb/gdkprivate-fb.h:
3716         Fix debug macros.
3717         
3718 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3719
3720         * gdk/linux-fb/gdkprivate-fb.h:
3721         Added virtual functions set_pixel, get_color,
3722         fill_span and draw_drawable to the GC.
3723         Added global _gdk_fb_screen_gc to use instead of
3724         NULL when drawing to the screen.
3725         Added _gdk_fb_gc_calc_state() prototype.
3726
3727         * gdk/linux-fb/gdkgc-fb.c:
3728         Call _gdk_fb_gc_calc_state() on any gc state change.
3729
3730         * gdk/linux-fb/gdkglobals-fb.c:
3731         Add _gdk_fb_screen_gc
3732                 
3733         * gdk/linux-fb/gdkdrawable-fb2.c:
3734         _gdk_fb_gc_calc_state() calculates best functions
3735         for the GC state and depth.
3736         Moved bpp specialized code to separate functions.
3737         Added optimized 24 bpp AA draw_drawable.
3738
3739         * gdk/linux-fb/gdkevents-fb.c:
3740         Silence gcc warning.
3741
3742         * gdk/linux-fb/gdkimage-fb.c:
3743         Use _gdk_fb_screen_gc
3744
3745         * gdk/linux-fb/gdkwindow-fb.c:
3746         Init and use _gdk_fb_screen_gc
3747
3748         * gdk/linux-fb/mitypes.h:
3749         Remove unused types.
3750
3751 2000-11-14  Havoc Pennington  <hp@pobox.com>
3752
3753         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3754         to pixels
3755
3756 2000-11-14  Havoc Pennington  <hp@pobox.com>
3757
3758         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3759
3760         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3761         unknown char, no real reason we were using a variable. 
3762         Remove gtk_text_unknown_char variable. Fix all the text widget
3763         files accordingly.
3764
3765         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3766         since the Unicode spec seems to prefer that character for our
3767         purposes.
3768
3769 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3770
3771         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3772         value of g_getenv() isn't freeable, so g_strdup it.
3773
3774         * modules/input/inuktitut.c: Inuktitut input method.
3775
3776         * modules/input/Makefile.am: Build this.
3777         
3778 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3779
3780         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3781         of gtk programs.
3782
3783 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3784
3785         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3786         reversed > that was causing Home to go to end of previous line.
3787
3788         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3789         modified-keypresses (leave for bindings.)
3790
3791         * modules/input/Makefile.am: Remove useless -export-dynamic
3792         from module LDFLAGS.
3793
3794 2000-11-14  Havoc Pennington  <hp@redhat.com>
3795
3796         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3797         higher.
3798
3799         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3800         account. Also, render rise, underline, background, etc. for
3801         pixbufs as well as text. Also, draw underlines one pixel higher.
3802
3803         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3804         PangoAttribute for the rise, so it gets drawn properly. Also,
3805         add the GtkTextAppearance attribute for pixbuf/widget segments
3806         as well; we should go ahead and have rise, underline, background,
3807         stipple work for those
3808
3809         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3810         Pango
3811
3812 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3813
3814         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3815
3816         * gtk/gtk.def: Update.
3817
3818         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3819         included.
3820         (gtk_rc_get_im_module_file): Use run-time installation directory
3821         on Win32.
3822
3823         * gdk/win32/rc/gdk.rc: Remove.
3824         * gdk/win32/rc/gdk.rc.in: New file.
3825         * gdk/win32/rc/Makefile.am: New file
3826         * gdk/win32/Makefile.am: Corresponding changes.
3827
3828         * gtk/gtk.rc: Remove.
3829         * gtk/gtk-win32.rc.in: New file.
3830         * gtk/Makefile.am: Corresponding changes.
3831
3832         * configure.in: Corresponding changes.
3833
3834         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3835         has a built gtkcompat.h. Developers using CVS code on Win32 can
3836         hand-edit it from gtkcompat.h.in.
3837
3838         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3839         gtkcompat.h from gtkcompat.h.win32.
3840
3841 2000-11-14  Havoc Pennington  <hp@redhat.com>
3842
3843         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3844         to default to GDK_ACTION_MOVE if the drag is within a single
3845         widget. Defaults to GDK_ACTION_COPY between widgets.
3846
3847 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3848
3849         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3850
3851         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3852
3853         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3854         srcdir != builddir
3855
3856         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3857
3858         * configure.in (GTK_VERSION): Up to 1.3.2
3859
3860         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3861         gtkimcontextxim.h
3862
3863         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3864         missing doc comment.
3865
3866 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3867
3868         * modules/linux-fb/basic.c:
3869         Use the glib iconv wrappers.
3870
3871 2000-11-13  Havoc Pennington  <hp@pobox.com>
3872
3873         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3874         still more bugs.
3875
3876         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3877         scroll the GdkWindows before realization.
3878
3879 2000-11-13  Havoc Pennington  <hp@redhat.com>
3880
3881         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3882         where GC didn't always get updated properly
3883
3884         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3885         of fonts instead of setting the entire font
3886
3887         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
3888         setting entire font
3889
3890         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
3891
3892         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
3893         a bunch of individually-settable font attributes. You can still 
3894         use the "font" and "font_desc" args, they just set all the font
3895         attributes at once.
3896
3897 2000-11-13 Elliot Lee <sopwith@redhat.com>
3898
3899         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
3900
3901 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
3902
3903         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
3904         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
3905
3906         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
3907         work better.
3908
3909 2000-11-13  Havoc Pennington  <hp@redhat.com>
3910
3911         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
3912         the module file.
3913
3914         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
3915         dest->language
3916
3917         * gtk/testtext.c: Test pixels above/below/inside paragraphs
3918         settings
3919
3920         * gtk/gtktextview.c: Implement object args and setters/getters for
3921         all the aspects of the GtkTextAttributes that are not set from
3922         GtkWidget attributes. This is spacing, justification, margins,
3923         etc.
3924
3925         (gtk_text_view_set_arg)
3926         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
3927         args
3928         (gtk_text_view_class_init): Add args for justify, left_margin,
3929         right_margin, indent, and tabs
3930         
3931
3932         * gtk/gtktextlayout.c (set_para_values): fix to display indent
3933         attribute properly
3934
3935         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
3936         replace with indent attribute
3937
3938         * gtk/gtktextlayout.c (set_para_values): multiply indent by
3939         PANGO_SCALE
3940
3941         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
3942         rearranging code to do that
3943         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
3944         i.e. don't subtract the top_margin first, just to keep
3945         all margin-futzing in one place.
3946
3947         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
3948
3949         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
3950         special case of last line, Pango now handles this itself.
3951         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
3952         Y coordinate
3953         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
3954         (find_display_line_above): wasn't moving the byte index as it
3955         iterated over lines, so always returned byte 0. Also, port to use
3956         PangoLayoutIter.
3957         (find_display_line_below): same problem as
3958         find_display_line_above. Also, port to use PangoLayoutIter.
3959
3960 2000-11-13  Alexander Larsson  <alexl@redhat.com>
3961
3962         * gdk/linux-fb/*.[ch]:
3963         Massive reindent to gtk+ standard. My hands hurt.
3964
3965         * gdk/linux-fb/gdkcolor-fb.c:
3966         Move GdkColorPrivateFB from inherited to windowing_data
3967
3968         * gdk/linux-fb/gdkcursor-fb.c:
3969         _gdk_cursor_new_from_pixmap made static
3970
3971         * gdk/linux-fb/gdkdnd-fb.c:
3972         GdkDragContextPrivate moved to windowing_data
3973
3974         * gdk/linux-fb/gdkdrawable-fb2.c:
3975         Removed endian.h, use glib endianness macros instead
3976         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
3977         and GDK_DRAWABLE_IMPL_FBDATA
3978
3979         * gdk/linux-fb/gdkfont-fb.c:
3980         Add empty gdk_font_load(). Needed for linking of Gtk+.
3981
3982         * gdk/linux-fb/gdkimage-fb.c:
3983         Removed endian.h, use glib endianness macros instead
3984         Moved GdkImagePrivateFB to windowing_data
3985         gdk_image_new_bitmap didn't always allocate enough
3986         memory.
3987
3988         * gdk/linux-fb/gdkinput-ps2.c:
3989         Added semi-working support for MS serial mice.
3990
3991         * gdk/linux-fb/gdkprivate-fb.h:
3992         s/GdkWindowPrivate/GdkWindowObject/
3993         Removed GdkWindowPrivate typedef
3994         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
3995         Removed GDK_DRAWABLE_P
3996         Move GdkColorPrivateFB from inherited to windowing_data
3997         Moved GdkImagePrivateFB to windowing_data
3998
3999         * gdk/linux-fb/gdkvisual-fb.c:
4000         Removed some unused debug code.
4001
4002         * gdk/linux-fb/gdkwindow-fb.c:
4003         Use stock cursors instead of including X headers.
4004         s/GdkWindowPrivate/GdkWindowObject/
4005
4006         * gdk/linux-fb/mitypes.h:
4007         Removed unused types.
4008
4009         * modules/linux-fb/basic.c:
4010         Use the pango fribidi wrappers.
4011
4012 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4013
4014         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4015         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4016         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4017         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4018         GEqualFunc where applicable.
4019         
4020         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4021         pango_font_description_equal as changed in pango.
4022         
4023         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4024
4025         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4026
4027         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4028
4029         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4030
4031         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4032
4033         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4034
4035         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4036         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4037
4038         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4039         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4040
4041 2000-11-12  Havoc Pennington  <hp@pobox.com>
4042
4043         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4044         dir to datadir/gtk+-2.0/demo
4045
4046         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4047         sorts of text widget and Pango font bugs. Urgh.
4048
4049         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4050
4051         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4052         tree that you should double click to see the demo. Fix 
4053         types of variables to reflect changed return values from 
4054         GtkTreeStore and GtkTreeViewColumn constructors.
4055
4056         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4057         newly-created buffer to prepare for GObject semantics
4058
4059         * gtk/testtext.c: don't leak the buffer with GObject semantics
4060
4061         * gtk/testtextbuffer.c: ditto
4062         
4063 2000-11-12  Havoc Pennington  <hp@pobox.com>
4064
4065         Rename this testgtk to gtk-demo to avoid confusion, and 
4066         install it so people can use it as a supplement to 
4067         the documentation.
4068         
4069         * demos/gtk-demo: Moved from demos/testgtk
4070
4071         * demos/testgtk: Removed
4072
4073         * configure.in: make Makefile in gtk-demo
4074         
4075         * demos/gtk-demo/Makefile.am: Install sample source to 
4076         datadir/gtk-demo (maybe there's a better place?), and 
4077         rename the binary to gtk-demo
4078         
4079         * demos/gtk-demo/main.c (load_file): Load installed sample
4080         source if source isn't found in pwd.
4081
4082 2000-11-09  Havoc Pennington  <hp@pobox.com>
4083
4084         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4085         argument to set the char displayed when visibility == FALSE
4086         (gtk_entry_create_layout): If !entry->visible, replace 
4087         all chars with the "invisible char"
4088
4089         * gtk/testgtk.c: Test the invisible_char deal
4090         
4091 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4092
4093         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4094         can't get a native font in the right encoding.
4095
4096 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4097
4098         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4099         respectively.
4100
4101 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4102
4103         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4104         Fix warning when moving between paragraphs.
4105
4106         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4107         delete => delete_from_cursor, insert => insert_at_cursor
4108
4109 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4110
4111         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4112
4113         * modules/input/imthai-broken.c: A Thai input method for use if
4114         Thai keys are really generating Latin1 keysyms.
4115
4116         * modules/input/Makefile.am: Build these.
4117
4118 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4119
4120         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4121         g_filename_{to,from}_utf8 now takes an extra parameter.
4122
4123         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4124         strftime into UTF-8.
4125
4126         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4127         calendars.
4128
4129         (gtk_calendar_paint_day_names): Draw day names in the right 
4130         place.
4131         
4132 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4133
4134         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4135         problem with using result of g_get_charset() backwards -
4136         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4137
4138         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4139         negative min_width/height and max_width/height to
4140         mean "requisition"; this allows setting a window
4141         to be user-resizable in only one direction easily.
4142
4143         * gtk/testgtk.c (create_main_window): Remove hard-coded
4144         usize - set a default size in the vertical direction.
4145
4146 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4147
4148         * gtk/gtkrange.c: Add some missing casts. Support 
4149         2 and 3 button clicks on the arrows to mean 
4150         "move by pages" and "jump to end". (Like gtkspinbutton)
4151
4152 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4153
4154         * gdk/win32/makefile.msc : reflect build module changes
4155
4156         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4157         from GdkPixmap*, cast implementation member instead.
4158
4159         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4160         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4161         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4162         more Gdi functions return value checking. 
4163         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4164         GdkImagePrivateWin32 *.
4165
4166         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4167         menus useable again. Add #pragma message to keep reminded on this issue.
4168         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4169         windows. This allows to enable backing store on Win32!
4170
4171         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4172         in drawable is of impl type. Correct specific type checks appropriate.
4173  
4174         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4175         GDK_WINDOW_DESTROYED before allocating new resources.
4176
4177         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4178
4179         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4180         (gdk_window_foreign_new) initialize parent handle.
4181         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4182
4183         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4184         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4185         problems (e.g. main buttons in testgtk). 
4186
4187 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4188
4189         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4190         gtk_widget_activate for GDK_Return.
4191
4192         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4193         of preedit cursor position.
4194
4195 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4196
4197         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4198         static.
4199
4200 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4201
4202         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4203         out support for multiple locales; that simple doesn't
4204         work reliably with current Xlib
4205
4206         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4207         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4208         Add support for positioning the cursor within the preedit string.
4209
4210 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4211
4212         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4213         at XIM input method module.
4214
4215         * gtk/gtktextview.c: Check for bindings after passing
4216         events to im context filter.
4217
4218 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4219
4220         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4221         empty attribute lists properly.
4222
4223 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4224
4225         * gtk/queryimmodules.c (main): Return non-zero exit
4226         status if errors were encountered querying any
4227         modules.
4228
4229         * modules/input/Makefile.am (moduledir): remove
4230         leftover bin program target.
4231
4232         * docs/make-todo: Fix typo in error message.
4233
4234 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4235
4236         * configure.in: Add modules/input/Makefile
4237
4238 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4239
4240         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4241         don't include gtkthemes.h.
4242
4243         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4244         to point
4245
4246         * gtk/Makefile.am: Add new .c and .h files, build 
4247         gtk-query-immodules and use it to create a gtk.immodules
4248         file for use of test programs.
4249
4250         * gtk/gtkpreview.c: remove extra blank line.
4251
4252 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4253
4254         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4255         Add the ability to add extra tables beyond the default
4256         one, and also the ability to have compose sequences 
4257         that are prefixes of other compose sequences. 
4258
4259         * gtk/gtkimcontextsimple.c: Export a preedit string which
4260         consists of possible candidates for keystrokes that have
4261         been entered but not yet committed.
4262
4263         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4264         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4265
4266         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4267         Add a function to add input-method switching menu items
4268         to a menu.
4269
4270         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4271         when switching input methods.
4272
4273         * gtk/gtkimcontextsimple.[ch]: Change the format of
4274         the compose table to allow compose tables of different
4275         lengths / sequence.
4276
4277 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4278
4279         * gtk/gtkimmodule.[ch]: Support routines for loading
4280         GtkIMContext implementations dynamically at runtime.
4281
4282         * modules/input/imcyrillic-translit.c: A sample input
4283         method (based on GtkIMContextSimple with an extra table),
4284         which demonstrates preedit strings and the module
4285         system for input modules
4286
4287         * gtk/queryimmodules.c: Program to query the available
4288         input modules and write the results into a file.
4289          
4290         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4291         extra config options "im_module_file" (cache file for
4292         input method modules), and "im_module_path" - path
4293         to look for modules when generating cache file.
4294
4295         This doesn't scale.
4296
4297 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4298
4299         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4300         generic code from gtkthemes into a new abstraction
4301         GtkModule which has the logic for implementing
4302         a loadable module which implements a number of 
4303         GObject types.
4304
4305 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4306
4307         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4308         a class into an interface  
4309         
4310         * gtk/gtkoldeditable.[ch]: Move the old editable
4311         implementation into here, so legacy widgets can
4312         still rely on the implemenation. GtkOldEditable
4313         exports GtkEditable. Make selection handling
4314         code use new text conversion functions (and
4315         handle UTF-8 as a side-effect). Use GtkClipboard
4316         for CLIPBOARD.
4317
4318         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4319         Adopt to match above changes.
4320
4321         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4322         avoid GtkOldEditable implementation. Restructure
4323         to reduce number of places that modify state directly.
4324         Move to GtkBindingSet. Display the preedit string.
4325         Queue recomputation of PangoLayout and scroll position
4326         to improve effiency of doing complex changes naively.
4327         Add a menu with cut/copy/paste and input method selection.
4328
4329 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4330
4331         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4332         to set preedit string and attributes; display preedit string by
4333         inserting string and attributes at cursor when creating the
4334         GtkTextLineDisplay.
4335
4336         * gtk/gtktextlayout.c: Move all conversions between byte
4337         positions in PangoLayout and GtkTextIter into new functions
4338         line_display_iter_to_index/index_to_iter that properly
4339         handle the preedit string.
4340
4341         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4342         it to return const char * (eventually will end up
4343         as GCONST char *, most likely.)
4344
4345         * gtk/gtktextview.[ch]: Handle the preedit string, call
4346         gtk_im_context_reset() as necessary, add a menu to switch
4347         input methods.
4348         
4349         * gtk/gtktextlayout.[ch]: Remove useless
4350         gtk_text_layout_get_log_attrs() function.
4351
4352 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4353
4354         * gdk/gdk.def
4355         * gtk/gtk.def: Update.
4356
4357         * gdk/win32/*.c: Add last argument to g_type_register_static()
4358         calls.
4359
4360         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4361
4362         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4363         generated by older wheel mouse drivers. Get the correct y
4364         coordinate from WM_MOUSEWHEEL messages.
4365
4366         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4367         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4368         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4369         Debugging functions.
4370
4371         * gdk/win32/gdkprivate-win32.h: Declare them.
4372
4373         * gdk/win32/gdkinput-win32.h: Add declaration for
4374         gdk_input_window_destroy().
4375
4376         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4377
4378 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4379
4380         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4381         function to help handle keeping things in sync.
4382
4383 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4384
4385         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4386         BOXED marshallers.
4387
4388         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4389         (gtk_list_store_class_init): use the new BOXED marshallers.
4390
4391         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4392         new_with_values to new_with_types.
4393         (gtk_tree_store_get_column_type): add this.
4394         (gtk_tree_store_class_init): use the new BOXED marshallers.
4395
4396         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4397         mirror some POINTER marshallers.
4398
4399 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4400
4401         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4402         allow more interesting iterators.  Also, made the lifecycle of
4403         iterators more explicit.
4404
4405         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4406
4407         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4408         types.
4409
4410 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4411
4412         * demos/testgtk/menus.c:
4413         Changes to make the new testgtk compile after
4414         gtk_menu_append was removed.
4415
4416         * gdk/linux-fb/gdkdrawable-fb2.c
4417         (gdk_fb_get_depth, gdk_fb_get_visual,
4418         gdk_drawable_impl_fb_class_init): Implement
4419         these drawable functions. Now GtkImages work again.
4420
4421         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4422
4423         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4424         
4425         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4426         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4427         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4428         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4429
4430 2000-11-08  Havoc Pennington  <hp@pobox.com>
4431
4432         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4433         visible_set args, don't know where these had gone, I thought they
4434         used to be there
4435
4436         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4437         now we can test the feature and see that it's totally broken.
4438
4439 2000-11-08  Havoc Pennington  <hp@pobox.com>
4440
4441         Make DND copy pixbufs and tags when source and target share a 
4442         tag table.
4443         
4444         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4445         in-process GTK_TEXT_BUFFER_CONTENTS target
4446         (gtk_text_view_drag_data_received): Paste from
4447         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4448
4449 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4450
4451         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4452         API changes.
4453
4454         * gtk/gtkmenu.c: Add support for scrolling menus.
4455         Remove gtk_menu_append/prepend/insert, these have been moved to
4456         gtkcompat.h as #defines.
4457
4458         * gtk/gtkcompat.h.in:
4459         Add compatibility #defines for gtk_menu_append/prepend/insert
4460
4461         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4462         GtkMenuPositionFunc gets an extra argument push_in.
4463         gtk_menu_append/prepend/insert removed.
4464         
4465         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4466         positioning behaviour to fit to scrolling menus.
4467
4468         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4469         into menuitem->submeny. That is wrong, and broke torn
4470         off submenus of torn off menus, since they were unrealized
4471         when the first menu was unrealized.
4472
4473         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4474         gtk_menu_shell_select_item() since these need to be overridden in
4475         GtkMenu.
4476
4477         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4478         positioning behaviour to fit to scrolling menus.
4479         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4480         the current item so that it is prelighted when the menu pops up.
4481         This is a workaround to the fact that the menu doesn't get the
4482         initial enter event (due to grabs).
4483
4484         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4485         s/gtk_menu_append/gtk_menu_shell_append/
4486
4487         * gtk/gtknotebook.c:
4488         s/gtk_menu_insert/gtk_menu_shell_insert/
4489
4490         * gtk/testgtk.c (create_menu, create_menus):
4491         Create the first menu with 50 items so that menu scrolling
4492         can be tested.
4493         
4494         
4495         Patch from Jonathan Blandford  <jrb@redhat.com>
4496
4497         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4498         system to handle size requests.  First, we ask what the size of
4499         the toggle is.  Then, when allocating the size, we allocate the
4500         toggle_size first.  This way we can have multiple menu-item
4501         classes w/o needing a seperate class for each.
4502
4503         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4504         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4505
4506         * gtk/gtkcheckmenuitem.c
4507         (gtk_check_menu_item_toggle_size_request): New function to handle
4508         the toggle size-request.
4509
4510 2000-11-07  Havoc Pennington  <hp@redhat.com>
4511
4512         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4513         Half-ass somewhat fix this function, so that scrolling to the
4514         insertion point works. Pango hacking is in the future to really
4515         fix it.
4516
4517         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4518         length of data, no longer used.
4519
4520         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4521         method contents in here, get rid of destroy method
4522         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4523         that were backward. Remove debug spew.
4524         (cut_or_copy): Make the clipboard work with insert_range to
4525         preserve tags and pixbufs, not just the primary selection.
4526
4527 2000-11-07  Havoc Pennington  <hp@redhat.com>
4528
4529         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4530         to gtk_text_mark_get_visible
4531
4532         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4533         bug that was generating an invalid iterator
4534
4535         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4536         ensure_char_offsets() in front of code placing the iter in an
4537         invalid state.
4538
4539         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4540         make override_location arg const
4541         (paste): Replace the selection if we paste into the 
4542         current selection
4543
4544         * gtk/gtkselection.h: Remove "GtkSelectioData"
4545         (struct _GtkSelectionData): move the definition here.
4546
4547         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4548         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4549
4550         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4551
4552         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4553         (gtk_text_buffer_insert_range_interactive): implement
4554         (gtk_text_buffer_get_tags): Remove, replaced by
4555         gtk_text_iter_get_tags()
4556
4557         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4558         limit parameter, to avoid infinite linear scan.
4559         (gtk_text_iter_backward_search): Add search limit
4560         (gtk_text_iter_forward_find_char): Add search limit
4561         (gtk_text_iter_backward_find_char): Add search limit
4562
4563 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4564
4565         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4566         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4567         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4568         gdk/linux-fb/gdkwindow-fb.c:
4569         use g_object_new() instead of g_type_create_instance() which
4570         is a private function for fundamental type implementations.
4571
4572         * gdk/linux-fb/gdkinput-ps2.c:
4573         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4574         instead just store the current modifier state. Add a (somewhat broken)
4575         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4576         Rename exported function gdk_input_ps2_get_mouseinfo to
4577         gdk_input_get_mouseinfo.
4578
4579         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4580         gdk/linux-fb/gdkwindow-fb.c:
4581         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4582         
4583
4584 2000-11-02  Havoc Pennington  <hp@redhat.com>
4585
4586         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4587         use stock buttons. Should be 100% source compatible, appropriate
4588         filesel fields now point to dialog->vbox and dialog->action_area.
4589         On the bizarre side, dialog->action_area and filesel->action_area
4590         are not the same widget.
4591         (gtk_file_selection_init): Put some padding around the selection
4592         entry, so it isn't touching the GtkDialog separator.    
4593
4594         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4595         use stock buttons, etc. Should also be source compatible.
4596         Set the dialog default title in _init not _new().
4597         
4598         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4599         Use stock buttons; don't put a button box inside the existing
4600         dialog button box. Don't bother with push/pop colormap anymore.
4601
4602         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4603         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4604         for message dialog, and necessary for the font selection and color
4605         selection with help and apply buttons.
4606         
4607         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4608         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4609         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4610         between buttons, put less padding around the action area.
4611         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4612         This will also exit the loop if the widget is hidden.
4613         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4614         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4615         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4616         special-case delete event.
4617
4618         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4619         formatting
4620         
4621 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4622
4623         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4624         button to temporarily disable position recording in the
4625         "saved position" test.
4626
4627 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4628
4629         * gtk/gtkthemes.c: added compat code that temporarily implements
4630         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4631         going to be revamped by owen's upcoming GtkModule patches, but
4632         untill then people want gtk to build, right? ;)
4633
4634 2000-11-04  Havoc Pennington  <hp@pobox.com>
4635
4636         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4637         list
4638
4639         * docs/Changes-2.0.txt: Add note about
4640         gtk_container_get_toplevels()
4641
4642         * gtk/gtktextview.h: formatting
4643         
4644         * gtk/gtktextview.c: don't start descriptions with "Returns",
4645         confuses gtk-doc
4646
4647 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4648
4649         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4650         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4651
4652 2000-11-03  Havoc Pennington  <hp@redhat.com>
4653
4654         * gtk/gtktexttagtable.c: Docs
4655         (gtk_text_tag_table_size): return a signed int
4656
4657         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4658         (gtk_text_tag_event): make the event_object a GObject
4659
4660         * gtk/gtktextview.c: Write API docs for all functions.
4661
4662         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4663         for gtk_text_view_get_window_type() called on one of the private
4664         windows.
4665
4666         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4667         directly, call get_buffer() which demand-creates a default
4668         buffer. So gtk_text_view_new() can be used to create a view with a
4669         default buffer in it, if you just want an empty text box users can
4670         put data in. Useful for GUI builders also.
4671
4672 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4673
4674         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4675         the charset encodign portion MUST be in lowercase.
4676         * gtk/gtkrc.az: added file for Azeri language
4677
4678 2000-11-03  Havoc Pennington  <hp@redhat.com>
4679
4680         Get widgets working on the btree/buffer side. Display of them 
4681         still doesn't work.
4682         
4683         * gtk/gtktextview.c: start implementing child widget stuff
4684
4685         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4686
4687         * gtk/gtktextlayout.c: handle embedded widgets
4688
4689         * gtk/gtktextdisplay.c: handle embedded widgets
4690
4691         * gtk/gtktextchild.c: Implement all the child anchor goo
4692
4693         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4694         function
4695
4696         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4697         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4698         creating a child anchor or a pixbuf segment.
4699         (gtk_text_btree_create_child_anchor): new function
4700         (gtk_text_btree_unregister_child_anchor): new function
4701
4702         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4703         allocate_child signal on GtkTextLayout
4704
4705         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4706         values
4707         (gtk_text_iter_get_child_anchor): new function
4708
4709         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4710         default handler for the changed signal, which calls
4711         gtk_text_buffer_set_modified(), instead of just always emitting
4712         changed then calling set_modified() manually. I guess this is
4713         maybe more flexible. It seems logical.
4714
4715 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4716
4717         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4718         now.
4719
4720         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4721
4722 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4723
4724         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4725         been marked static.
4726
4727 2000-11-02  Havoc Pennington  <hp@redhat.com>
4728
4729         * gtk/testgtk.c (create_labels): had a test backward
4730
4731         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4732         fields, so the dest GC ends up with the correct clip origin, 
4733         etc. Fixes a bug where colored labels didn't redraw 
4734         properly.
4735
4736 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4737
4738         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4739         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4740         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4741         Add last argument to t_type_register_static call.
4742         
4743         * gdk/linux-fb/gdkdrawable-fb2.c:
4744         Add last argument to t_type_register_static call.
4745         export the get_image drawable virtual function.
4746
4747         * gdk/linux-fb/gdkimage-fb.c:
4748         Add last argument to t_type_register_static call.
4749         rename gtk_image_get to _gdk_fb_get_image and
4750         export it for use by gdkdrawable-fb2.
4751
4752         * gdk/linux-fb/gdkprivate-fb.h:
4753         export _gdk_fb_get_image.
4754
4755         * gdk/linux-fb/gdkselection-fb.c:
4756         Add new api call stubs.
4757
4758         * gtk/Makefile.am:
4759         Missing ( in linux-fb part.
4760
4761         * modules/linux-fb/Makefile.am:
4762         Must link with gdk_pixbuf or get unresolved symbol.
4763
4764 2000-11-01  Havoc Pennington  <hp@pobox.com>
4765
4766         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4767         GTK_TYPE_TEXT_ITER and BOXED marshallers
4768
4769         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4770
4771         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4772         
4773         * gtk/gtk-boxed.defs: add GtkTextIter
4774
4775         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4776         properly use OBJECT and BOXED
4777
4778 2000-11-01  Havoc Pennington  <hp@redhat.com>
4779
4780         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4781
4782         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4783         before returning it. 
4784         
4785 2000-11-01  Havoc Pennington  <hp@redhat.com>
4786
4787         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4788         Clip the rectangle to be rendered to the drawable, since
4789         get_from_drawable() requires a region within the drawable
4790
4791 2000-11-01  Havoc Pennington  <hp@redhat.com>
4792
4793         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4794         from coordinates.
4795
4796 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4797
4798         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4799         it isn't NULL.
4800
4801 2000-11-01  Havoc Pennington  <hp@pobox.com>
4802
4803         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4804         on a label
4805         (gtk_label_finalize): unref the attr list if any.
4806
4807         * gtk/testgtk.c (create_get_image): close test on second click
4808         (make_message_dialog): close dialog if it exists
4809
4810         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4811
4812         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4813         gdk-pixbuf
4814
4815         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4816         from Pango markup format
4817         (gtk_label_set_markup_with_accel): ditto but with accelerator
4818         parsing
4819
4820         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4821
4822         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4823         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4824         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4825         call gdk_window_get_origin().
4826
4827         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4828         implement GDK_PIXBUF_ALPHA_FULL
4829         
4830 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4831
4832         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4833         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4834         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4835         multiple handlers respectively, instead of only treating the
4836         first handler found (bug reported by owen).
4837
4838 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4839
4840         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4841
4842         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4843
4844         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4845         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4846         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4847
4848         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4849         widget.  Needs writing someday.
4850
4851         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4852         the docs.
4853
4854 2000-10-30  Havoc Pennington  <hp@redhat.com>
4855
4856         * gtk/gtktextview.h, gtk/gtktextview.c:
4857         Rename delete_at_cursor delete_from_cursor, and 
4858         move to move_cursor.
4859
4860 2000-10-30  Havoc Pennington  <hp@redhat.com>
4861
4862         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4863         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4864         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4865         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4866         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4867         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4868         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4869         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4870         gtktexttypes.h, gtktextview.c, gtktextview.h:
4871
4872         Massive reindentation and reformatting. Arg alignment and comments
4873         still need fixing in various places.
4874
4875 2000-10-30  Havoc Pennington  <hp@redhat.com>
4876
4877         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4878         to be named insert_at_cursor and delete_at_cursor so C++ can
4879         handle them.
4880
4881 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4882
4883         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4884         to get a double directory separator in case the home directory
4885         ends with one. This would cause trouble especially on Windows,
4886         where the path will be confused with the syntax for an an UNC
4887         (network share) path \\server\share\path.
4888         (gtk_rc_add_initial_default_files): Ditto.
4889
4890 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
4891
4892         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
4893
4894         * gtk/gtktextview.c: Use correct marshallers.
4895
4896 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
4897
4898         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
4899         use new iter stuff, and added all the appropriate signals et al.
4900
4901         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
4902         code is internal to gtk only.
4903
4904 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4905
4906         * gtk/gtk.def
4907         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
4908         glib-genmarshal etc.
4909
4910 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
4911
4912         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
4913         parallel builds.
4914
4915 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
4916
4917         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
4918
4919 2000-10-27  Robert Brady  <robert@suse.co.uk>
4920
4921         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
4922         en_GB (British), ia (Interlingua).
4923
4924 2000-10-26  Havoc Pennington  <hp@redhat.com>
4925
4926         * gtk/gtktextiter.c (my_strrstr): fix constness warning
4927
4928         Fixed output of:
4929         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
4930         
4931         * gtk/gtktextsegment.c (char_segment_new): rename
4932         (_char_segment_new_from_two_strings): rename
4933         (_toggle_segment_new): rename
4934         
4935         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
4936         (make_clipboard_widget): make it static
4937         (text_get_func): static
4938         (text_clear_func): static
4939
4940         * gtk/gtkcolorsel.c (adjustment_changed): make this function
4941         static
4942         (hex_changed): make it static
4943         (hsv_changed): make it static
4944         (opacity_entry_changed): make it static
4945
4946         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
4947         (toggle_segment_check_func): rename with _gtk
4948
4949         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
4950         (_widget_segment_new): rename
4951         (_widget_segment_add): rename
4952         (_widget_segment_remove): rename
4953         (_widget_segment_ref): rename
4954         (_widget_segment_unref): rename
4955
4956         * gtk/gtktextmark.c (_mark_segment_new): Rename
4957         _gtk_mark_segment_new   
4958
4959 2000-10-26  Havoc Pennington  <hp@redhat.com>
4960
4961         * gtk/gtkmarshal.list: add new marshallers used by the text widget
4962         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4963         types
4964
4965         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
4966         marshaller types
4967
4968         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
4969         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
4970         license on these files.
4971
4972         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
4973         work.
4974
4975         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
4976         runtime random number different for each tree, instead of 
4977         a constant I made up.
4978
4979 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
4980
4981         * gtk/Makefile.am: buncha cleanups, kludged build sources
4982         dependencies with a Makefile: oldest-source-stamp dependancy
4983         for the moment. automake is really fighting us here, with
4984         intentionally not allowing user-defined rules or dependancies
4985         prior to it's -include $(DEP_FILES) statement. sucks rocks!
4986
4987         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
4988         to public headers. tehy have a comment stating that they are
4989         "semi-public" aren't included by gtk.h and if enums popup there,
4990         they can be /*< skip >*/-ed.
4991
4992         * gtk/gtktextlayout.h: 
4993         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
4994         added LGPL... <SIGH>
4995
4996 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
4997
4998         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4999         GtkTreeIter.  Added iterators everywhere.
5000
5001         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5002
5003         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5004
5005         * gtk/gtktreestore.c: Changed to use the iterators.
5006
5007         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5008         iterators tomorrow.
5009
5010         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5011         iterators tomorrow.
5012
5013         * gtk/treestoretest.c: Changed to use iterators.
5014
5015         * demos/testgtk/main.c: Moved to use the new iterator system.
5016
5017 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5018
5019         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5020         localization misbehaviour.
5021
5022         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5023         a useless type without copy/free.
5024
5025         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5026         of GTK_TYPE_CTREE_NODE.
5027
5028 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5029
5030         * gtk/gtksignal.c:
5031         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5032         applicable.
5033
5034         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5035         gtk_selection_data_copy and gtk_selection_data_free
5036         do GtkSelectionData work as params in signals.
5037
5038 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5039
5040         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5041         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5042         couldn't they at least give it a non-standard name?
5043         
5044         * gtk/gtktextlayout.c: arg! yet another implementation of
5045         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5046
5047         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5048         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5049         home. now i know this _is_ a conspiracy.
5050
5051         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5052         ::state-changed.
5053
5054         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5055         (gtk_accel_group_create_add): marshaller signature fixups.
5056
5057         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5058         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5059
5060         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5061         anymore.
5062
5063 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5064
5065         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5066         due to the signal system changes, it wouldn't build currently. to
5067         be fixed soon.
5068
5069         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5070
5071         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5072         so it needs gtk_marshal_VOID__ENUM() instead of
5073         gtk_marshal_NONE__UINT().
5074
5075         * gdk/gdk*.c: adapted type registration functions.
5076
5077         * gtk/gtkbindings.c:
5078         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5079         gone.
5080
5081         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5082
5083         * gtk/gtkobject.c:
5084         (gtk_object_destroy):
5085         (gtk_object_shutdown): fixed recursion guards. basically we have to
5086         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5087         is called during ::destroy, and avoid recursion there.
5088
5089         * gtk/gtktypeutils.c:
5090         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5091         boxed_copy/boxed_free. this needs a more general solution based on a
5092         publically installed code-generator utility.
5093
5094         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5095         glib's gobject has support for that now.
5096         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5097
5098 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5099
5100         * gtk/gtksignal.[hc]:
5101         * gtk/gtkmarshal.[hc]:
5102         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5103         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5104         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5105         care of that.
5106
5107         * *.c: marshaller name fixups.
5108
5109         * gtk/gtkmarshal.list: added a comment briefing the format.
5110
5111 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5112
5113         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5114         compatibility macros here now. more specifically, most of
5115         the API is preserved (yes, _most_, nonwithstanding the
5116         following exceptions listed, the API is stil lHUGE ;)
5117         things that got removed completely:
5118         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5119         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5120         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5121         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5122         gtk_signal_remove_emission_hook().
5123         non-functional functions variants:
5124         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5125         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5126         not supported anymore.
5127         (gtk_signal_compat_matched): new internal function to aid
5128         implementation of the compatibility macros, it  provides
5129         functionality to block/unblock/disconnect handlers based
5130         on func/data.
5131
5132         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5133
5134         * *.c: adaptions to new type registration API signatures.
5135
5136 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5137
5138         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5139
5140 2000-10-25  Robert Brady  <robert@suse.co.uk>
5141
5142         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5143         gdk_property_delete): If window == NULL, assume the root window.
5144         (restoring the behaviour that was in 1.2).
5145         
5146         * gtk/testtext.c (save_buffer): Allow creation of new files when
5147         saving.
5148
5149         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5150         calls to read().
5151
5152 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5153
5154         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5155
5156         * gdk/win32/gdkdrawable-win32.c
5157         * gdk/win32/gdkimage-win32.c
5158         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5159         X11 backend.
5160
5161         * gdk/win32/gdkcc-win32.c
5162         * gdk/win32/gdkcolor-win32.c
5163         * gdk/win32/gdkfont-win32.c
5164         * gdk/win32/gdkinput-win32.c
5165         * gdk/win32/gdkmain-win32.c
5166         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5167
5168 2000-10-24  Havoc Pennington  <hp@redhat.com>
5169
5170         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5171         it a static function
5172
5173         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5174         redraw text when a tag is applied to it.
5175
5176         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5177         (gtk_text_tag_affects_nonsize_appearance): private functions to
5178         see if a tag requires various kinds of redraw/layout to be queued
5179         up.
5180
5181         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5182
5183         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5184         at the start of the buffer, so search works by default
5185
5186         * gtk/gtktextiter.c (lines_match): init match_start always
5187
5188         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5189         function, get iter at a line + a byte index
5190
5191         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5192         to set byte position within a line
5193         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5194
5195 2000-10-23  Havoc Pennington  <hp@redhat.com>
5196
5197         * gtk/testtext.c: Re-enable the "find" dialog
5198
5199         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5200         
5201         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5202         the arguments to gdk_draw_drawable were in the wrong order
5203         (gdk_window_paint_init_bg): This function was ignoring the
5204         init_region, instead of clipping to it, so the entire backing
5205         pixmap was cleared on every begin_paint()
5206         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5207         was in here again, the loop kept using the same GtkWindowPaint
5208         over and over.
5209         (gdk_window_begin_paint_region): Fix a bug where we had two
5210         x_offset instead of x_offset and y_offset
5211
5212         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5213         before we get the image.
5214         (gdk_draw_drawable): get the composite before we draw the drawable.
5215         (gdk_drawable_real_get_composite_drawable): default
5216         get_composite_drawable implementation that returns the drawable 
5217         itself
5218
5219         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5220         get_composite_drawable virtual function
5221
5222         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5223         list-walking bug
5224
5225         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5226         make this work if the source drawable is a GdkDrawableImplX11
5227         instead of a public drawable type. This is really broken; the
5228         problem is that GdkDrawable needs a virtual method get_xid(), but
5229         of course that doesn't work in practice. Enter RTTI.
5230
5231         Also, improve mismatched depth message.
5232
5233         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5234         GdkPixmap
5235
5236         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5237         install _gdk_x11_get_image as our implementation of get_image
5238         
5239         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5240         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5241
5242         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5243         gdk_drawable_get_image
5244
5245         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5246
5247         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5248         get_image
5249
5250         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5251         trailing semicolon after for loop
5252
5253 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5254
5255         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5256         where font_desc for widget's context lagged widget's font_desc by
5257         one step.
5258
5259 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5260
5261         * gdk/win32/gdkgc-win32.c
5262         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5263
5264         * gtk/makefile.mingw.in
5265         * gtk/gtk.def: Updates.
5266
5267         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5268         library.
5269
5270         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5271
5272         * gtk/makefile.msc: Remove
5273
5274         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5275
5276         * gtk/Makefile.am: Add it.
5277
5278         * configure.in: Generate it.
5279
5280         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5281         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5282         something even if not implemented, to satisfy picky MSVC.
5283
5284         Patches by Hans Breuer:
5285         
5286         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5287         SetBkMode() and SetTextAlign() before calling
5288         pango_win32_render().
5289
5290         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5291         Set hcliprgn to NULL after destroying it.
5292         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5293
5294         * gdk/win32/gdkgeometry-win32.c
5295         (_gdk_windowing_window_queue_antiexpose): More effective
5296         implementation.
5297
5298         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5299         depth as default, not the visual's.
5300
5301         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5302         against empty title.
5303
5304         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5305         IMAGE_PRIVATE_DATA.
5306
5307         * gdk/win32/gdkimage-win32.c: Use it.
5308
5309 2000-10-22  Robert Brady  <robert@suse.co.uk>
5310
5311         * configure.in: Check for bind_textdomain_codeset
5312
5313         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5314         present, make use of it.
5315
5316         Add a translatable string "default:LTR" which, if translated
5317         to "default:RTL", will cause the default direction to be
5318         Right-to-Left.
5319
5320         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5321         direction if marked as flippable.
5322
5323         * gtk/gtkhscale.c: Mark widget as flippable.
5324         
5325 2000-10-04  Havoc Pennington  <hp@redhat.com>
5326
5327         * gtk/testgtk.c (create_buttons): create some stock buttons
5328         with the default accel group
5329         (create_image): test some new GtkImage features
5330         (make_message_dialog): test GtkMessageDialog
5331         (create_modal_window): fix someone's bizzarro indentation
5332
5333         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5334         GTK_WIN_POS_CENTER_ON_PARENT. 
5335         Add "destroy with parent" setting, which means the window goes
5336         away with its transient parent.
5337         (gtk_window_get_default_accel_group): get the default accel group
5338         for the window.
5339         (gtk_window_set_destroy_with_parent): set/unset destroy with
5340         parent flag
5341         (gtk_window_read_rcfiles): invalidate icon set caches
5342         after reloading rcfiles 
5343
5344         * gtk/gtkenums.h (GtkWindowPosition): add
5345         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5346         on its parent window when the dialog is mapped for the first time.
5347
5348         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5349         a simple message dialog class
5350         
5351         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5352         handler to emit response signal, and maybe later it would
5353         honor a hide_on_delete flag - though that isn't there yet.
5354         Set border width on the vbox to 2, so we get some padding.      
5355         Use a button box for the action area.
5356         (gtk_dialog_key_press): synthesize a delete event if Esc
5357         is pressed and the GtkWidget key press handler didn't 
5358         handle the escape key.
5359         (gtk_dialog_new_with_buttons): new function creates a dialog
5360         with some default buttons in it.
5361         (gtk_dialog_add_action_widget): add an activatable widget
5362         as a button in the dialog - you can also add a non-activatable
5363         widget by accessing the action area directly.
5364         (gtk_dialog_add_button): add a simple button - stock ID or 
5365         label - to the action area
5366         (gtk_dialog_response): emit response signal
5367         (gtk_dialog_run): block waiting for the dialog, return 
5368         the response. Override normal delete_event behavior, so that 
5369         delete_event does nothing inside gtk_dialog_run().
5370
5371         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5372         emitted when an action widget is clicked or the dialog gets
5373         delete_event
5374
5375         * gtk/gtk.h: add gtkmessagedialog.h
5376
5377         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5378
5379 2000-10-18  Havoc Pennington  <hp@redhat.com>
5380
5381         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5382         where any number of empty lines would get skipped
5383
5384         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5385         edge.
5386
5387         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5388         warning about invalid iterators (explain more thoroughly)
5389         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5390
5391         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5392         big
5393
5394         * demos/*.c: Add error handling
5395
5396         * gtk/gtktextbuffer.c: don't modify const iterators
5397
5398         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5399
5400         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5401         on file load
5402
5403         * gtk/gtkiconfactory.c: Update to reflect addition of error
5404         handling to gdk-pixbuf loaders
5405
5406 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5407
5408         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5409         move to new modularized testgtk.
5410
5411 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5412
5413         * gtk/gtktreeview.c: Draw the arrows correctly.
5414
5415         * gtk/gtktreemodel.c: Added user docs.
5416
5417         * gtk/gtk.h: remove gtktreedatalist.h.
5418
5419         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5420         parent when generating my type.
5421
5422         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5423         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5424
5425 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5426
5427         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5428         GtkTreeModel from object to interface.
5429
5430 2000-10-16  Havoc Pennington  <hp@redhat.com>
5431
5432         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5433         compilation
5434
5435 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5436
5437         * gtk/gtktreeselection.c: Add API documentation to all public
5438         functions.
5439
5440         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5441         functions.
5442
5443 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5444
5445         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5446         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5447         docs to all public functions.
5448
5449         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5450         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5451         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5452         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5453         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5454         issue.
5455
5456 2000-10-14  Robert Brady  <robert@suse.co.uk>
5457
5458         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5459
5460 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5461
5462         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5463         values other then G_TYPE_STRING.
5464         * gtk/gtktreeselection.c: Minor commenting updates.
5465         * gtk/gtktreeview.c: Format updates.
5466
5467 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5468
5469         * README.win32: Update.
5470
5471         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5472         lines that had been deleted by mistake (?).
5473
5474         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5475         also the case fg==white and bg==black (but still not randomly
5476         coloured cursors). Thanks to Wolfgang Sourdeau.
5477
5478         * gdk/win32/*.c: Silence gcc -Wall.
5479
5480         * gtk/gtk.def: Add missing entry points.
5481
5482         Fixes by Hans Breuer:
5483
5484         * gdk/makefile.msc
5485         * gdk/win32/makefile.msc: Update.
5486
5487         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5488         some MSVC thing, presumably), cause breakpoint on failures. Add
5489         GDK_NOR case. Call g_log_set_always_fatal.
5490
5491         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5492         should be pased by reference.
5493         
5494         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5495         
5496         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5497
5498         * gdk/win32/gdkevents-win32.c
5499         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5500
5501         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5502         implementation object.
5503
5504         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5505         not just windows.
5506         
5507         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5508         Use the wrapper object.
5509         
5510 2000-10-06  Havoc Pennington  <hp@redhat.com>
5511
5512         * Makefile.am (SRC_SUBDIRS): contrib subdir
5513
5514         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5515         so it can be used in Xlib version
5516
5517         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5518         tree
5519
5520         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5521         change from 1.0 tree that returns first frame of animation
5522         if the loaded file is an animation.
5523
5524         * contrib: add new directory to hold stuff that comes with GTK+
5525         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5526         
5527         * configure.in: add contrib/*
5528
5529 2000-10-05  Havoc Pennington  <hp@redhat.com>
5530
5531         * demos/testpixbuf-save.c: add pixbuf save test
5532
5533         * demos/Makefile.am: add testpixbuf-save.c
5534
5535 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5536
5537         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5538         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5539         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5540         * gtk/gtktreeselection.[ch]: Replaced
5541         "node_selected"/"node_unselected" signal with "selection_changed"
5542         signal.
5543
5544 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5545
5546         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5547         tree widget.
5548
5549 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5550
5551         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5552         drawing.
5553
5554 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5555
5556         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5557         Move list pointer forwards before removing item from
5558         list. (Crash reported by Salmaso Raffaele)
5559
5560         * gdk/gdkwindow.h: Remove spurious trailing ,
5561
5562         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5563         dependencies on uninstalled libraries, sorry folks.
5564
5565 2000-10-04  Havoc Pennington  <hp@redhat.com>
5566
5567         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5568         gtk/gtkiconfactory.c: Fix copyrights    
5569
5570         * demos/testpixbuf.c: add inline pixbuf test
5571         
5572 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5573
5574         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5575         Add gdk_window_iconify.
5576
5577         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5578         (gdk_window_set_geometry_hints): Add win_gravity
5579         to geometry structure.
5580
5581         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5582         Implement _NET_WM_PING.
5583
5584         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5585         Set _NET_WM_PID on the client leader.
5586
5587         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5588         Handle UTF-8 better.
5589
5590         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5591         UTF-8 better, set _NET_WM_NAME as well. Only set
5592         icon name if it hasn't previously been explicitely 
5593         set.
5594
5595 2000-10-03  Havoc Pennington  <hp@redhat.com>
5596
5597         * gtk/testtextbuffer.c: clean up trailing whitespace,
5598         add extensive tests for tag toggle iteration.
5599         
5600         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5601         distance
5602
5603         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5604         optimize case where the tag root is on level 1
5605         (gtk_text_line_previous_could_contain_tag): attempt to implement
5606         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5607         functionality
5608
5609         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5610         Implement this, though not very efficiently.
5611
5612         * gtk/gtktextiterprivate.h: reformat
5613
5614         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5615         iterator
5616
5617         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5618         this to properly revalidate the iterators.
5619
5620         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5621         properly at the end of the line (and therefore on empty lines)
5622
5623         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5624         maybe we should return a value...
5625
5626 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5627
5628         * config.h.win32: Guard definition of alloca(). glib.h now handles
5629         that.
5630
5631         * gdk/gdk.def
5632         * gtk/gtk.def: Add new entry points.
5633
5634         Changes just to make GTK+ build without errors on Win32. No hope
5635         of it working in its current state, though...:
5636         
5637         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5638         some functions from the X11 backend, just to make GTK+ build.
5639
5640         * gdk/makefile.mingw.in
5641         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5642         number. Add new object files.
5643
5644         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5645         GetMessageTime to get timestamp (where on X11 uses
5646         gdk_x11_get_server_time()).
5647
5648 2000-10-02  Havoc Pennington  <hp@pobox.com>
5649
5650         * gtk/gtktextview.c: text_window_* weren't static and should have
5651         been.
5652         Start work on child widgets; not yet complete, syncing to 
5653         office computer.
5654
5655         * gtk/gtktextchild.h: change this to contain a public interface,
5656         starting work on child interfaces.
5657         * gtk/gtktextchildprivate.h: move private interfaces here
5658
5659         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5660
5661         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5662         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5663         gtk/gtktextmark.c: copyright notices
5664
5665         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5666         internal functions      
5667
5668         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5669         internal function
5670
5671         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5672         Reformatting    
5673
5674 2000-09-30  Havoc Pennington  <hp@pobox.com>
5675
5676         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5677         NULL start/end pointers
5678
5679         * gtk/gtktextbuffer.c: Write some docs
5680         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5681         NULL, so you can just check whether there's a selection.        
5682
5683         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5684         cleanup_line or segments_changed ourselves, it gets done 
5685         in unlink_segment
5686
5687         * gtk/gtktextmark.h:
5688         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5689         
5690         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5691
5692         * gtk/gtktextmark.c: delete some more old Tk cruft
5693
5694         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5695         mark before removing it, so we can emit MARK_DELETED with a valid
5696         pointer.
5697         (gtk_text_buffer_mark_set): hold ref across signal emission
5698
5699         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5700         whining about attempts to delete special marks
5701
5702         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5703         underscore, since it's internal.
5704
5705         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5706         now implemented in terms of iterators in gtktextiter.h
5707
5708         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5709         New function, destructively sets contents of buffer. Also 
5710         a convenient way to clear the buffer by setting text to ""
5711
5712         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5713         multiline string literal
5714
5715         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5716         text changes.
5717
5718         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5719         is not dereferenceable
5720         (gtk_text_iter_forward_lines): fix return value
5721
5722 2000-09-29  Havoc Pennington  <hp@redhat.com>
5723
5724         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5725
5726         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5727         that set border window size to have nicer name
5728         (gtk_text_view_mark_set_handler):  Fix this to have the 
5729         right signature.
5730
5731         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5732
5733         * gtk/testtext.c: Update with API changes, put line numbers on 
5734         both sides.
5735         
5736         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5737         with this
5738
5739         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5740         pixbuf; delete a big block of #if 0 Tk code
5741
5742         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5743         insert_pixmap with insert_pixbuf
5744
5745 2000-09-29  Martin Baulig  <baulig@suse.de>
5746
5747         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5748         confusion with the GdkPixbuf of the GNOME 1.x platform.
5749
5750 2000-09-29  Havoc Pennington  <hp@pobox.com>
5751
5752         * gtk/gtktextview.c: Implement the side windows.
5753
5754         * gtk/testtext.c: Implement simple line numbering in the 
5755         left side window; seems to make scrolling sloooow. Oops.
5756         Also, cursor blink is for some reason causing redraws
5757         of the line numbers. Should investigate...
5758
5759 2000-09-28  Havoc Pennington  <hp@redhat.com>
5760
5761         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5762         scrolling child windows, and draw focus rectangle properly.
5763         
5764         (gtk_text_view_buffer_to_window_coords):
5765         Coordinate transformation to deal with all these freaking windows
5766         and offsets
5767         (gtk_text_view_window_to_buffer_coords): transform the other way
5768
5769         * gtk/testtext.c (create_buffer): Update to match Pango API change
5770
5771         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5772         anonymous tags
5773         (foreach_unref): don't emit remove signal from finalize, just
5774         set tag's parent to NULL
5775
5776 2000-09-26  Havoc Pennington  <hp@redhat.com>
5777
5778         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5779         Fix some warnings       
5780
5781 2000-09-26  Havoc Pennington  <hp@redhat.com>
5782
5783         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5784         headers into the private header list
5785
5786         * Makefile.am (pkgconfig_DATA): install pkg-config files
5787
5788         * configure.in: add pkg-config files
5789
5790         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5791
5792         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5793         outstanding icon caches on theme change.
5794
5795         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5796         important types:
5797
5798         (GtkIconSource): Specification for creating a pixbuf 
5799         appropriate for a direction/state/size triplet from 
5800         a source pixbuf or filename
5801
5802         (GtkIconSet): List of GtkIconSource objects that are used to
5803         create the "same" icon (e.g. an OK button icon), and cache for
5804         rendered icons
5805
5806         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5807         up the icon set for a given stock ID.  GTK maintains a stack of
5808         GtkIconFactory to search, and applications or libraries can add
5809         additional icon factories on top of the stack
5810         
5811         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5812         the set of GtkIconSource specified for a given stock ID into 
5813         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5814         RcStyle, under the specified stock ID.
5815
5816         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5817         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5818         This allows people to theme how prelight, insensitive, etc. are
5819         done.
5820
5821         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5822         icon factories for a style, and return the resulting 
5823         icon set if any.
5824
5825         (gtk_style_render_icon): Render an icon using the render_icon 
5826         method in the GtkStyleClass.
5827
5828         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5829         Use the style for a given widget to look up a stock ID, get the
5830         icon set, and render an icon using the render_icon method 
5831         of the style
5832
5833         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5834         (contains information about a stock item), the built-in stock item
5835         IDs, and functions to add/lookup stock items.
5836
5837         * gtk/stock-icons/*: Stock icons that come with GTK
5838
5839         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5840         a button based on a GtkStockItem
5841         (gtk_button_new_accel): Takes a uline string and accel group, and
5842         installs the accelerator.
5843
5844         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5845         image-display widget.
5846
5847 2000-09-25  Havoc Pennington  <hp@redhat.com>
5848
5849         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5850
5851         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5852         Fix a bug when removing node data, we didn't properly 
5853         re-splice the linked list after removing the data.
5854
5855         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5856         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5857
5858         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5859
5860         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5861         for the layout from the GtkTextTag.
5862
5863         * gtk/gtktexttypes.h: delete tab and search cruft, 
5864         remove g_convert() in favor of GLib version
5865
5866         * gtk/gtktexttypes.c: remove tab implementation from here,
5867         move to Pango
5868
5869         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5870         tab stuff using new PangoTabArray from Pango
5871
5872         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5873         unused border_width stuff
5874
5875 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5876
5877         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5878         glib) and now useless utf_to_latin1() latin1_to_utf()
5879
5880         * gtk/gtktextview.[ch]: Change ::move_insert and
5881         ::delete_text action signals to ::move and ::delete;
5882         create the signals with the right enumeration type,
5883         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5884         C-v bindings, change Home, End to move to beginning/end
5885         of line, Add C-Home C-End to move to beginning/end
5886         of buffer. Change ::cut_text to ::cut_clipboard, etc;
5887         combine ::scroll_text into ::move; use new GtkSelectionData
5888         functions to simplify DND text handling.
5889         
5890         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
5891         deletion enumerations here, rename enumeration values to 
5892         be consistently plural.
5893
5894         * gtk/gtktextbuffer.c: Use new clipboard interfaces
5895         for cut/copy/paste and primary selection.
5896
5897         * gtk/gtktextbuffer.[ch]: Remove excess time and
5898         'interactive' arguments from cut/copy/paste;
5899         rename cut to cut_clipboard, etc; remove
5900         gtk_text_buffer_get_clipboard_contents().
5901
5902         * gtk/gtktextlayout.[ch]: Add 
5903         gtk_text_layout_move_iter_to_line_end() to move the iter to 
5904         line ends.
5905
5906         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
5907         Functions to set or get a UTF-8 string on the selection
5908         data.
5909
5910         * gtk/gtkclipboard.[ch]: New, simplified selection handling
5911         interfaces.
5912
5913         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
5914         created widgets - one of these is useless if we don't.
5915
5916         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
5917         a public function clear all targets registered for the
5918         widget.
5919
5920         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
5921         Never call gtk_widget_realize() - that was just asking
5922         for bizarre side-effects.
5923
5924         * gtk/gtkselection.c (gtk_selection_owner_set): Call
5925         gdk_selection_owner_set even if the widget is the
5926         same so that we reliably update the timestamp on
5927         the server.
5928
5929         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
5930         gdk_x11_get_server_time() function.
5931         
5932         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
5933         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
5934         Add some tricky filtering on serial numbers for
5935         selection clear events to fix up long-standard
5936         race condition FIXME's in gtkselection.c.
5937
5938         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
5939         routines to convert from utf8 to compound text or
5940         STRING and from a text property to UTF-8.
5941
5942         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
5943         a convenience function gdk_get_current_event_time().
5944
5945         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
5946         and free selection_data->data properly
5947
5948 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
5949
5950         * gtk/gtkthemes.c: Remove some unecessary includes.
5951
5952 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
5953
5954         * gtk/gtktextdisplay.c
5955         * gtk/gtktextlayout.c
5956         * gtk/gtktexttag.c
5957         * gtk/gtktexttag.h
5958         * gtk/testtext.c: Change the overstrike property to strikethrough,
5959         to closer match pango.
5960
5961 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
5962
5963         * gtk/gtktextview.c: Fix up visibility so that focus,
5964         cursor_visible and blink interact properly.  Reenable cursor blink
5965         which had been roughly disabled. Make blink and focus
5966         properly per-view.
5967
5968         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
5969         Add a flag for whether to display insertion cursor and
5970         a function to set the flag.
5971
5972         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
5973         get_line_y() to get_line_yrange(), to be a bit more generally
5974         useful.
5975
5976 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
5977
5978         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
5979           do stop_navigating_submenu, to clear last timeout properly.
5980           Also in gtk_menu_motion_notify move ignore_enter above
5981           the conditional to make it always happen as suggested by Owen
5982
5983 2000-09-07  Tor Lillqvist  <tml@iki.fi>
5984
5985         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
5986
5987         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
5988         w32api headers.
5989
5990         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
5991         declarations.
5992
5993         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
5994         (gdk_win32_get_colormap): A line had been deleted by mistake.
5995
5996         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
5997         (gdk_event_translate): Handle more virtual keycodes to be able to
5998         generate GDK events for Control-comma, Control-period, etc.
5999
6000         * gtk/gtk.def: Add some missing entry points.
6001
6002 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6003
6004         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6005         Doc comment fixing. (Mostly non-matching parameter names.)
6006
6007         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6008         comments a little to avoid looking like a doc comment.
6009
6010         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6011         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6012         conversions be changed to GError?)
6013
6014         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6015         Move private #defines into .c file.
6016
6017         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6018         order of argument addition, remove duplicates.
6019
6020         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6021         parent class is FrameClass, not BinClass.
6022
6023         * gtk/gtk.h: Add gtkinvisible, which was missing.
6024         (It's occasionalyl useful for client apps, if seldom.)
6025
6026         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6027         #define.
6028
6029 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6030
6031         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6032         coordinates when creating window, instead of GDK-space
6033         coordinates. (Avoid BadValue on too large windows.)
6034
6035 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6036
6037         * configure.in (use_mmx_asm): Remove conftest* after use along the
6038         lines of AC_TRY_COMPILE.        
6039         
6040         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6041         of g_dirname, which is deprecated.
6042         (gtk_rc_parse_any): Removed calls to
6043         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6044
6045         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6046         Removed calls to g_hash_table_{freeze,thaw}, as they are
6047         deprecated now.
6048
6049         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6050         instead of g_basename.
6051         
6052 2000-09-04 Elliot Lee <sopwith@redhat.com>
6053         
6054         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6055         ANSI warning.
6056
6057 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6058
6059         * gtk/gtkwidget.h:  Add some documenting comments about 
6060           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6061           just as owen said on irc.
6062
6063         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6064           set HAS_DEFAULT.  Only set it if there isn't another window
6065           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6066           it if the widget is not the focused window with RECEIVES_DEFAULT.
6067           This fixes weird double default bugs in dialogs which has things
6068           call gtk_window_set_default at times.
6069
6070 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6071
6072         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6073         Nils Barth and David Santiago to improve submenu
6074         navigation. The patch does this by creating a triangular
6075         region from the point where the pointer leaves the
6076         menu to the submenu.  While the pointer is in
6077         that region and a timeout has not expired, events 
6078         that would cause the active submenu to change are
6079         ignored.
6080
6081 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6082
6083         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6084         moving a toplevel window immediately after sizing it would
6085         result in it being sized back to the old size since 
6086         impl->width, impl->height aren't updated until we hear
6087         back from the server. There is still a (longstanding) bug
6088         here that gdk_window_get_size() will give the wrong size
6089         until we do hear back.
6090
6091 2000-08-31  Havoc Pennington  <hp@redhat.com>
6092
6093         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6094         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6095         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6096         Rename GtkTextStyleValues to GtkTextAttributes
6097
6098 2000-08-31  Havoc Pennington  <hp@pobox.com>
6099
6100         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6101         for rapid testing whether an iterator is the end iterator
6102         (gtk_text_btree_new): init end line cache
6103         (gtk_text_line_is_last): use fast cached line to 
6104         see if we're the last line.
6105         (get_last_line): use cached line here too, should 
6106         speed up some random unrelated code.
6107         
6108 2000-08-30  Havoc Pennington  <hp@pobox.com>
6109
6110         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6111         signals.
6112
6113         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6114         delete_text signals. This allows the signals to be used for
6115         implementing undo.
6116
6117         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6118         provide "interactive" argument when emitting insert_text or
6119         delete_text signal.
6120         
6121 2000-08-30  Havoc Pennington  <hp@pobox.com>
6122
6123         * gtk/gtktextbuffer.c: Docs
6124
6125 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6126
6127         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6128         from switch statements, since Tor removed the enumeration
6129         value.
6130         
6131         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6132         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6133
6134 2000-08-29 Elliot Lee <sopwith@redhat.com>
6135         * */*.h: Use G_GNUC_CONST.
6136
6137 2000-08-27  Havoc Pennington  <hp@pobox.com>
6138
6139         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6140         minor indentation fixes, inserted some FIXME about stuff I
6141         realized was broken while documenting it.
6142         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6143         GTK convention  
6144
6145 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6146
6147         * gtk/testgtk.c (create_styles): Fix double free of
6148         font desc.
6149
6150 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6151
6152         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6153         
6154         * gtk/testgtk.c (create_styles): Add a test for modifying
6155         the style through gtk_widget_modify_*.
6156
6157         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6158         a function to get the current modifier style.
6159
6160         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6161         of the passed in GtkRcStyle instead of ref'ing it.
6162
6163         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6164
6165 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6166
6167         * gdk/gdkimage.h
6168         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6169         shared memory image+pixmap GdkImage type, or
6170         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6171         I am dropping that.
6172
6173         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6174         actually call gtk_init_abi_check(), passing also
6175         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6176
6177         * gtk/gtk.def
6178         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6179         New functions, used to check that the GTK+-using code has been
6180         compiled using the correct compiler and switches. In particular,
6181         with gcc one has to use the -fnative-struct switch as GTK+ is
6182         compiled with that.
6183
6184 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6185
6186         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6187         ->prev fields when merging lists. (Found simultaneously
6188         by Pawel Salek and Jakub Jelinek)
6189
6190 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6191
6192         * gdk/gdk.def
6193         * gtk/gtk.def: Add missing entries.
6194
6195         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6196         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6197
6198         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6199         function. Dummy implementation at this point.
6200
6201         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6202         rules. Undefine GTK_COMPILATION when compiling the test programs.
6203         
6204         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6205
6206 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6207
6208         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6209         to convert back and forth from UTF-8 and the "system" (or "current
6210         locale") charset when necessary. Indentation/spacing cleanup.
6211
6212 2000-08-10  Havoc Pennington  <hp@redhat.com>
6213
6214         * Makefile.am (snapshot): Change the format of the snapshot
6215         version to match glib
6216
6217         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6218         from EXTRA_DIST since it doesn't seem to exist
6219
6220 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6221
6222         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6223         version of the directory name (not the UTF-8 one) when building
6224         the path name to stat().
6225
6226 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6227
6228         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6229         PANGO_ATTR_SHAPE set.
6230
6231 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6232
6233         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6234         Peter Osterlund to simplify the code while keeping the
6235         functionality the same.
6236
6237 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6238
6239         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6240         is_viewable() test further inside the function, since removing the 
6241         window from the redraw list without clearing ->update_area
6242         was also very broken.
6243
6244 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6245
6246         * configure.in: Check for <unistd.h>.
6247
6248 2000-08-01  Martin Baulig  <baulig@suse.de>
6249
6250         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6251         to display the message that this is a development version of GTK+.
6252
6253 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6254
6255         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6256         was depending on widget->allocation instead of the width of text_area,
6257         which was incorrect for subclasses like GtkSpinButton.
6258
6259         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6260         with width == 1 tests that should be width == -1.
6261
6262 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6263
6264         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6265         (broken, Elliot, every single window blank on X) custom code with call
6266         to gdk_window_is_viewable() which a) prevents code duplicate and
6267         b) works. 
6268
6269 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6270
6271         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6272         to get the GDK_PARENT_ROOT() macro to work.
6273         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6274         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6275         of, windows that aren't shown.
6276         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6277         pointer grab stuff.
6278
6279 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6280
6281         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6282           s/gtk_main_iteration/g_main_iteration/
6283
6284           Did this already in change:
6285                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6286           don't know how it got reverted.
6287
6288 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6289
6290         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6291         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6292
6293         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6294         not gdk_pixbuf.
6295
6296 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6297
6298         * configure.in,po/{sp,sr}.po: Added Serbian files
6299
6300 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6301
6302         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6303
6304         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6305         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6306         GIOChannel implementation.
6307
6308         * gdk/win32/gdkinput.c
6309         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6310
6311         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6312         definition to match prototype.
6313
6314         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6315
6316 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6317
6318         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6319         function, to allow handling image formats that cannot be detected
6320         by looking at content alone.
6321
6322 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6323
6324         * docs/tutorial/*.gif *.jpg *.eps
6325           Update these to the same look-n-feel.
6326           Why does including images in DocBook suck so badly?
6327
6328 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6329
6330         * gtk/gtktable.c: applied patch from Phil Thompson
6331         <phil@river-bank.demon.co.uk> that enables space settings for
6332         the last row/columns as well.
6333
6334 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6335
6336         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6337         updates the license headers to the GNU Lesser General Public License,
6338         as well as updating the copyright year to 2000.
6339
6340 2000-07-26  Robert Brady  <rwb197@zepler.org>
6341
6342         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6343           and po/Makefile, was installing and looking for them under gtk20
6344           and gtk2 respectively.
6345
6346 2000-07-25  Havoc Pennington  <hp@redhat.com>
6347
6348         * gtk/testtext.c: Comment out some stuff that depends on the rest
6349         of my patches.
6350
6351 2000-07-25  Havoc Pennington  <hp@redhat.com>
6352
6353         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6354         buffer
6355
6356 2000-07-25  Havoc Pennington  <hp@redhat.com>
6357
6358         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6359         widget changes.
6360
6361         * gtk/gtktextview.h: To be consistent with usage of "line"
6362         throughout the API to mean "newline-terminated thingy", change
6363         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6364         to MOVEMENT_LINE.
6365
6366         (GtkTextView): Add flags for default editability, and whether to
6367         show the cursor. Add functions to get/set that. Add 
6368
6369         (gtk_text_view_get_iter_location): new function
6370
6371         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6372         gtktextlayout.h
6373         (g_convert): Add g_convert temporarily, will go in glib in a bit
6374         
6375         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6376         GtkTextTagTableForeach instead of brokenly using GHFunc.
6377         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6378
6379         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6380         moved to public header.
6381
6382         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6383         "invisible", since "elide" was a bad name.
6384         (gtk_text_tag_get_priority): Added
6385
6386         (GtkTextStyleValues): put this in public header, along with
6387         functions to use it.
6388
6389         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6390         longer include gtktextbtree.h.
6391
6392         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6393         gtk_text_mark_deleted
6394
6395         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6396         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6397         to make this possible. Now we only need to install
6398         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6399         (However the Makefile.am isn't changed yet because of the
6400         logistics of merging gtk-hp-patches piecemeal)
6401
6402         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6403         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6404         gtk_text_iter_get_line is now used in the public API for a
6405         different purpose.
6406
6407         * gtk/gtktextiter.h: Clean up function names to be more
6408         consistent. Always call char offset "offset" and byte index
6409         "index". A "line" is always a line number. 
6410
6411         (gtk_text_iter_is_last): new function, more efficient than 
6412         the existing way to check
6413         (gtk_text_iter_is_first): new function, also more efficient
6414
6415         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6416
6417         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6418         gtk_text_iter_forward_char, etc.
6419
6420         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6421         forward_find_tag_toggle, since this isn't a linear search
6422
6423         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6424
6425         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6426         New functions, search for a buffer substring.
6427
6428         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6429         interactive and default editable (since we need to store that info
6430         until we receive the selection data).
6431
6432         Remove all the _at_char and at_line etc. versions of functions;
6433         only have iterator versions.
6434
6435         Add _interactive() versions of functions, that consider the
6436         editability of text. (FIXME add interactive flag to the 
6437         insert/delete signals per Darin's suggestion)
6438
6439         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6440         tag table if necessary
6441
6442         Remove declaration of gtk_text_buffer_get_iter_from_string
6443
6444         (_gtk_text_buffer_get_btree): private/internal function, added.
6445         
6446
6447         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6448         (gtk_text_line_is_last): new function
6449
6450 2000-07-25  Havoc Pennington  <hp@redhat.com>
6451
6452         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6453         using GtkProgressBar. See Changes-2.0.txt for details.
6454
6455         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6456         "pulse_step" which are the equivalent of
6457         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6458         Implement new API.
6459         
6460         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6461         (use_text_format) to mark whether text set on the progress bar is
6462         a format string. Deprecate entire GtkProgress interface.
6463
6464         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6465         (gtk_progress_build_string): make this a no-op if use_text_format
6466         is FALSE
6467
6468         * docs/Changes-2.0.txt: Describe progress bar changes.
6469
6470 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6471
6472         * Makefile.am: Include the build directory.
6473
6474         * configure.in: Generate build/Makefile, build/win32/Makefile,
6475         gdk/, gdk/win32/, and gtk/makefile.mingw.
6476
6477         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6478         Add GETTEXT_PACKAGE.
6479         
6480         * gdk/gdk.def
6481         * gtk/gtk.def: Updates.
6482
6483         * gdk/gdkfont.h
6484         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6485         need them any longer.
6486
6487         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6488
6489         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6490         PANGOWIN32_LIBS and gdk_pixbuf.
6491
6492         * gdk/win32: Compiles, but no doubt doesn't work at all.
6493
6494         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6495
6496         * gdk/win32/gdkinput.c: New file, temporarily.
6497         
6498         * gdk/win32/gdkinput-win32.h: New file
6499
6500         * gdk/win32/gdkinputprivate.h: Remove.
6501
6502         * gdk/win32/gdkpango-win32.c: New file.
6503
6504         * gtk/makefile.mingw.in: New file
6505
6506         * gtk/makefile.cygwin: Removed
6507         
6508         * gtk/Makefile.am: Update accordingly.
6509
6510         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6511         made externally visible.
6512
6513         * gtk/gtkmain.c: Use it.
6514         
6515         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6516         is enough.
6517
6518         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6519
6520 2000-07-24 Elliot Lee <sopwith@redhat.com>
6521         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6522         individual backends already.
6523         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6524         again. Yes, there really is a good reason for this, if you are using the gdkregion
6525         internals, and if you're not, why do you care?
6526         * gdk/gdkwindow.c: Fix inverted condition
6527         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6528         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6529         * gtk/gtkrange.c: Redraw trough when moving.
6530         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6531         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6532
6533 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6534
6535         * configure.in: Check for mkstemp and sigsetjmp. Output
6536         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6537
6538         More work on GDK for Win32. Still in an intermediate state.
6539
6540         * gdk/makefile.cygwin
6541         * gdk/win32/makefile.cygwin: Removed.
6542         
6543         * gdk/makefile.mingw.in
6544         * gdk/win32/makefile.mingw.in: New files.
6545
6546         * gdk/Makefile.am
6547         * gdk/win32/Makefile.am: Generate and distribute them.
6548
6549         * gdk/win32/gdkwindow-win32.h
6550         * gdk/win32/gdkdrawable-win32.h
6551         * gdk/win32/gdkpixmap-win32.h: New files.
6552
6553         * gdk/win32/gdkcolor-win32.c
6554         * gdk/win32/gdkcursor-win32.c
6555         * gdk/win32/gdkdrawable-win32.c
6556         * gdk/win32/gdkgc-win32.c
6557         * gdk/win32/gdkimage-win32.c
6558         * gdk/win32/gdkprivate-win32.h
6559         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6560         Rename fields and variables called xcursor, xid, etc (these names
6561         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6562
6563 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6564
6565         * gtk/gtkentry.[ch]: Fix some problems with vertical
6566         alignment.
6567
6568         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6569         char/byte confusion.
6570
6571 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6572
6573         * gtk/gtktextview.c (changed_handler): Fix bug where
6574         redraw wasn't being done properly when height of
6575         dirty region changed.
6576
6577         * demos/Makefile.am: Remove various references to
6578         -lgmodule
6579
6580 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6581
6582         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6583         PangoAttrShape to reserve space for pixmaps, add 
6584         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6585         in the display functions.
6586         
6587         * gtk/testgtk.c (create_layout): Set some more exotic
6588         scrolled window options
6589
6590         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6591         Add function to set the shadow type of a window, to allow
6592         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6593         which don't draw their own frame.
6594
6595 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6596
6597         * docs/tutorial/package-db-tutorial.sh: New file for
6598           packaging DocBook format tutorial
6599
6600 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6601
6602         * docs/tutorial/gtk-tut.sgml: Minor updates
6603
6604         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6605
6606 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6607
6608         * gtk/gtksignal.c: Fix C++ comment.
6609
6610         * gtk/gtkimmulticontext.c
6611         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6612         don't return value from void functions.
6613
6614         * gtk/gtk.def: Add gtk_rc_style_unref.
6615
6616 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6617
6618         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6619         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6620         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6621         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6622         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6623         gtk/gtktypeutils.h: Include files outside of the extern "C"
6624         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6625         <vakatov@peony.nlm.nih.gov>.
6626
6627 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6628
6629         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6630           Completes first pass. Hurrah!
6631
6632 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6633
6634         * docs/tutorial/gtk-tut.sgml: More clean ups.
6635
6636 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6637
6638         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6639         paint the background of the text area which was accidentally
6640         removed at some point.
6641
6642         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6643           
6644          - Move most of the functionality from the theme vtable
6645            into GtkRcStyleClass and GtkStyleClass. The moved
6646            vtable functions were changed a bit in the move to
6647            work better in their new home.
6648
6649          - Get rid of the engine and engine_data fields from
6650            GtkRcStyle and GtkStyle; instead the theme
6651            engine derives theme-specific subclasses of GtkRcStyle
6652            and GtkStyle
6653
6654          - Add extra dlsym() found entry point to themes,
6655            theme_create_rc_style().
6656
6657         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6658         in gtk_style_real_copy.
6659
6660         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6661         to register a type associated with an engine. (The engine
6662         won't be unloaded as there is an instance of the type.)
6663
6664
6665 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6666
6667         * docs/tutorial/gtk-tut.sgml: Clean ups.
6668
6669 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6670
6671         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6672           of cleaning up to do.
6673
6674 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6675
6676         * gdk/testgdk.c: New file, quick hack to test backends for
6677         pixel-by-pixel correctness of the most simple graphic operations.
6678
6679 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6680
6681         * Really release 1.3.1
6682         
6683         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6684         include structure.
6685
6686 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6687
6688         * Released 1.3.1
6689
6690 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6691
6692         * gtk/gtktextlayout.c: use FALSE for size_only most
6693         of the time when calling gtk_text_layout_get_line_display()
6694         to avoid causing double reshapes when a redraw follows
6695         immediately after.
6696
6697 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6698
6699         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6700         appropriate region and gdk_window_process_updates() so trough
6701         updating doesn't lag behind the window being scrolled.
6702
6703         * gdk/gdkgc.c: Make parent_class pointer static.
6704          
6705 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6706
6707         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6708         include <string.h>.
6709          
6710         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6711         cut-and-paste error in computing memory offset for 4 channels.
6712
6713 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6714
6715         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6716         gtk_rc_append_default_pixmap_path(), since it wasn't
6717         adding an interesting path and we don't have a meaningful
6718         default for this value.
6719
6720 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6721
6722         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6723         gtk-config to gtk-config-2.0 move gtk_.m4 to
6724         gtk-2.0.m4
6725
6726         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6727         gdk/Makefile.am demos/Makefile.am: Change 
6728         library names to libgtk-1.3.la, etc, so that we
6729         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6730
6731         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6732         gdk/Makefile.am gdk/x11/Makfile.am
6733         Move include files into /usr/include/gtk-2.0, 
6734         /usr/lib/gtk-2.0/include/
6735          
6736         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6737         gtk/gtkintl.h: Change package for gettext from 
6738         gtk+ to gtk20. Put hack in autogen.sh to modify
6739         po/Makefile.in.in after gettextize to make this
6740         possible.
6741
6742         * gtk+.spec: Some updates, not tested.
6743
6744         * gdk-pixbuf/Makefile.am: Move loaders into
6745         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6746
6747         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6748         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6749         to THEMENAME/gtk-2.0/. Move engine directory  to
6750         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6751         
6752 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6753
6754         Win32 changes, still doesn't build though.
6755
6756         * gdk/makefile.cygwin
6757         * gdk/win32/makefile.cygwin
6758         * gtk/makefile.cygwin: Updates.
6759
6760         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6761         default values for fg and bg pixel as X11 does (0 and 1), not
6762         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6763         Use 0 for pen width by default (treated as 1 anyway later, but for
6764         apps that might check the value in the GdkGC).
6765         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6766         interface to gdk_gc_predraw and _postdraw.
6767
6768         * gdk/win32/gdkwin32.h
6769         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6770
6771         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6772         extraneous semicolon.
6773
6774         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6775
6776         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6777         not the Win32 bitspixel value.
6778
6779         * gdk/win32/gdkcc-win32.c:
6780         * gdk/win32/gdkcolor-win32.c 
6781         * gdk/win32/gdkprivate-win32.h
6782         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6783         GDK object structure.
6784
6785 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6786
6787         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6788         * docs/tutorial/gtk_tut_it.sgml (name): 
6789         * docs/tutorial/gtk_tut_fr.sgml (name): 
6790         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6791         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6792
6793 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6794
6795         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6796           small changes.
6797
6798 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6799
6800         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6801         a bug here, never been here and never fixed anything ;(
6802         (don't segfault if tree->root_tree is NULL, which happens prior
6803         to widget realization, but puke instead).
6804
6805 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6806
6807         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6808         add the necessary tokens.
6809
6810         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6811         (gtk_rc_style_to_style): copy thicknesses.
6812         (gtk_rc_init_style): apply thicknesses.
6813         (gtk_rc_parse_style): parse xthickness and ythickness.
6814
6815         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6816
6817         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6818         (gdk_window_new): 
6819         (_gdk_windowing_window_init): 
6820         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6821         (gdk_pixmap_create_from_data): 
6822         (gdk_bitmap_create_from_data): 
6823         (gdk_pixmap_new): 
6824         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6825         (gdk_image_new): 
6826         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6827         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6828         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6829         (gdk_colormap_get_system): 
6830         (gdk_colormap_new): 
6831         * gdk/gdkwindow.c (gdk_window_init): 
6832         * gtk/gtkstyle.c (gtk_style_new):
6833         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6834         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6835         * gtk/gtkrc.c (gtk_rc_style_new):
6836         use g_object_new() instead of g_type_create_instance() which
6837         is a private function for fundamental type implementations.
6838
6839 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6840
6841         * configure.in: Add check for db2html
6842
6843 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6844
6845         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6846         hack to set glib_debug_objects based on gtk_debug_flags.
6847
6848 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6849
6850         * INSTALL.in: Update the Prerequisites section.
6851
6852         * Makefile.am demos/Makefile.am docs/Makefile.am
6853         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6854         gdk/linux-fb/Makefile.am: Dist fixes
6855
6856 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6857
6858         * NEWS: 10,000 foot view of 1.3.1 changes.
6859
6860 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6861
6862         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6863         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6864         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6865         gdk/x11/gdkmain-x11.c: 
6866
6867         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6868         as a return value of gdk_*_grab(). Previously, we just
6869         returned the X11 values directly.
6870
6871 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6872
6873         * gdk/x11/Makefile.am: Patch from George Lebl to 
6874         install all the headers in the right place.
6875
6876 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6877
6878         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6879           initial conversion to DocBook.
6880
6881 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6882
6883         * README.win32: Improve a bit.
6884
6885         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
6886         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
6887         Alt+0nnn on the numpad (used to enter characters by numeric code
6888         from current DOS or ANSI codepage) working correctly, as in other
6889         Windows apps.
6890
6891         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
6892         same argument validity tests as in X11 version.
6893         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
6894
6895         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
6896         definitions in case missing from headers.
6897
6898         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
6899         destroy the window-specific cursor.
6900         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
6901         calling GetModuleHandle(NULL).
6902         (gdk_window_set_cursor): Reworked to always copy the passed cursor
6903         with CopyCursor before setting it as the window-specific
6904         cursor. It is OK for the caller to destroy the GdkCursor (and thus
6905         also its Windows cursor) after calling this function. Destroy any
6906         previous window-specific cursor.
6907
6908 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
6909
6910         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
6911         font charset is iso8859-1, not iso-8859-1.
6912
6913 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
6914
6915         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
6916         Use g_get_charset() instead of g_get_codeset().
6917
6918         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
6919         Comment out some strdup'ing functions to keep timj
6920         happy until we finish fighting this out.
6921
6922 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
6923
6924         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
6925         <= width or height.
6926
6927         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
6928         from 1.2 for parent/child states.
6929
6930         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
6931         of typos.
6932
6933         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
6934         event structures, replace with a generic axes field. Replace 
6935         deviceid/sourec with GdkDevice *device.
6936
6937         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
6938         to extract particular axis use value from event. (Also
6939         can be used for normal X/Y.)
6940
6941         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
6942         allow for arbitrary number of axes, namespace everything
6943         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
6944         everywhere.
6945
6946         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
6947         Get rid of the gdk_input_vtable setup if favor of simply
6948         defining the functions in gdkinput-none/gxi/xfree.c in
6949         a similar fashion to the way that the port structure is 
6950         done.
6951
6952         * gtk/gtkdnd.c: Fix fields of synthesized button press event
6953         for new event structures. 
6954
6955         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
6956         new device interfaces.
6957
6958 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
6959
6960         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
6961         set the initial text.
6962
6963         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
6964         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
6965         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
6966         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
6967
6968         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6969         pango_layout_set_font_description to simplify.
6970
6971 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
6972
6973         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6974         pango_layout_set_font_description to simplify.
6975
6976 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
6977
6978         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
6979         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
6980         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
6981
6982         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
6983         PANGO_PIXELS() macro.
6984
6985 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
6986
6987         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
6988         that returns a PangoContext owned by the widget and updated to
6989         match future changes in the widget. Also, make 
6990         gtk_widget_create_pango_layout() use this context. If we ever
6991         add a ::changed signal to PangoContext, this will make things
6992         much more convenient. 
6993
6994         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
6995         in the appropriate places instead of destroying the layouts and
6996         creating new ones.
6997
6998         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
6999         in a few strategic places.
7000
7001 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7002
7003         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7004         gtk_widget_size_request() on reparented child, if one. Otherwise,
7005         queue_resize() on the child never results in it getting size-requested
7006         at all.
7007
7008         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7009         in option menus, so that (with luck) people won't copy it into
7010         their apps in the future.
7011
7012         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7013         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7014         a lot of problems with changing the size of the menu's menu
7015         items after adding it to the option menu.
7016
7017         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7018
7019         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7020         the text direction for a widget changes.
7021
7022         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7023         ::direction_changed to get rid of various hacks.
7024
7025 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7026
7027         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7028         name.
7029
7030 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7031
7032         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7033         flag to the structure. Do not call XFreePixmap on pixmaps created
7034         by gdk_pixmap_foreign_new().
7035
7036 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7037
7038         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7039         value using GdkRGB functionality given GdkColormap and GdkColor.
7040         (name not final, waiting for inspiration.)
7041         
7042         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7043         set the foreground/background of a GC using the GC's colormap
7044         and GdkRGB. (name not final, waiting for inspiration.)
7045
7046         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7047         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7048
7049         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7050         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7051         purely a function of the corresponding colormap. Make
7052         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7053
7054         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7055         gdk_pixbuf_*create_from_xpm_* in terms of
7056         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7057         code.
7058
7059         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7060         advantage of the new draw_rgb_32_image_dithalign.
7061
7062         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7063
7064         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7065         on each created GC.
7066
7067         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7068
7069         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7070         which we initialize from the drawable when the GC is created,
7071         if the drawable has a colormap.
7072
7073         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7074
7075         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7076
7077         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7078
7079 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7080
7081         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7082         actually returning expose events, make sure to set
7083         the count field properly.
7084
7085         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7086         accidentally reintroced bug which always cleared
7087         the graphics_exposures value. 
7088
7089 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7090
7091         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7092
7093 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7094
7095         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7096
7097 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7098
7099         * docs/faq/gtk-faq.sgml: Start of Section 6.
7100
7101 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7102
7103         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7104         
7105         (Fixes problem with drawing childless frames. Pointed out
7106         by and a first patch from Anders)
7107         
7108         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7109         compute a child_allocation, even if we don't have a child.
7110
7111         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7112         Always chain to the parent's impl, even if we don't have a child.
7113
7114 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7115
7116         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7117         use multiple parts of it instead of creating a bunch of separate
7118         segments, since the maximum number of segments per system is not
7119         large. (This might be worth backporting to GTK+-1.2.x if we make a
7120         new release )
7121
7122         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7123         structure in preparation for per-colormap GdkRGB.
7124
7125         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7126         to False when we get EINVAL from shmget so that the caller of
7127         gdk_image_new can retry with a smaller segment size.
7128
7129 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7130
7131         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7132
7133 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7134
7135         * configure.in: make the current version number 1.3.1 (binary age 0,
7136         interface age 0).
7137         
7138         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7139         gtkcompat.h is all we want.
7140
7141         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7142         GLib primitive types. fixed g_type_register_fundamental() argument
7143         ordering.
7144
7145         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7146         compiles.
7147
7148         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7149         object code cleanup, comment trigraph fixes, etc...
7150
7151 2000-06-23  Havoc Pennington  <hp@redhat.com>
7152
7153         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7154         instead of making up a bogus name for first_para_mark
7155
7156         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7157         0 as a context ID
7158
7159 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7160
7161         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7162
7163 2000-06-21  Havoc Pennington  <hp@pobox.com>
7164
7165         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7166         we didn't check window->bg_pixmap != GDK_NO_BG.
7167
7168         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7169         gdk-pixbuf
7170
7171 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7172
7173         * docs/faq/gtk-faq.sgm: Move file to here.
7174           TODO: Update Makfile.am 
7175
7176 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7177
7178         * docs/gtk-faq.sgm: Add Section 2
7179
7180 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7181
7182         * docs/gtk-faq.sgm: New file. Start of DocBook
7183           version of the FAQ.
7184
7185 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7186
7187         * configure.in (GDK_PIXBUF_MAJOR): Define version
7188         numbers for GDK_PIXBUF_*, as they get substituted
7189         into a header file. Need to consider versioning
7190         for gdk-pixbuf more carefully later.
7191
7192 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7193
7194         Work with srcdir != builddir.   
7195         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7196         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7197         * demos/testpixbuf.c: Likewise.
7198         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7199         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7200         <gdk/x11/gdkx.h>.
7201         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7202         "gdk-pixbuf.h".
7203         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7204
7205 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7206
7207         * TODO.xml: Change 1.4 version numbers to 2.0.
7208
7209 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7210
7211         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7212         fixups to GTK+ standard.
7213
7214 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7215
7216         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7217         gdk-pixbuf.
7218
7219         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7220         fixups for GObject.
7221
7222         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7223         gdk-pixbuf with GDK dependencies moved into GDK.
7224         
7225         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7226         move gdk-pixbuf-loader here until GObject has signals.
7227
7228         * demos/: New directory of demos. Move demos from
7229         gdk-pixbuf here.
7230
7231         * demos/pixbuf-init.c: Small bit of code to check for
7232         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7233         set GDK_PIXBUF_MODULEDIR appropriately.
7234
7235         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7236         define which no longer makes sense.
7237
7238 2000-06-21  Havoc Pennington  <hp@redhat.com>
7239
7240         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7241         gtk_get_default_language
7242
7243         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7244         new function to get the default language
7245
7246         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7247         s/gtk_text_view_style_values/gtk_text_style_values/
7248
7249         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7250         Add a "language" field to tags.
7251
7252         (gtk_text_tag_set_arg): Fix bug in setting
7253         "bg_full_height_set" tag.
7254
7255 2000-06-21  Havoc Pennington  <hp@redhat.com>
7256
7257         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7258         in the interfaces
7259
7260         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7261         stuff instead when possible.
7262
7263         * gtk/gtktexttypes.h: Delete some unused constants
7264
7265         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7266         testtextbuffer.c: use glib instead of custom unicode routines
7267
7268 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7269
7270         * docs/es/: Removed mistakenly added generated sgml
7271
7272         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7273         Remove outdated info files.
7274
7275         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7276         Moved tutorial files into subdir
7277
7278         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7279         subdir.
7280
7281         * docs/man/gtk_button.pod: Remove. (contents will be
7282         integrated into gtk-reference button page.)
7283
7284         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7285         docs/faq/Makefile.am: Adjust for new organization
7286
7287 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7288
7289         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7290         not $(MKINSTALLDIRS)
7291
7292 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7293
7294         * gtk/testgtk.c (create_text): Finish the job Elliot started
7295         of removing font setting test for text widget. (Since text widget
7296         and GdkFont are not deprecated, and cause portability problems.)
7297
7298 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7299
7300         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7301         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7302         Remove use of libunicode in favor of new GLib functions.
7303
7304         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7305         nano-x, framebuffer. The X11 include is just a hack until we get
7306         the necessary functions in gdkcolor.h, so there is no reason to
7307         add other includes of platforms.
7308
7309         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7310         window bigger than the screen change.
7311
7312         * gtk/testgtk.c: Revert some random changes from Elliot
7313         that had no particular point and were causing testgtkrc
7314         not to function correctly.
7315         
7316         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7317         because GdkSegment and GdkRegionBox have the same fields,
7318         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7319         results in clearer code.
7320
7321         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7322         gdk_input_translate_coordinates): Fix missed GdkObjectification
7323
7324 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7325
7326         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7327         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7328
7329 2000-06-20  Havoc Pennington  <hp@redhat.com>
7330
7331         * modules/linux-fb/Makefile.am: Make this compile
7332         without framebuffer enabled
7333
7334         * gdk/linux-fb/Makefile.am: Add conditional to not build
7335         framebuffer unless specified in configure
7336
7337         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7338         the size of the target instead of source if -1 was passed for
7339         width/height
7340
7341         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7342         width/height confusion.
7343
7344 2000-06-19  Havoc Pennington  <hp@redhat.com>
7345
7346         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7347         GDK_DRAWABLE_XID. In the future, we probably want to make it
7348         faster with G_DISABLE_CHECKS turned on.
7349
7350 2000-06-14  Havoc Pennington  <hp@redhat.com>
7351
7352         * gdk/Makefile.am: add gdkpixmap.c
7353
7354         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7355         s/gdk_image_init/_gdk_windowing_image_init
7356
7357         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7358         ref/unref
7359
7360         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7361
7362         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7363         GdkWindowType is now non-deprecated; 
7364         change gdk_window_get_type() compat to be
7365         gdk_window_get_window_type().
7366
7367         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7368
7369         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7370         virtual GObject. Make all functions call into the vtable.
7371         Move gdk_image_put() guts in here. Remove GdkDrawableType
7372         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7373         draw_image, get_depth, get_size, set_colormap, get_colormap,
7374         get_visual added to the vtable.
7375         
7376         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7377         GObject. Virtualize everything. 
7378         (gdk_gc_new_with_values): remove check for destroyed window,
7379         because now GdkWindow::create_gc will check this.
7380         (gdk_gc_set_values): New function to set GC values, this 
7381         was already implemented but wasn't in the header
7382
7383         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7384
7385         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7386         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7387         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7388         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7389         _gdk_windowing_window_init, rename gdk_image_init to
7390         _gdk_windowing_image_init.
7391         
7392         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7393         (gdk_draw_layout): Remove check for destroyed window, 
7394         because all the drawable methods already check it.
7395         
7396         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7397         Add gdkpixmap.c which contains implementation of GdkDrawable
7398         virtual table (by chaining to a platform-specific implementation
7399         object).
7400         
7401         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7402         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7403         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7404         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7405         GdkColormapPrivate. 
7406
7407         * gdk/gdktypes.h: #include <glib-object.h>
7408
7409         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7410         Move most functionality to platform-specific implementation
7411         object. GdkWindow itself now handles the backing store, then
7412         chains to the platform-specific implementation.
7413         (gdk_window_get_window_type): return GdkWindowType of the window.
7414         (gdk_window_peek_children): New routine, returns the children of 
7415         a GdkWindow
7416         (gdk_window_get_children): Was in X11-specific code and did 
7417         XQueryTree. Changed to simply return a copy of window->children; 
7418         so it can go in cross-platform code.
7419         
7420         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7421
7422         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7423         GdkColormap; just changed to use the new private data instead
7424         of casting to GdkColormapPrivate.
7425
7426         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7427         gdk_cursor_new().
7428
7429         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7430         (private data member in the GObject). 
7431         (xdnd_manager_source_filter): Function had broken 
7432         error handling, fix it (use gdk_error_trap_push).
7433
7434         * gdk/x11/gdkdrawable-x11.c: This file now implements
7435         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7436         base class is purely for the convenience of the X port,
7437         and not part of the interface to cross-platform GDK.
7438
7439         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7440         
7441         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7442         specific to X, and returned by the create_gc virtual method
7443         of GdkDrawableImplX11. 
7444         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7445         rather than gchar, this was also changed in the GdkGC vtable.
7446         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7447         mask is 0, return immediately, instead of checking every flag.
7448         This is faster, and keeps us from segfaulting if values is NULL
7449         and the mask contains some nonzero flags.
7450
7451         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7452         GdkWindow.
7453
7454         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7455         GdkWindowPrivate is gone.
7456
7457         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7458
7459         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7460         remove the image_put stuff that got transferred to GdkDrawable.
7461         
7462         * gdk/x11/gdkinput.c: renamings
7463
7464         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7465
7466         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7467
7468         * gdk/x11/gdkprivate-x11.h: indentation fixes
7469
7470         * gdk/x11/gdkproperty-x11.c: renamings
7471
7472         * gdk/x11/gdkselection-x11.c: renamings
7473
7474         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7475         implements the platform-specific "impl" object.
7476         Moved gdk_window_get_children to gdk/gdkwindow.c
7477
7478         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7479         that no longer exist. Add declaration of GdkGCX11 object here.
7480         Fix all the macros to still work. 
7481
7482         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7483         GdkDragContext from the boxed types since they are now GObjects.
7484
7485         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7486         moved xthickness/ythickness into the instance. GtkStyleClass
7487         functions are now in the standard vtable for GtkStyle, so you have
7488         to create a GObject subclass to write a theme engine.
7489         (gtk_style_copy): fixed a leaked PangoFontDescription
7490         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7491         can be the standard GObject function.
7492         
7493         * Throughout GTK:
7494         s/style->klass->[xy]thickness/style->[xy]thickness
7495         s/pango_layout_unref/g_object_unref/
7496
7497         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7498         
7499         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7500         accessing GDK internals.
7501
7502         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7503         accessing GDK internals.
7504
7505 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7506
7507         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7508
7509         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7510         problem by calculating event position relative to the trough
7511         rather than the slider.
7512         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7513
7514         * gdk/gdkgc.h: Add GDK_NOR.
7515
7516         * configure.in, Makefile.am: Add modules top level dir
7517         * configure.in: Only use pangox library if building x11 target.
7518         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7519
7520 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7521
7522         * gtk/gtkcolorsel.c: Change private class member to be named
7523         private_data throughout the file.
7524
7525         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7526         private_data to avoid clashing with keyword.
7527
7528 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7529
7530         * gdk/gdkdnd.h: Add comment to remove warning.
7531
7532 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7533
7534         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7535         Byelorussian language; changed the Makefile and file names 
7536         to reflect that.
7537
7538 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7539
7540         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7541         rather than gdk_window_hide; this makes things work
7542         correctly if the window is programmatically hidden while
7543         iconified.
7544
7545 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7546
7547         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7548         cut and paste typo where wrong pixmap was being
7549         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7550
7551 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7552
7553         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7554         Add helper function to compute format / bytes 
7555         relationship. Use in a couple places to fix up
7556         errors which assume 8 * format.
7557
7558         * gtk/gtkselection.c (gtk_selection_request): Use 32
7559         rather than 8 * sizeof (GdkAtom), to work correctly
7560         on Alpha.
7561
7562 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7563
7564         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7565         libgtk.la
7566         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7567         versions
7568
7569         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7570         checking macros return NULL since the function has a return value.
7571
7572 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7573
7574         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7575         GTK+ from building at all.
7576
7577         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7578
7579 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7580
7581         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7582         gtk/Makefile.am: make it possible to configure gtk for different
7583         targets on the same platform. The library name is now 
7584         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7585         flag. Only the x11 target compiles right now.
7586         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7587         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7588         * gdk/nanox/gdk*generic*: delete generic region code.
7589         * gdk/linux-fb/gdk*generic*: delete generic region code.
7590         * README.nanox: update information.
7591         
7592 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7593
7594         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7595         prepend not append. (Pointed out by Brett Hall.)
7596
7597 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7598
7599         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7600
7601 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7602
7603         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7604         need this later, and this makes sure that the atexit for
7605         glib gets called after that for GDK, so atexits are
7606         properly ordered for object leak checking.
7607
7608         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7609
7610         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7611         pango_x_shutdown_display()
7612
7613         * gtk/simple.c (main): Close window on destroy.
7614
7615 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7616
7617         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7618         to treat initial creation different from setting with 
7619         regards to the graphics-exposures parameter, so add a parameter
7620         indicating whether this is initial or not.
7621
7622 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7623
7624         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7625         to sort of work by adding an extra return_exposes arg
7626         to gdk_event_translate() - it might be better to simply
7627         deprecate the function altogether and force people to rewrite
7628         without it. gdk_window_scroll() handles most of it, and where
7629         gdk_window_scroll() doesn't work, simply redrawing more does.
7630
7631         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7632         assertion.
7633
7634         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7635
7636         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7637         bunch of pretty much useless /* Print debugging info */ comments 
7638         which had drifted away from the code they were commenting.
7639
7640 2000-06-02  Havoc Pennington  <hp@pobox.com>
7641
7642         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7643         is in working order.
7644         
7645         * gtk/testtext.c: Change to reflect anonymous mark API
7646
7647         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7648
7649         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7650         field, which was unused.
7651
7652         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7653         saves some typing.
7654
7655         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7656
7657         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7658         flag on the insertion point and selection bound
7659
7660         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7661         make mark-manipulation functions take a GtkTextMark* instead of a
7662         mark name.
7663         
7664         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7665         GtkTextMarkBody; will be used to detect attempts to delete
7666         the permanent marks (insert and selection bound)
7667
7668         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7669
7670 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7671
7672         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7673         flag to on.
7674
7675         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7676         Honor DOUBLE_BUFFRED_FLAG
7677
7678         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7679         function to set the DOUBLE_BUFFERED flag.
7680
7681         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7682         or not exposes done on the widget should be double-buffered.
7683
7684         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7685         to be what would be expected. (Fixes problem with a
7686         g_return_if_fail() validating a TextDirection enumeration)
7687
7688 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7689
7690         * gtk/gtkwidget.c: Remove all references to 
7691         offscreen flag which was no longer used.
7692
7693         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7694
7695         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7696         for non-null label_widget->parent.
7697
7698         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7699         which no longer was used.
7700
7701         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7702
7703         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7704         for null arguments.
7705
7706         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7707         check for destroyed windows.
7708
7709 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7710
7711         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7712         the slave context there.
7713
7714         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7715         identical to GtkWindow.
7716
7717 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7718
7719         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7720         pangox to here, so we can write them independent of rendering
7721         system, using GDK primitives.
7722
7723         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7724         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7725         since we have a rendering-system independent implementation in
7726         terms of draw_glyphs().
7727         
7728         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7729         function to render a single line.
7730
7731         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7732         into ../gdkpango.c, which simplifies things, since we
7733         don't have to deal with raw X gc's.
7734
7735 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7736
7737         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7738         get the logical attributes for a given GtkTextLine.
7739
7740 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7741
7742         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7743         g_locale_get_codeset() to g_get_codeset() change.
7744
7745 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7746
7747         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7748         descriptions.
7749
7750         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7751         the entry.
7752
7753         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7754         redoing (vastly simplifying) for Pango. Still needs quite
7755         a bit of work. (Size selection is currently poor. List of 
7756         predefined sizes is not a good idea, since all of these
7757         sizes won't necessarily be distinct.)
7758
7759 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7760
7761         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7762         CODESET results for LANG=C.
7763
7764 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7765
7766         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7767         which takes a stringized pango font description;
7768         ignore the older 'font' and 'fontset' declarations.
7769
7770         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7771         field with a GdkFont derived via gdk_font_from_description(),
7772         for compatibility. (Should we just remove it entirely?
7773         Probably too much compatibility breakage, but people
7774         should be migrating to the new Pango stuff as quickly
7775         as possible.)
7776
7777 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7778
7779         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7780
7781 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7782
7783         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7784         redoing; there are some bugs in size allocation right
7785         now, the semi-existant distinction between header / day
7786         fonts was removed, but, with Pango, could actually
7787         be made functional in a nice way.
7788         
7789         * gtk/testcalender: Move calender from examples into this
7790         directory as a test program. (We really need to restrcture
7791         testgtk into a whole directory full of tests for every
7792         widget or functionality group, separated into multiple .c
7793         files.)
7794
7795 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7796
7797         * gtk/testgtk.c (file_exists): Fix stupid typo that
7798         was keeping RC file from being loaded.
7799
7800         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7801         RC file font code.
7802
7803 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7804
7805         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7806         Add function to load a GdkFont from a PangoFontDescription.
7807
7808 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7809
7810         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7811         variable should be of type GdkEventPrivate.
7812
7813 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7814
7815         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7816         to have any widget for the label, use a GtkLabel widget
7817         to display the text. (Based partially on a patch from
7818         Anders Carlson.)
7819
7820         (Quite a bit of code reorganization - strip 90% of the
7821         guts out of gtkaspectframe and add a single virtual
7822         func to GtkFrameClass - compute_child_allocation.)
7823
7824 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7825
7826         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7827         (Removed clist->row_center_offset field because caching
7828         it wasn't saving time or code, added private function
7829         _gtk_clist_create_cell_layout()).
7830
7831 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7832
7833         * gtk/gtkaccellabel.c: Pangoized.
7834
7835         * gtk/[hv]ruler.c: Pangoized
7836
7837 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7838
7839         * gtk/gtkfilesel.c (gtk_file_selection_init):
7840         Use gtk_clist_set_column_auto_resize() to remove need
7841         need for manual column width computations.
7842
7843 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7844
7845         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7846         ensuring Pango correctness, and considerably simplifying the
7847         code.
7848         
7849         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7850
7851         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7852         getting of numbers of lines.
7853
7854         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7855         to the actual requested width of the lable, not to the wrap
7856         width we set.
7857
7858         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7859
7860         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7861           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7862
7863         * gtk/gtktextview.c: Fix structure inheritance.
7864
7865         * gtk/gtkprogressbar.c: Pangoize.
7866
7867 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7868
7869         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7870         in a function.
7871
7872         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7873         bug with computing line tops.
7874
7875         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7876
7877 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7878
7879         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7880         and y_offset coordinates to do what we need now. (The offset between
7881         buffer and layout coordinates has been reintroduced, but is a 
7882         bit different than before.)
7883
7884         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7885         handle the adjustments ourselves, and scroll as necessary using
7886         the new gdk_window_scroll().
7887         
7888         The advantage of this is that when we are incrementally revalidating,
7889         we are essentially rearranging things around the visible portion
7890         of the screen. With the old setup, the visible portion of the
7891         screen was moved around in the layout, so scrolling and redrawing
7892         to track that caused jumping of the display. Since we now
7893         control the scrolling ourselves, we can suppress this and
7894         only redraw when things actually change.
7895
7896 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
7897
7898         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
7899         the region not just redisplay it after-all, since we store the
7900         cursors in the LineDisplay. (Ugly interactions here between
7901         GtkLayout and GtkTextBTree here.)
7902         
7903         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
7904
7905 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
7906
7907         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
7908         Added function to scroll contents of a window while keeping the
7909         window constant. Works by XCopyArea or guffaw-scrolling depending
7910         on the details of how the window is set up. (guffaw-scrolling
7911         still needs to be filled in.)
7912
7913 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
7914
7915         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
7916         move the debugging that was tied to a global variable
7917         to that.
7918
7919         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
7920
7921         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
7922         validated flag, in line data instead of setting height/width to
7923         -1. This allows us to perform operations with partially invalid
7924         buffer (using the old size for invalid lines) and thus to do
7925         incremental vaidation. Keep height/width aggregates up to date
7926         when deleting text and rebalancing the tree.
7927
7928         * gtk/gtktextbtree.[ch]: Add functions validate a line
7929         (gtk_text_btree_validate_line), and to validate up
7930         to a number of pixels (gtk_text_btree_validate).
7931
7932         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
7933         that indicates that something is changed and a revalidation
7934         pass is needed. Change ::need_repaint to ::changed, and
7935         make it take old and new yranges instead of a rectangle.
7936
7937         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
7938         the line_data_destroy() function from 
7939         gtk_text_btree_add_view() to a virtual function in 
7940         GtkTextLayout
7941
7942         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
7943         since we are handling partial repaints in a different fashion
7944         now.
7945
7946         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
7947         of the selection instead of queueing a repaint on the
7948         entire widget.
7949
7950         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
7951         get_selection_bounds() down to btree, make the function
7952         in buffer a wrapper around the btree function.
7953
7954         * gtk/gtktextlayout.[ch]: Add functions to check if the
7955         layout is valid and to recompute either a range of pixels
7956         aroudn a line or a certain total number of pixels.
7957
7958         * gtk/gtktextlayout.[ch]: Cache a single line display;
7959         now that we only redraw the needed portions, the hit rate
7960         for this cache is quite high.
7961         
7962         * gtk/gtktextview.[ch]: Keep track of the first paragraph
7963         on the screen so that when re-laying-out the buffer, we can
7964         keep the same place. This requires connecting to ::value_changed
7965         on the adjustments
7966
7967         * gtk/gtktextview.[ch]: Add idle functions to revalidate
7968         the buffer after we receive an ::invalidated signal.
7969         
7970 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
7971
7972         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
7973         to max of allocation and layout size, not just to the
7974         layout size.
7975
7976         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
7977         Invalidate window so it gets redrawn properly.
7978
7979         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
7980         to mean the entire window.
7981
7982         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
7983         into public header.
7984
7985 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7986
7987         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
7988         to get the name of a mark.
7989
7990         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
7991         to find the paragraph from a y position.
7992
7993 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
7994
7995         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
7996         nodes have width/height >= 0, not > 0.
7997
7998 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
7999
8000         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8001         Add a size_only flag, so when we only need the size, we don't create
8002         useless appearance attributes.
8003
8004         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8005         duplicate setting of font description.
8006
8007         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8008
8009 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8010
8011         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8012         EXTRA_DIST. It does not work well when the file that
8013         everything depends on is not in the tarball.
8014
8015 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8016
8017         * gtk/testgtk.c: Some hacks and fixes so that it basically
8018         works when not sitting in the GTK+ build tree.
8019
8020 2000-05-03  Havoc Pennington  <hp@redhat.com>
8021
8022         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8023         Properly determine the ordering of the tag root and the current
8024         line within the tree. Previous algorithm only worked if the tag
8025         root's immediate parent was the common root of both the current
8026         line and the tag root.
8027
8028 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8029
8030         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8031         alignment.
8032
8033         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8034         the widget text directional dynamically.
8035
8036         * gtk/gtktextview.[ch]: Added functions to get and set default
8037         wrap mode.
8038
8039 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8040
8041         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8042         in cursor location computation.
8043
8044 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8045
8046         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8047         vadjusment values properly when layout gets smaller.
8048
8049         * gtk/gtktextview.c (need_repaint_handler): Areas being
8050         passed in are far completely inaccurate, and sometimes
8051         too small, so, for now, just queue a redraw on the
8052         whole visible region.
8053
8054 2000-04-25  Havoc Pennington  <hp@redhat.com>
8055
8056         * gtk/gtktextbtree.c (summary_destroy): new function to 
8057         destroy tag summary nodes
8058         (gtk_text_line_next_could_contain_tag): this function was 
8059         totally broken if the line passed in wasn't below the tag
8060         root. Fix it.
8061         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8062         "wildcard" case, we have to do a linear scan. Blah.
8063         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8064         we have to do the linear scan
8065         (tag_removed_cb): When a tag is removed from the tag table, 
8066         remove the GtkTextTagInfo node from the btree.
8067         (gtk_text_btree_spew): Implement the spew function, for 
8068         our debugging pleasure.
8069
8070 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8071
8072         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8073         a problem with referring to the wrong buffer.
8074
8075         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8076
8077         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8078         font description to gtk_style_new() - otherwise things
8079         don't work without a .gtkrc file.
8080
8081         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8082         tags table if we create it ourself, too.
8083
8084         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8085         it was conflicting with XKB modifiers.
8086
8087         * gtk/gtktextview.[ch]: Add simple support for 
8088         GtkIMContext.
8089
8090 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8091
8092         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8093         with deletion from last commit.
8094
8095 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8096
8097         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8098         in the context from the current locale.
8099         
8100         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8101         context, not hardcoded value.
8102
8103         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8104         not logical.
8105
8106 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8107
8108         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8109         attributes - that doesn't handle partial-glyph selection
8110         properly. Instead use new pango_layout_line_get_x_ranges()
8111         functionality to draw the selection.
8112
8113         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8114         now properly handles out-of-range coordinates.
8115
8116         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8117
8118         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8119         public.
8120
8121         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8122         for paragraphs opposite to the base direction of the widget.
8123
8124         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8125
8126         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8127         causes Arabic words to reshape as you cursor through.
8128
8129         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8130         cursor position when moving vertically with the arrow keys and
8131         scrolling with page-up/page-down. (Arrow keys save only the X,
8132         scrolling saves both X and Y.)
8133
8134         This means you can line-up / line-down or page-up / page-down
8135         without losing your place, and also that moving vertically
8136         with the cursor keys keeps the same X position, not the same
8137         character count:
8138
8139         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8140         arrow keys move by display lines, not paragraphs.
8141
8142 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8143
8144         * gtk/gtklayout.c: Make sure that the bin window is at least
8145         as big as the allocation. (Should we also make sure that the
8146         bin window is big enough to completely cover widget->window?)
8147
8148         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8149         function to get the onscreen rectangle.
8150
8151         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8152         for offsets in window coordinates.
8153
8154 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8155
8156         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8157         confusion.
8158
8159         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8160         from the widget direction.
8161
8162         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8163         Add a "direction" attribute.
8164
8165         * gtk/gtktextview.c: global s/tkxt/text_view/.
8166
8167         * gtk/testtext.c: Added long block of text in Arabic, to test out
8168         the direction attributes. (Some problems with the shaping system
8169         for arabic become obvious - like the fact the cursor splits words
8170         into unjoined pieces.)
8171
8172 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8173
8174         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8175
8176         * gtk/gtktextlayout.c: Fix up alignment.
8177
8178         * gtk/testtext.c: Add some tests for centering, wrapping.
8179
8180 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8181
8182         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8183         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8184         If we wrote GTK+-specific layout-render function this could just replace
8185         the draw_layout() operation in the vtable.
8186
8187         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8188         pango_layout_get_cursor_pos() and use that function.
8189
8190         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8191         is a non-static symbol.
8192
8193         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8194         with gtk_text_btree_find_line_by_y()
8195
8196         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8197         renderer that handles GtkTextAppearance attributes.
8198
8199         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8200
8201           - Move the values in the style that don't affect geometry into a
8202             GtkTextAppearance structure.
8203           - Change underline to take a PangoUnderline and "font" a string
8204             representation of a font description
8205           - Add a "font_desc" attribute which takes a FontDescription structure.
8206
8207         * gtk/gtktextlayout.[ch]:
8208
8209           - Get rid of the display-line list per each line. Instead, we
8210             generate, on demand, a GtkTextLineDisplay structure which]
8211             contains a PangoLayout * and other necesary information
8212             (offsets, cursor locations) for displaying a paragraph.
8213           - Get rid of the code to wrap lines, create display chunks,
8214             etc. Instead, we just go through a paragraph and convert
8215             it into the necessary inputs to a PangoLayout.
8216           - Implement a new attribute type, GtkTextAttrAppearance. This
8217             holds a GtkTextAppearance, and is used to pass colors, 
8218             stipple, etc, through from the layout to the display without
8219             having to use lots and lots of individual attributes.
8220           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8221             in terms of PangoLayout functions.
8222         
8223         * gtk/gtktextview.c: 
8224          
8225           - Handle passing the necessary PangoContext to the layout
8226           - Some fixups in painting to deal with the automatic backing store
8227             and offsetting of GTK+-1.4
8228           - Add a style_set handler so that the default style reacts
8229             properly to theme changes.
8230         
8231         * gtk/gtktext?*.[ch]: Random code-style fixes.
8232
8233         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8234
8235 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8236
8237         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8238         in original form preparatory to Pango-ization and gdkimcontext-ization.
8239
8240 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8241
8242         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8243         so that we can derive from gtkimcontext in language bindings properly.
8244
8245 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8246
8247         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8248         Add a compose table including (almost) all the compose combinations
8249         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8250         data in the XIM implementation.
8251
8252         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8253         Moved functions to convert keyvalues from and to unicode here from
8254         the win32 port and made them public.
8255
8256 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8257
8258         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8259
8260 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8261
8262         * gtk/gtkimcontext.[ch]: Base class for new input context system
8263
8264         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8265         the real input context implementation to be loaded from modules
8266         and switched on the fly.
8267
8268         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8269         context that just does direct keysymbol => unicode translation.
8270
8271         * gtk/gtkentry.[ch]: Start switching editing over to using
8272         GtkInputContext. (No handling of preedit yet.)
8273
8274 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8275
8276         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8277         many substitutions. (klass should not be subsituted.)
8278
8279 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8280
8281         * configure.in: Add checks for Pango
8282
8283         * configure.in docs/Makefile.am: Add test for sgml2html
8284         and allow 'make dist' without building html, but print out
8285         warnings in that case. (For making snapshots)
8286
8287         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8288         Add Pango libraries and C flags
8289
8290         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8291         Add function (gdk_draw_layout) to draw a pango layout.
8292
8293         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8294         for getting Pango contexts for GDK.
8295
8296         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8297
8298         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8299         editing.
8300
8301         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8302         keysym => unicode translations. More languages can be added
8303         here, but real input-method support is needed.
8304
8305         * docs/Changes-1.4.txt: Added note about entry behavior.
8306         
8307         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8308         to set the reading direction for a widget and the global direction.
8309         Add test which allows toggling the global direction. Two private
8310         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8311
8312         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8313           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8314
8315         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8316
8317         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8318         underlining now handled by Pango.
8319
8320         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8321         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8322         is temporary.)
8323
8324         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8325         convenience functions for creating contexts and layouts for widgets.
8326
8327         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8328
8329 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8330
8331         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8332         titles to be active, even if they aren't visible.
8333         (gtk_clist_column_titles_passive):  Ditto.
8334
8335 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8336
8337         * gtkmenu.c:
8338         * gtkmenu.h:
8339         * gtktypeutils.h: Spelling/grammar fixes in comments.
8340
8341 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8342
8343         * gdk/nanox/*.h: add missing header files.
8344
8345 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8346
8347         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8348         send_event to TRUE.
8349         (gtk_drawing_area_size): queue a resize.
8350
8351 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8352
8353         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8354         the handlers, also invalidate them. bug nailed down by Karl Nelson
8355         <kenelson@ece.ucdavis.edu>.
8356
8357 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8358
8359         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8360         "(nil)" foundries, patch from Grigorios Magklis.
8361
8362         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8363         on non-available fonts, based on a patch by Grigorios Magklis
8364         <maglis@cs.rochester.edu>.
8365
8366 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8367
8368         * gdk/x11/gdkregion-generic.c: If a region does not have any
8369         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8370         instead of GDK_OVERLAP_RECTANGLE_IN.
8371
8372 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8373
8374         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8375         OFFSCREEN, as it is no longer necessary.
8376
8377 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8378
8379         * gtk/gtkcolorsel.c: Patch from David Santiago
8380         <mrcooger@cyberverse.com> to change things so that the 
8381         indicator of the active palette entry is done independently,
8382         not via the focus, since it should always be visible.
8383
8384 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8385
8386         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8387         refcount leaks as in the X11 backend.
8388
8389         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8390         cosmetics.
8391
8392         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8393         backend. Add _gdk_windowing_window_destroy().
8394
8395         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8396         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8397         either, but these probably do exist on nanox?)
8398         
8399         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8400         which isn't necessarily defined by <math.h>.
8401
8402         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8403         ancestry past GtkObject.
8404
8405         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8406         from DLL on Win32.
8407
8408         * gtk/gtk.def: Update corresponding to recent changes.
8409
8410         * gtk/makefile.{cygwin,msc}: Updates.
8411
8412 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8413
8414         * docs/Changes-1.4.txt: A bit of editing.
8415
8416         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8417         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8418         to clear the update area for the window, and clear it
8419         when hiding a window.
8420
8421         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8422         if window destroyed.
8423
8424         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8425
8426         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8427         gdk_window_destroy() to the generic code, since there was a lot of 
8428         window-system-independent logic it in. Add a function:
8429         
8430          _gdk_window_destroy() 
8431
8432         to the internal API to destroy a window without unreferencing it.
8433         Add a function:
8434
8435          _gdk_windowing_window_destroy()
8436
8437         That does the windowing-system-dependent part of destroying 
8438         the window.
8439
8440 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8441
8442         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8443
8444 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8445
8446         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8447         Make gtk_widget_shape_combine_mask() keep a reference count on
8448         the pixmap since it keeps it around.
8449
8450 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8451
8452         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8453         leak.
8454
8455         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8456         leak with event filters.
8457
8458 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8459
8460         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8461         signal handlers with the right data arguments. (Fixes
8462         some warnings when a widget was repeatedly set as a drag
8463         destination.)
8464
8465         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8466         window so we can avoid avoid setting the DND properties on the
8467         toplevel window repeatedly.
8468
8469 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8470
8471         * gdk/win32/gdkwin32.h: Define more message types missing from
8472         mingw headers.
8473
8474         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8475         call gdk_window_destroy_notify(). It was never called. This
8476         probably meant that the GdkWindow was never freed. Thanks Owen for
8477         noticing (!).
8478
8479         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8480         window as destroyed before calling DestroyWindow(). DestroyWindow()
8481         causes a call to the window procedure (gdk_WindowProc), which
8482         calls gdk_event_translate(), which calls
8483         gdk_window_destroy_notify(), which gets confused unless the window
8484         is set as destroyed.
8485
8486         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8487         this function to indicate it's win32 only. Put inside #ifdef
8488         G_ENABLE_DEBUG.
8489
8490         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8491         debugging function. (gdk_event_translate:) Add a default branch
8492         that uses the above function to print debug messages with all
8493         Windows messages symbolically.
8494
8495         * gdk/win32/gdkprivate-win32.h: Declare it, and
8496         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8497
8498 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8499
8500         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8501         public header file.
8502
8503 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8504
8505         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8506
8507         * gtk/gtktext.c: made the adjustments no-construct args, simply
8508         provide default adjustments.
8509         (gtk_text_destroy): release adjustments.
8510
8511         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8512         adjustment argument non-construct.
8513
8514         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8515         instead of in finalize.
8516         (gtk_progress_get_text_from_value): 
8517         (gtk_progress_get_current_text): 
8518         (gtk_progress_set_value): 
8519         (gtk_progress_get_percentage_from_value): 
8520         (gtk_progress_get_current_percentage): 
8521         (gtk_progress_set_percentage): 
8522         (gtk_progress_configure): ensure an adjustment is present.
8523
8524 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8525
8526         * gtk/gtkcolorsel.[hc]:
8527         * gtk/gtkcolorseldialog.[hc]:
8528         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8529         their parent implementation, use bit fields for boolean values, don't
8530         create unused widgets, usage of glib types, braces go on their own
8531         lines, function argument alignment, #include directives etc. etc. etc..
8532
8533         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8534
8535 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8536
8537         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8538
8539         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8540         of NULL.
8541
8542         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8543         to freed data.
8544         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8545
8546         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8547         to NULL when the toplevel is getting destroyed.
8548         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8549         (gtk_menu_destroy): 
8550         (gtk_menu_init): store the information of whether we have to
8551         readd the initial child ref_count during destruction in a new
8552         GtkMenu field needs_destruction_ref_count.
8553
8554         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8555         here, those reading: learn from my mistake! ;)
8556         in order for set_?adjustment to support a default adjustemnt if
8557         invoked with an adjustment pointer of NULL, the code read (pseudo):
8558         if (v->adjustment) unref (v->adjustment);
8559         if (!adjustment) adjustment = adjustment_new ();
8560         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8561         now imagine the first unref to actually free the old adjustment and
8562         adjustment_new() creating a new adjustment from the very same memory
8563         portion. here, the latter comparision will unintendedly fail, and
8564         all hell breaks loose.
8565         (gtk_viewport_set_hadjustment):
8566         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8567         after unreferencing it.
8568
8569         * gtk/gtkcontainer.[hc]: removed toplevel registration
8570         functions: gtk_container_register_toplevel(),
8571         gtk_container_unregister_toplevel() and
8572         gtk_container_get_toplevels() which had wrong semantics
8573         anyways: it didn't reference and copy the list.
8574
8575         * gtk/gtkwindow.c: we take over the container toplevel registration
8576         bussiness now. windows are registered across multiple destructions,
8577         untill they are finalized. the initial implicit reference count
8578         users are holding on windows is removed with the first destruction
8579         though.
8580         (gtk_window_init): ref & sink and set has_user_ref_count, got
8581         rid of gtk_container_register_toplevel() call. add window to
8582         toplevel_list.
8583         (gtk_window_destroy): unref the window if has_user_ref_count
8584         is still set, got rid of call to
8585         gtk_container_unregister_toplevel().
8586         (gtk_window_finalize): remove window from toplevel list.
8587         (gtk_window_list_toplevels): new function to return a newly
8588         created list with referenced toplevels.
8589         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8590
8591         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8592         adjustment a non-construct arg.
8593         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8594         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8595         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8596
8597         * gtk/gtkrange.c: added some realized checks.
8598         (gtk_range_destroy): get rid of the h/v adjustments in the
8599         destroy handler instead of finalize. remove timer.
8600         (gtk_range_get_adjustment): demand create adjustment.
8601
8602         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8603         we simply create them on demand now and get rid of them in
8604         the destroy handler.
8605         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8606         destroy handler instead of finalize.
8607         (gtk_viewport_get_hadjustment): 
8608         (gtk_viewport_get_vadjustment): 
8609         (gtk_viewport_size_allocate): demand create h/v adjustment
8610         if required.
8611
8612         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8613         gtk_widget_real_destroy () functionality.
8614         (gtk_widget_real_destroy): reinitialize with a new style, instead
8615         of setting widget->style to NULL.
8616
8617 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8618
8619         * gtk/gtkcalendar.c:
8620         * gtk/gtkbutton.c: ported _get_type() implementation over to
8621         GType, either to preserve memchunks allocation facilities,
8622         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8623
8624         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8625         over. prepare for ::destroy to be emitted multiple times.
8626         removed reference tracer magic. chain into GObjectClass.shutdown()
8627         to emit ::destroy signal.
8628
8629         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8630         fundamental.
8631
8632         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8633         cludge.
8634
8635         * gtk/gtksocket.c:
8636         * gtk/gtkplug.c:
8637         * gtk/gtklayout.c:
8638         * gtk/gtklabel.c:
8639         * gtk/gtkargcollector.c:
8640         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8641         not being a fundamental anymore, and to work with the new
8642         type system (nuked fundamental type varargs clutter).
8643
8644         * gtk/*.c: install finalize handlers in the GObjectClass
8645         part of the class structure.
8646         changed direct GTK_OBJECT()->klass accesses to
8647         GTK_*_GET_CLASS().
8648         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8649
8650         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8651         GType. made most of the GTK_*() type macros and Gtk* typedefs
8652         simple wrappers around macros and types provided by GType.
8653         most notably, a significant portion of the old API vanished:
8654         GTK_TYPE_MAKE(),
8655         GTK_TYPE_SEQNO(),
8656         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8657         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8658         GTK_TYPE_ARGS,
8659         GTK_TYPE_CALLBACK,
8660         GTK_TYPE_C_CALLBACK,
8661         GTK_TYPE_FOREIGN,
8662         GtkTypeQuery,
8663         gtk_type_query(),
8664         gtk_type_set_varargs_type(),
8665         gtk_type_get_varargs_type(),
8666         gtk_type_check_object_cast(),
8667         gtk_type_check_class_cast(),
8668         gtk_type_describe_tree(),
8669         gtk_type_describe_heritage(),
8670         gtk_type_free(),
8671         gtk_type_children_types(),
8672         gtk_type_set_chunk_alloc(),
8673         gtk_type_register_enum(),
8674         gtk_type_register_flags(),
8675         gtk_type_parent_class().
8676         replacements, where available are described in ../docs/Changes-1.4.txt.
8677         implemented compatibility functions for the remaining API.
8678
8679         * configure.in: depend on glib 1.3.1, use gobject module.
8680
8681 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8682
8683         * TODO.xml: Various updates to current status.
8684
8685 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8686
8687         * gtk.m4: Print out version when test succeeds.
8688
8689 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8690
8691         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8692         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8693         
8694         (Original triangle color selector from Simon Budig
8695         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8696         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8697         Santiago <mrcooger@cyberverse.com>)
8698
8699         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8700         out into a separate widget.
8701
8702         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8703         and opacity controls.
8704
8705 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8706
8707         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8708         snuck in prematurely.
8709
8710 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8711
8712         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8713         had deleted a ! operator by mistake, which caused
8714         GDK_SELECTION_CLEAR events never to be generated, which caused
8715         only the first copy to the clipboard from an gtkeditable to
8716         actually cause a copy to the Windows clipboard.
8717
8718 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8719
8720         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8721         compilation, too. Current mingw gcc distributions include the
8722         necessary headers. Also the necessary IIDs are now in mingw
8723         headers/libraries, and own definitions unnecessary.
8724
8725         More hacking on OLE2 DND, still doesn't work though, and thus
8726         ifdeffed out.
8727
8728         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8729         here, too.
8730
8731 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8732
8733         * gdk/nanox/*: nano-X port work in progress.
8734         * gdk/simple.c: simple test for Gdk.
8735         * README.nanox: notes about the port: read this first!
8736         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8737         with nano-X.
8738
8739 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8740
8741         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8742         gdk_window_clear() into common code, implement in terms of
8743         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8744         not redirected to the backing rectangle.
8745
8746 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8747
8748         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8749         EXTRA_DIST. It does not work well when the file that
8750         everything depends on is not in the tarball.
8751
8752 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8753
8754         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8755         with recursion where process_updates() is called from
8756         an expose handler. (GtkTextView is highly broken in
8757         doing this, but it should work, so it is a nice test
8758         case.)
8759
8760 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8761
8762         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8763         handle the case where updates are queued during processing of
8764         updates.
8765
8766 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8767
8768         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8769         window is on gdk_display - use that instead of segfaulting.
8770
8771 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8772
8773         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8774         broken and require an empty arg, give it to them.
8775
8776 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8777
8778         * gtk/gtklabel.h: indentation fixes.
8779
8780 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8781
8782         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8783         draw too narrow or too low arcs, they seem to fail, at least with
8784         some display drivers.
8785
8786         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8787
8788         Large changes to the Win32 backend, partially made necessary by
8789         the changes to the backend-independent internal
8790         structures. Attempts to implement similar backing store stuff as
8791         on X11. The current (CVS) version of the Win32 backend is *not* as
8792         stable as it was before the no-flicker branch was merged. A
8793         zipfile with that version is available from
8794         http://www.gimp.org/win32/. That should be use by "production"
8795         code until this CVS version is usable. (But note, the Win32
8796         backend has never been claimed to be "production quality".)
8797
8798         * README.win32: Add the above comment about versions.
8799
8800         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8801
8802         * gdk/gdk.def: Update.
8803
8804         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8805         presumably be replaced by some more better mechanism as 1.4 gets
8806         closer to release shape.
8807
8808         * gdk/makefile.{cygwin,msc}: Update.
8809
8810         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8811         internal headers. Change code according to changes in these. Use
8812         gdk_drawable_*, not gdk_window_* where necessary.
8813
8814         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8815         our old DND.
8816
8817         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8818         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8819         Use correct function name in warning messages.
8820
8821         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8822         GSourceFuncs gdk_event_prepare and gdk_event_check.
8823         (gdk_event_get_graphics_expose): Do implement, use
8824         PeekMessage. Thanks to Hans Breuer.
8825         (event_mask_string): Debugging function to print an GdkEventMask.
8826         (gdk_pointer_grab): Use it.
8827
8828         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8829         (old) book I used claimed was Hangul actually is CJK Unified
8830         Ideographs Extension A. Also, Hangul Syllables were missing.
8831         Improve logging.
8832
8833         * gdk/win32/gdkgc-win32.c: Largish changes.
8834
8835         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8836         g_win32_getlocale() from GLib, and not setlocale() to get current
8837         locale name.
8838
8839         * gdk/win32/gdkprivate-win32.h
8840         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8841         gdkwin32.h, similarily as in the X11 backend.
8842
8843         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8844         assignment was used instead of equals in if test. Thanks to Hans
8845         Breuer.
8846
8847         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8848         the X11 version.
8849
8850         * gdk/win32/makefile.{cygwin,msc}
8851         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8852         path to the Win32 headers that works also with the mingw compiler.
8853
8854         * gtk/gtkstyle.c: Include <string.h>.
8855
8856 2000-04-26  Havoc Pennington  <hp@redhat.com>
8857
8858         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8859         replacing the broken gtk_label_get ()
8860
8861 2000-04-15  Havoc Pennington  <hp@pobox.com>
8862
8863         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8864         this keeps scanner scripts from getting confused.
8865
8866         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8867         data, rather than void
8868
8869 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8870
8871         * gtk/gtkclist.c (gtk_clist_motion)
8872         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8873         with is_hint FALSE, get x and y from the event. They used to be
8874         used uninitialised. The Win32 backend never sends motion events
8875         marked as hints. This for instance fixes the annoying file and
8876         font selector behaviour in the Win32 version.
8877
8878 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8879
8880         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8881         gtk_private_n_signals variables, they are used by some software,
8882         sigh.
8883
8884         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8885         installation directory from the Registry, where the installer
8886         should have put it.
8887
8888 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
8889
8890         * gdk/x11/Makefile.am: Fix problem with installation directory for
8891         gdkx.h
8892
8893         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
8894         <mrcooger@cyberverse.com> so that when selecting menus with the
8895         mouse, the first item will not be selected, but when selecting
8896         with an accelerator, or navigating left-right on a menubar with
8897         the menus popped up, the first item will be selected.
8898
8899 2000-04-05  Dan Damian  <dand@dnttm.ro>
8900
8901         * configure.in: Added "ro" to ALL_LINGUAS.
8902
8903 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
8904
8905         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
8906         indentation.
8907
8908         * Makefile.am (EXTRA_DIST): Fix typo.
8909
8910         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
8911         to catch gdkconfig.h
8912
8913         * gtk/gtkitemfactory.c: Added FIXME.
8914
8915 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
8916
8917         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
8918         s/return_if_fail/return_val_if_fail/g and add a return value.
8919
8920 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8921
8922         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
8923         merge slipup.
8924
8925         * gdk/gdkinput.h: Fix missing line from merge.
8926
8927 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
8928
8929         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
8930         instead of gdkprivate.h.
8931
8932 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
8933
8934         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
8935         parent class to correctly be GtkDialogClass.
8936
8937 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
8938
8939         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
8940         toplevel windows and their immediate children by their parents,
8941         since the size of toplevel windows is out of our immediate
8942         control and we don't get any real benefit from trying to track
8943         this size for clipping.
8944
8945         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
8946         for input_only windows.
8947
8948         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
8949         to fix some hacks and make sure that we don't try to set the
8950         background of input only windows.
8951
8952 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
8953
8954         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
8955         the _really_ internal stuff, and leave gdkprivate.h for the fake private
8956         stuff that we've traditionally exposed.
8957
8958         * gdk/**.c: Use gdkinternals.h where appropriate.
8959
8960         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
8961         not include gdkprivate-x11.h, move all stuff of conceivable public
8962         interest into gdkx.h; keep all really private stuff in
8963         uninstalled header gdkprivate-x11.h.
8964
8965         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
8966         image->image_put on windows through a new function _gdk_window_draw_image()
8967         to allow us to do backing store for images. (Sort of ugly)
8968
8969         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
8970         contexts locally so that we can offset them properly when drawing 
8971         onto backing pixmaps.
8972
8973         * gdk/gdkinput.h: Reindented
8974
8975         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
8976         pixmap or color for the window, so we can properly initialize
8977         our double-buffer pixmaps, and also so that we temporarily set
8978         a background of None while scrolling.
8979
8980         * gdk/gdkregion.h: Revise region boolean operators to have an
8981         interface that is actually convenient - switch from creating new
8982         regions on every op, to "methods" that modify existing regions
8983         (A = A OP B). 3 argument forms which allow dest == src, would also
8984         be possible, but the current interfaces seem to map nicely
8985         onto what needs to be done. (There is quite a lot of region
8986         code in GDK now.)
8987
8988         * gdk/gdkregion.h: Add constructor from rectangle and a copy
8989         operator.
8990
8991         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
8992         gdkpoly-generic.h: Copy region code from Xlib, switch it over
8993         to 32 bit coordinates, modify it to be mostly GTK+ style
8994         and to have interfaces that match gdkregion.h.
8995
8996         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
8997         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
8998         create a backing pixmap and redirect all drawing to
8999         that backing pixmap until a matching gdk_window_end_paint().
9000
9001         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9002         Create a special drawable class for GtkWindow's that 
9003         redirects the drawing to the backing pixmap as necessary
9004         and then calls the real operations in _gdk_windowing_window_class.
9005
9006         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9007         Store invalid region for each window. Generate expose events for invalid
9008         region in an idle. This replaces both the expose compression
9009         and the redrawing queuing in GTK+. It is both more efficient and
9010         simpler than either one individually and far more so then the
9011         combination.
9012
9013         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9014         Emulate 32 bit coordinates for windows with 16 bit coordinates
9015         by offsetting drawing, guffaw scrolling techniques and
9016         mapping/unmapping child windows as necessary.
9017
9018         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9019         where, when invalid regions are processed, the region is stored,
9020         and if expose events come in that are detectably duplicate
9021         the processed exposes (by comparison of event serial numbers),
9022         the stored region is subtracted out of those exposes.
9023
9024         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9025         regions newly exposed when scrolling or resizing windows.
9026         This, combined with forcing processesing of queued invalidated
9027         regions, gives nice flicker-free scrolling.
9028
9029         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9030         invalidated regions after every scroll.
9031
9032         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9033         emulation in GDK. Its, for all practical purposes just a
9034         GtkViewport/GtkFixed hybrid now.
9035
9036         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9037         (16-bit) structures as necessary instead of just casting.
9038
9039         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9040         in terms of the structures from gdkregion-generic.c, using appropriate
9041         offsets from GDK to X11 coordinates. Cache clip mask and
9042         origin and ts origin locally and only flush to the server
9043         when drawing, to avoid constantly setting and resetting these
9044         values when offsetting GC's for scrolling and backing pixmaps.
9045
9046         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9047
9048         * gtk/gtkcontainer.c: Call process_all_updates at end
9049         of resizing to reduce flicker. (Avoids having redraw
9050         lag arbitrarily behind resize under some circumstances)
9051
9052         * gtk/gtkentry.c: Remove old backing store code, and simply take
9053         advantage of the new backing store capabilities of GDK.
9054
9055         * gtk/gtkmain.c: Simple implementation of widget backing
9056         store - simply push a paint while handling each expose.
9057         (Should really be configurable widget for widget.)
9058         
9059         * gtk/gtkwidget.c: Remove all the old complicated redraw
9060         code, and simply invalidate the GDK windows from
9061         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9062         debugged complexity ... gone to the winds.)
9063
9064         Remove all the code for suppressing expose events while
9065         resizes are pending; this isn't needed since the invalid
9066         areas won't be processed until after the resizes are
9067         processed, since they are in a lower priority idle.
9068
9069 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9070
9071         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9072         and height of dest rectangle for non-intersecting rectangles.
9073
9074 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9075
9076         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9077         for GdkRectangle.
9078
9079 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9080
9081         * gdk/gdk{events,image,private,types,window}.h
9082          gdk/x11/gdkinputprivate.h: Change all coordinates
9083          from int16 to int. Also, Change width and height from
9084          unsigned to signed to avoid all the stupid C 
9085          signedness bugs.
9086
9087 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9088
9089         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9090         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9091         Add some more detailed checking.
9092
9093         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9094         New function to retrieve the depth of a drawable.
9095
9096         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9097         field, reorder fields to save memory. 
9098
9099 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9100
9101         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9102         of the background image instead of scaling the background down to
9103         a line.
9104
9105         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9106         which temporarily set slider to wrong size.
9107
9108         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9109         queue_clear().
9110
9111 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9112
9113 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9114
9115         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9116
9117 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9118
9119         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9120         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9121
9122         * gdk/win32/gdkfont-win32.c
9123         * gdk/win32/gdkproperty-win32.c
9124         * gdk/win32/gdkselection-win32.c
9125         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9126         now declared such.
9127
9128 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9129
9130         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9131
9132 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9133
9134         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9135         is called without trapping X errors.
9136
9137 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9138
9139         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9140         way into the fontset lists.
9141
9142 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9143
9144         * gtk/gtkthemes.h: add extern "C" scope.
9145
9146 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9147
9148         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9149         to make appends to the list constant. (gtk-guy-990901-0.patch)
9150
9151 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9152
9153         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9154         for the typename hash table.
9155
9156 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9157
9158         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9159         to make sure we never divide by zero. 
9160         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9161
9162 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9163
9164         * gtk/gtkfontsel.c: Apply patch from
9165         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9166         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9167
9168         Also, some cleanups in atom handling.
9169
9170 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9171
9172         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9173         not GtkWidget.
9174
9175 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9176
9177         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9178         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9179         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9180         more guint wrap-around bugs before going to bed.
9181
9182 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9183
9184         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9185         guint wrap arounds in allocation.width.
9186
9187         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9188         process untill we fit the allocation given.
9189
9190 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9191
9192         * gtk/gtkwidget.c:
9193         (gtk_widget_unrealize): guard widget access with ref/unref
9194         around signal emission.
9195         (gtk_widget_hide): same here, but also check its destroyed
9196         state before queueing a resize.
9197
9198 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9199
9200         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9201         of gtk_default_insensitive_bg as insensitive base color.
9202
9203         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9204         to the widget's state.
9205         (gtk_text_realize): same here.
9206         (gtk_text_state_changed): same here.
9207         (draw_bg_rect): compare background color against base[] from
9208         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9209
9210 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9211
9212         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9213         grabs are active, unless a delete event is send to the toplevel
9214         of the currently grab holding widget.
9215
9216 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9217
9218         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9219         debugging g_print's.
9220
9221 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9222
9223         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9224         ever make the scrolled-window requisition ever depend on the 
9225         visibility state of the scrollbars for the AUTOMATIC policy. 
9226         This breaks the GTK+ requisition model, and causes loops.
9227
9228 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9229
9230         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9231         the default font to avoid problems with XFree86-4.0 where the
9232         default charset is iso10646-1, not iso8859-1.
9233
9234 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9235
9236         * acinclude.m4
9237         * config.guess
9238         * config.sub
9239         * ltconfig
9240         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9241
9242         * gtk/Makefile.am: minor cosmetic consistency tweak
9243
9244 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9245
9246         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9247         the activate_time to 0, so that we handle a quick
9248         press/release press/release properly and don't suppress
9249         the second release. (Red Hat bug #7545)
9250
9251 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9252
9253         * gtk/gtkctree.c (row_delete):
9254         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9255         bugs with destruction notifier, *always* update internal
9256         structures *before* calling user code.
9257
9258 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9259
9260         A few more fixes for bug #5487, #2051, #2677.
9261         * gtk/gtkclist.c : 
9262         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9263         not GDK_BUTTON_PRESS.
9264         (resync_selection): resync only if selection_mode is
9265         GTK_SELECTION_EXTENDED
9266         * gtk/gtkctree.c (resync_selection): same here
9267
9268 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9269
9270         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9271         gdk_drag_get_selection() and gtk_menu_detach().
9272
9273         [ From Jeroen Ruigrok/Asmodai ]
9274
9275 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9276
9277         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9278         page->tab_label can be NULL.
9279
9280 2000-01-25  Havoc Pennington  <hp@pobox.com>
9281         
9282         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9283         arg is boolean
9284
9285         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9286
9287         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9288
9289         * gdk/gdkproperty.c (gdk_property_get): return boolean
9290
9291         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9292
9293         * gdk/gdkim.c (gdk_im_ready): return boolean
9294
9295         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9296
9297         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9298         glib clash, should fix glib)
9299
9300         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9301         (gdk_get_show_events): return gboolean, and canonicalize 
9302         to TRUE/FALSE
9303
9304         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9305         colormap is private
9306         (gdk_colors_alloc): gboolean whether to be contiguous
9307         (gdk_color_equal): return gboolean since we are a predicate
9308         and not a qsort() (this looks semi-wrong due to glib breakage,
9309         IMO glib should be fixed)
9310         
9311         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9312         (gdk_get_use_xshm): return gboolean
9313         (gdk_pointer_is_grabbed): return gboolean
9314
9315         * gdk/gdk.h: Change prototypes to match all the above changes,
9316         and re-run egtk-format-protos as required.
9317
9318 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9319
9320         * gtk/gtkctree.c (resync_selection): 
9321         * gtk/gtkclist.c (resync_selection):
9322
9323         Return immediately if clist->drag_pos < 0. This is a workaround
9324         for the corrupt state that the clist gets into when a
9325         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9326
9327         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9328         
9329         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9330         variable from recent commit.
9331
9332 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9333
9334         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9335
9336 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9337
9338         * gtk/Makefile.am: prefix all autogenerated source that get build in
9339         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9340         in builddir. since we subsequently cd into srcdir for autogeneration,
9341         the paths have to be stripped from the target file names, thusly we
9342         use $(@F) as target names now.
9343         put a comment about configure.in's --disable-rebuilds option,
9344         which can be used for non-writable source directories, for development
9345         setups though, srcdir has to be *writable*.
9346
9347 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9348
9349         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9350           Finish the job of allowing event to be NULL.
9351           (Fixes bug #4283, reported by Chris Blizzard)
9352
9353         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9354           things so that the cursor appears on screen, properly
9355           take into account INNER_BORDER.
9356           (Fixes bug #4754, reported by Antonio Campos)
9357
9358 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9359
9360         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9361           show the tab_label unless it itself is visible.
9362
9363           gtk/gtknotebook.c (gtk_notebook_size_request):
9364           Do a better job of making sure that the visibility
9365           of the tab label corresponds to whether it should
9366           be mapped or not.
9367
9368 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9369
9370         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9371           Use the requisition, not the allocation, since the
9372           allocation has not necessarily been computed yet.
9373           (Pointed out by Eugene Osintsev)
9374
9375 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9376
9377         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9378           style/base[GTK_STATE_INSENSITIVE] both to
9379           gtk_default_insensitive_bg!
9380           (Bug #2187, reported by Jonathan Blandford)
9381
9382         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9383           Add Alt_L, Alt_R to list of invalid accelerators.
9384           (Bug #3736, reported by Vlad Harchev)
9385
9386 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9387
9388         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9389         bugs which occured after an attempt to open 
9390         invalid home directory left cmpl_state->reference_dir == NULL.
9391
9392          - completion on files in home directory didn't work
9393          - completion on an empty string caused  segfault
9394
9395          (Bug #3678, reported by Steve Ratcliffe)
9396
9397         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9398         cut and paste error that was causing scales to
9399         be incorrectly positioned.
9400         (Bug #2956,
9401          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9402
9403 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9404
9405         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9406         when checking for dcgettext, if we've found we needed
9407         it for dgettext.
9408 +
9409 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9410
9411         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9412         queue_clear on NO_WINDOW widgets during a reparent,
9413         since at that point the window and widget heirarchies
9414         are out of sync. This stops crashing in some cases
9415         (the scrolled window reparent test, for instance), and
9416         _probably_ won't cause drawing errors.
9417
9418         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9419         test do what it was supposed to do and be robust against
9420         window closings, etc. (Bug #2443)
9421
9422 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9423
9424         * gtk/gtkentry.c: Fix return values on mouse events.
9425         (Bug #2686, Sky <seb_sky@yahoo.com>)
9426
9427         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9428         (pointed out by George Lebl)
9429
9430         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9431         (From Ettore Perazzoli  <ettore@helixcode.com>)
9432  
9433 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9434
9435         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9436         clicks between rows or outside calender area correctly.
9437         (Patch from Damon Chaplin)
9438
9439         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9440         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9441           Call destroy function when overwriting existing data. 
9442           (Pointed out by Damon Chaplin)
9443
9444 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9445
9446         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9447           which was causing problems on various systems with Xmu.
9448           This hasn't been needed for a very long time.
9449           (Fixes #1185 3167)
9450
9451 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9452
9453         * gdk/gdki18n.h: Include <ctype.h> when defining
9454           gdk_isw* in terms of is* as a fallback.
9455           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9456
9457 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9458
9459         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9460           realize the widget when it is size allocated!
9461           (old, old bug)
9462
9463         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9464           Removed unused call to gdk_window_get_size() that
9465           showed up when the above was fixed.
9466
9467 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9468
9469         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9470           fix up widget->window when the widget is a
9471           NO_WINDOW container widget.
9472
9473 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9474
9475         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9476           to account for the fact that feof() does _not_ 
9477           return TRUE on errors, and thus avoid infinite loops
9478           when trying to use gdk_pixmap_create_from_xpm()
9479           on unreadable values.
9480
9481 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9482
9483         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9484
9485 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9486
9487         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9488           gdk_gc_set_dashes to take gint8 instead of gchar to
9489           make it clearer that it is _not_ a NULL terminated string.
9490
9491         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9492           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9493           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9494           arguments.
9495
9496 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9497
9498         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9499         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9500         background size relative to our allocation, guard against small
9501         allocations, we may have not yet been size allocated.
9502
9503 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9504
9505         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9506         not just version == 3. We implement all 3 + most of 4 - 
9507         (we don't support matching text/plain;charset=iso-8859-1
9508         to a dest that expects text/plain). We'll still advertise
9509         3 to be safe, but any client implementing version >= 3
9510         must interoperate with 3.
9511         
9512 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9513
9514         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9515         background and gc members, add a warning in gtk_tooltips_set_color()
9516         indicating that this function is deprecated.
9517
9518 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9519
9520         * docs/gtkfaq.sgml: FAQ Update:
9521           - Minor cleanups (Emmanuel, me)
9522           - New questions:
9523                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9524                 How can I retrieve the text from a GtkMenuItem? (timj)
9525                 How do I validate/limit/filter the input to a GtkEntry? (me)
9526                 Memory does not seem to be released when I free the list
9527                         nodes I've allocated (timj)
9528
9529 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9530
9531         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9532         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9533         for which it is no use to call GetLastError onWin9x.
9534         (gdk_other_api_failed) New function, for general error
9535         reporting without calling GetLastError.
9536         (gdk_win32_api_failed) OTOH, this function always calls
9537         GetLastError. (gdk_win32_last_error_string) Remove this function,
9538         GLib has the equivalent now.
9539
9540         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9541         call them with function name, file name and line number in the
9542         arguments.
9543
9544         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9545         functions.
9546         
9547         * gtk/gtk.def: Add some missing entry points.
9548
9549         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9550         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9551         
9552         Fixes by Hans Breuer:
9553
9554         * gdk/makefile.msc: Update for debugging.
9555
9556         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9557         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9558         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9559         in the dash_list.
9560
9561         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9562         the x11 backend.
9563
9564         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9565
9566         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9567
9568 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9569
9570         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9571         just pixel value of background colour.
9572
9573         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9574         containing code snippet previously duplicated in a couple of
9575         places.
9576         
9577         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9578         gdk_colormap_color.
9579
9580         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9581         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9582         events for autorepeated Shift, Control and Alt keys. Use
9583         gdk_colormap_color.
9584
9585         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9586         pointer is inside the window the cursor of which we are setting,
9587         call SetCursor immediately.
9588
9589         * gdk/win32/makefile.cygwin
9590         * gtk/makefile.cygwin: If we don't have the build number stamp
9591         file, use zero.
9592
9593         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9594         gtk_paned_set_gutter_size as empty.
9595
9596         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9597         
9598 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9599
9600         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9601           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9602           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9603           docs/gtk_tut.sgml docs/gtk.texi TODO:
9604
9605           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9606
9607 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9608
9609         * gtk/gtkcalendar.c: Implement num_marked_dates,
9610           and don't emit mutiple day_selected signals on
9611           month_prev.
9612
9613 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9614
9615         * docs/make-todo (lineno): let title and logo be configurable so
9616         that GNOME can use this script too.
9617
9618         * TODO.xml: added logourl and a title
9619
9620 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9621
9622         * TODO.xml: Added some UI items, and an explanatory
9623         comment at the top of the file.
9624
9625 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9626
9627         * TODO.xml: some updates, added abunch of new entries.
9628         a note for those fiddeling with this file, when done
9629         with it, invoke:
9630         $ ./docs/make-todo TODO.xml >/dev/null
9631         and correct output errors before comitting changes.
9632
9633 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9634
9635         * TODO.xml: Added XML-structured TODO file.
9636         * docs/make-todo: python script to turn TODO.xml into
9637           pretty XML output. 
9638
9639 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9640
9641         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9642         the function to let it draw the seven dots, instead of the old,
9643         much maligned, method.
9644         (draw_dot): New function to draw a dot.
9645
9646         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9647         to draw the handle inside the border width as opposed to outside.
9648         Use paint function instead of gdk_draw_point.
9649
9650         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9651         to draw the handle inside the border width as opposed to outside.
9652         Use paint function instead of gdk_draw_point.
9653
9654         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9655         Change indenting to be more GTK like.
9656
9657 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9658
9659         * docs/gtk_tut.sgml: New section on GtkCalendar
9660         * examples/calendar: Update example code
9661
9662 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9663
9664         * docs/gtkfaq.sgml: FAQ Update
9665
9666 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9667
9668         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9669         to prevent the scroll event to be propagated upwards.
9670
9671 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9672
9673         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9674         OwnerGrabButtonMask from button entries for
9675         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9676
9677         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9678         to the event mask (which will result in button/press release
9679         being added to the event mask on Unix) so scrolling works
9680         for layouts in scroll windows.
9681
9682         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9683
9684         Patch from Anders Carlsson  <andersca@gnu.org> to add
9685         a scroll event.
9686
9687         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9688         scrolling to the "Test Scrolling" part of testgtk.
9689  
9690         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9691  
9692         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9693         it against GDK_SCROLL.
9694  
9695         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9696         way of mouse wheel scrolling.
9697  
9698         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9699  
9700         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9701  
9702         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9703  
9704         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9705         gdk_event_mask_table.
9706  
9707         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9708         GdkEventScroll handler.
9709  
9710         * gdk/gdkevents.h: Added GdkEventScroll structure.
9711  
9712 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9713
9714         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9715         and Anders Carlsson to change the Paned widgets so that they
9716         can be dragged from anywhere along the length. Also change
9717         the way that this is drawn to make this apparent.
9718
9719         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9720         from George Lebl to check that option_menu->menu is present
9721         before getting history.
9722
9723 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9724
9725         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9726         before the assertion for non-NULL segment list.
9727
9728         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9729         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9730         machine, but it might be display driver dependent. Sigh, so make
9731         sure the stipple is that size. Does Windows suck or what?
9732
9733         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9734         places.
9735
9736 2000-02-13  Havoc Pennington  <hp@pobox.com>
9737
9738         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9739         refcount to 1
9740         (gdk_cursor_new): init refcount to 1
9741
9742         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9743
9744 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9745
9746         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9747         so that we don't have to do unnecessary settings to the HDC.
9748
9749         * gdk/win32/gdkdrawable-win32.c
9750         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9751         gdk_gc_predraw.
9752
9753         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9754         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9755         GDI paths, call WidenPath to get the outline of the stroken path,
9756         and then fill the outline (with the brush that was built from the
9757         stipple).
9758
9759         * gdk/win32/gdkgc-win32.c: Factor out common code from
9760         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9761         gdk_win32_gc_values_to_win32values. Use correct colour for
9762         SetBkColor() (Until now the code actually used a random colour in
9763         the call to SetBkColor()... but that didn't show up as not many
9764         GDI APIs use the background colour. Pattern (opaque stippled)
9765         brushes do.)
9766
9767         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9768         gdk_win32_api_failed): New functions for error logging.
9769
9770         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9771         WIN32_API_FAILED to call them, passing function or file name and
9772         line number.
9773
9774         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9775
9776         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9777         GdkColor for foreground and background in GdkGCWin32Data.
9778
9779         * gdk/makefile.cygwin: Link in the resource object separately.
9780
9781         * gdk/win32/rc/gdk.rc
9782         * gtk/gtk.rc (New file)
9783         * gdk/win32/makefile.cygwin
9784         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9785         as in GLib.
9786
9787 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9788
9789         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9790         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9791         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9792         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9793         parameters given and cursor->ref_count. coding style fixups.
9794
9795         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9796         not GtkWidget.
9797         
9798         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9799         fix up widget macros and add _GET_CLASS() variant.
9800         
9801         * gtk/*.c: some GtkType fixups.
9802
9803 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9804
9805         * gdk/win32/gdkproperty-win32.c
9806         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9807         were reversed.
9808
9809 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9810
9811         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9812         g_filename_to_utf8 to convert the font names Windows gives us from
9813         whatever is the default codepage to UTF-8.
9814         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9815         in the other direction.
9816
9817         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9818         error in debugging output.
9819
9820 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9821
9822         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9823         and height parameters to gdk_window_clear_area(). Not minus one.
9824
9825 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9826
9827         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9828         checks if the widget passed to gtk_drag_get_data() was not the
9829         dest widget.
9830
9831 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9832
9833         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9834         g_filename_from_utf8 functions (which were added a moment ago to
9835         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9836         size buffers.
9837
9838         gtk_file_selection_get_filename returns the filename in the C
9839         runtime encoding. It calls g_filename_from_utf8, but copies the
9840         returned string to a static buffer, which is returned. I think
9841         this is better than returning the result from g_filename_from_utf8
9842         directly, which would mean all apps that use it would have to free
9843         the return value. Or should this function care about this issue at
9844         all? Maybe a new function with clearly defined semantics.
9845
9846         * gtk/gtkfilesel.h: Add comment about
9847         gtk_file_selection_get_filename returning the filename in the C
9848         runtime's encoding.
9849
9850         * README.win32
9851         * gdk/gdk.def
9852         * gdk/makefile.{cygwin,msc}
9853         * gtk/gtk.def: Updates.
9854
9855         * gdk/gdkcursor-win32.c: Initialise refcount.
9856
9857 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9858
9859         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9860
9861 2000-01-30  Havoc Pennington  <hp@pobox.com>
9862
9863         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9864         destroy
9865
9866         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9867
9868         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9869         implemented in platform-specific code
9870
9871         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9872
9873         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9874         underscore in front
9875
9876         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9877         put an underscore in front
9878
9879         * gdk/gdkcursor.c: new file, implements
9880         gdk_cursor_ref/gdk_cursor_unref
9881
9882         * gdk/gdkcursor.h: Refcount GdkCursor
9883
9884         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9885
9886 2000-01-29  Tor Lillqvist  <tml@iki.fi>
9887
9888         * gdk/gdkwindow.h
9889         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
9890
9891 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9892
9893         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
9894         structures to properly inherit from GtkWidget not GtkBin.
9895
9896 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
9897
9898         * gtk+.spec.in: Added lib/gtk+/include/* to %files
9899         (bug #5178 - Peter Wainright)
9900         
9901         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
9902         so that it will be installed.
9903         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
9904
9905 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
9906
9907         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
9908         for the GtkStyleClass vtable const.
9909
9910         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
9911         take a const string argument like GtkTranslateFunc. This will
9912         require changes in use code.
9913
9914 2000-01-19  Tor Lillqvist  <tml@iki.fi>
9915
9916         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
9917         semantics (to mimic the X11 backend, which just calls XClearArea)
9918         is to check for zero width (and height), and in that case use the
9919         window's width minus x (height minus y). This fixes for instance
9920         some redraw problems with gtkclist, which were easily noticeable
9921         in the gtk file selection widget.
9922
9923         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
9924         windows.
9925
9926 2000-01-13  Tor Lillqvist  <tml@iki.fi>
9927
9928         * configure.in
9929         * gdk/Makefile.am
9930         * gdk/x11/Makefile.am
9931         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
9932         (bug #5177).
9933         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
9934         out later.
9935
9936 2000-01-09  Tor Lillqvist  <tml@iki.fi>
9937
9938         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
9939         WM_MOVE for iconified or invisible windows. This fixes various
9940         problems when minimising windows. Thanks to Bernd Herd.
9941
9942 2000-01-05  Tor Lillqvist  <tml@iki.fi>
9943
9944         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
9945         backend's draw_lines method, not draw_points.
9946
9947 2000-01-02  Tor Lillqvist  <tml@iki.fi>
9948
9949         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
9950         before Owen's reorganisation: Don't have queued_events and
9951         queued_tail statics in this file, but use gdk_queued_events and
9952         gdk_queued_tail. This makes exposure event compression work again.
9953
9954         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
9955         seem to be needed?
9956
9957 1999-12-30  Tor Lillqvist  <tml@iki.fi>
9958
9959         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
9960         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
9961         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
9962         doesn't do anything.
9963
9964         * gdk/gdk.def: Add gdk_xid_table_insert.
9965
9966         * gdk/win32/gdkprivate-win32.h
9967         * gdk/win32/gdkevents-win32.c
9968         * gdk/win32/gdkinput-win32.c
9969         
9970         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
9971         extension_events field in the GdkWindowWin32Data struct. Use only
9972         the extension_events field in GdkWindowPrivate. Previously one was
9973         set, and the other one tested, which broke tablet
9974         functionality. Thanks to Keishi Suenaga for pointing this out.
9975
9976 1999-12-18  Tor Lillqvist  <tml@iki.fi>
9977
9978         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
9979         When handling a single character (text length == 1), don't handle
9980         it as if it was UTF-8.
9981
9982 1999-12-11  Tor Lillqvist  <tml@iki.fi>
9983
9984         * Makefile.am: Distribute README.win32.
9985         
9986         * gdk/Makefile.am
9987         * gdk/win32/Makefile.am: Distribute Win32 files.
9988
9989         * gdk/makefile.msc: New file.
9990
9991         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
9992         after label).
9993
9994         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
9995         gdk_error_code as GDKVAR, as they are referred outside GDK.
9996
9997         * gdk/win32/makefile.msc: Update.
9998
9999         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10000         tweaks. Check only if at least one of those Unicode subrange bits
10001         we care for is set. If no code page bits are set, guess (wildly)
10002         based on the charset.
10003
10004         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10005
10006         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10007         non-NULL.
10008
10009         * gtk/gtkdnd.c
10010         * gtk/gtklayout.c
10011         * gtk/gtkplug.c
10012         * gtk/gtkselection.c
10013         * gtk/gtksocket.c
10014         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10015         appropriate. There must be a cleaner way to handle this?
10016
10017         * gtk/gtkrc.c: Must include windows.h on Win32.
10018
10019         * gtk/testgtk.c: No need to include gdkx.h.
10020
10021         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10022
10023 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10024
10025         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10026         the rbearing is set to the same as the width, but this should be
10027         fixed.
10028
10029 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10030
10031         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10032         function. If Windows doesn't tell us what Unicode subranges a font
10033         covers, guesstimate based on the codepages it covers. This will
10034         hopefully help those Windows versions or fonts that don't give us
10035         any useful Unicode subrange information with GetTextCharsetInfo.
10036         Call this function in gdk_font_load_internal.
10037
10038         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10039         minor changes.
10040
10041 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10042
10043         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10044         New function, long needed.
10045
10046 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10047
10048         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10049         only_if_exists argument of gdk_atom_intern to
10050         bool.
10051
10052 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10053
10054         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10055         Fix two copy&paste errors.
10056
10057         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10058         win32 has changed.
10059
10060         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10061         GdkWin32SingleFont struct.
10062
10063         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10064         subranges of loaded fonts. Clear font signature first, in case
10065         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10066         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10067
10068         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10069         Unoffset clip region.
10070
10071 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10072
10073         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10074         event->any.window before calling filter functions.
10075
10076 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10077
10078         * gtk/gtkgamma.h: Adapt cast macros to standard.
10079
10080 [ Merges from 1.2 ]
10081
10082 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10083
10084         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10085         If translation does not include a '/', use entire
10086         translation instead of crashing.
10087
10088 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10089
10090         * docs/gtk_tut.sgml:
10091         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10092
10093 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10094
10095         * gtk/gtkselection.c (gtk_target_list_remove): Use
10096         g_list_remove_link, not g_list_remove.
10097
10098         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10099         
10100 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10101
10102         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10103         statement upon unselection (how the heck did that slip in?).
10104
10105 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10106
10107         * gtk/gtktext.c (gtk_text_freeze): 
10108         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10109         in frozen state (and aparently crashes). patch provided by Anders
10110         Melchiorsen <and@kampsax.dtu.dk>.
10111
10112 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10113
10114         * fix insensitive default/focus widget activation,
10115         reported by Matt Goodall <mgg@isotek.co.uk>.
10116
10117         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10118         (gtk_window_activate_default):
10119         (gtk_window_activate_focus):
10120         return handled=FALSE for actiavtion of insensitive default
10121         widgets. return handled=TRUE for activation of insensitive
10122         focus widgets. don't activate in either case.
10123
10124 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10125
10126         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10127         and $glib_cflags to match library order and in the
10128         theory that an old version of GLib is more likely to
10129         be in the include directory for X then vice-versa.
10130         (Bug #2776)
10131
10132 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10133
10134         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10135         to determine the locale for fontsets, not LC_MESSAGES;
10136         the user may want English messages with a handling
10137         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10138         will still be broken) (Bug #2891)
10139
10140 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10141
10142         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10143
10144 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10145
10146         * gtk/gtkrc.ko: Changed the Korean default fontset.
10147
10148 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10149
10150         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10151         where when scrolling to the left or top double exposes
10152         were done, causing major slowdowns.
10153
10154 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10155
10156         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10157         names to lowercase and alphanumeric, before looking
10158         them up.
10159
10160         * gtk/Makefile.am: Install codeset variant gtkrc files
10161         with normalized names.
10162
10163 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10164
10165         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10166         popup menus when the menu is already visible, but its parent
10167         is still hidden, (happens after tornoff window got hidden).
10168
10169 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10170
10171         * gtk/Makefile.am (install-data-local): Fix
10172         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10173         deleted, causing error messages on install.
10174
10175 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10176
10177         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10178         the handle as well, since we now sometimes ignore
10179         exposes on the handle while resizing.
10180
10181 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10182
10183         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10184         extra g_free introduced in one of the last one or two 
10185         commits.
10186
10187 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10188
10189         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10190         consistent, put each style that a gtkrc.* file creates
10191         in a unique namespace, remove old files before installing.
10192
10193 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10194
10195         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10196         gtk_rc_init is called multiple times. (Yes, people who
10197         do that have bugs in their code.)
10198
10199 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10200
10201         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10202         Remove it since it's generated by the Makefile anyway
10203
10204 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10205
10206         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10207         device->info.axes for core pointer.
10208
10209 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10210
10211         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10212         idle_id, to deal with obsolete, broken C libraries.
10213
10214 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10215
10216         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10217         allocation->x/y twice!
10218
10219         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10220         consistent with gtk_vscale_pos_trough().
10221
10222 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10223
10224         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10225         be queueing a resize on a toplevel container between
10226         the time we show it and when we map it. So, we need
10227         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10228         use GTK_WIDGET_DRAWABLE() for child windows.
10229
10230 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10231
10232         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10233         (fixes bug #2144)
10234
10235 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10236
10237         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10238         container DRAWABLE (instead of VISIBLE), so we don't queue
10239         resizes on non-toplevel containers.
10240
10241 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10242
10243         * gtk/gtkselection.[ch]: Make the data argument
10244         const guchar *.
10245
10246 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10247
10248         * gtk/gtkwindow.c: Try to behave sensibly if 
10249         the focus widget is the window itself. (Should
10250         we allow this at all?)
10251
10252 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10253
10254         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10255         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10256         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10257         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10258         in prototypes and implementations consistent (Tomas Ogren).
10259
10260         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10261         before the widget is unparented (reported by damon).
10262
10263         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10264         since we provide unsigned data anyways.
10265
10266 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10267
10268         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10269         the call to gtk_tooltips_layout_text() until later.
10270
10271         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10272         Call gtk_widget_ensure_style() before using the style.
10273
10274 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10275
10276         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10277         for old widgets that don't propagate draws to all
10278         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10279
10280 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10281
10282         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10283         for a redraw but just the widget that requested the resize.
10284
10285 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10286
10287         * gtk/gtkcontainer.c: added new widget level method
10288         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10289         reallocate_redraws : 1 to reflect the setting, exported this through
10290         the argument system as a boolean ::reallocate_redraws.
10291
10292         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10293         on the widget because the allocation changes, do so as well for
10294         widget->parent if the parent has reallocate_redraws set to TRUE.
10295         with that containers requesting reallocation redraws get automatically
10296         redrawn if their children changed allocation (this unfortunately
10297         affects also other children that didn't change allocation, but we
10298         cannot work around that before 1.3).
10299
10300 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10301
10302         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10303         _and_ height are >0 (not _or_).
10304
10305         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10306         instead of gtk_container_queue_resize(), which is a core gtk internal
10307         function (must have been on crack when i queued that).
10308
10309         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10310         we can check more reliably if we want to discard expose events.
10311         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10312         flag.
10313         
10314         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10315         we simply trust these events. for deciding whether to discard exposes,
10316         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10317         
10318 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10319
10320         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10321         queues of areas that are completely off screen.
10322
10323         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10324         logic for handleboxes.
10325
10326         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10327         check on width/height.
10328
10329 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10330
10331         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10332         we are fine with using $@ the way we do (if we actually encounter
10333         brokeness with $@ in VPATH builds because of additional path prefixes,
10334         we need to use $(@F) actually).
10335
10336 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10337
10338         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10339         short lived bugs, that would allow language bindings to do surgeries
10340         to our guts.
10341
10342 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10343
10344         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10345         where comparison was being done against an uninitialized
10346         value causing intermittant results depending on
10347         compiler flags. Also make it clearer that we aren't
10348         ever initializing the child as 0x0 (though this will
10349         be caught in gtk_widget_size_allocate())
10350
10351 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10352
10353         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10354         gtk_window_unset_transient_for() call after we do checks
10355         involving the old transient parent.
10356         [ From Lance Capser <lmc@cyberhighway.net> ]
10357
10358 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10359
10360         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10361         an empty file.
10362
10363 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10364
10365         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10366         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10367
10368 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10369
10370         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10371         `$@' is valid only in the build dir, not after we've done 
10372         `cd $srcdir'.  Also use `test -f' instead of less portable
10373         `test -e'.
10374
10375 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10376
10377         * gtk/gtktext.c (correct_cache_insert): Rewrite
10378          for simplicity, and hopefully correctness.
10379          (Fixes bug #1322, which was a segfault when
10380           on some insertions with the properties around
10381           the insertion set up just wrong.)
10382
10383         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10384          a "changed" signal, clamp the new value to the adjustment
10385          bounds to avoid segfaulting if someone tries to change
10386          the adjustment to a bogus value. (Bug #1795)
10387
10388 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10389
10390         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10391         for children, for toplevel windows handle them
10392         like delete_event.
10393
10394         * gtk/gtkplug.c: Add an unrealize handler so that
10395         we unref plug->socket_window when we are done
10396         with it.
10397
10398 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10399
10400         * gtk/gtktext.c (clear_area): Fix stupid signedness
10401          problem that was causing background to sometimes
10402          be misaligned.
10403
10404 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10405
10406         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10407         
10408         * gtk/gtkmenu.c (gtk_menu_position): Make
10409          sure we never position menus with negative x, y,
10410          since gtk_widget_set_uposition() can't handle that.
10411
10412         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10413          Modify the positioning code a bit so that we always
10414          put the top-left corner onscreen. (This is for
10415          UI reasons, gtk_menu_position() now takes care of
10416          gtk_widet_set_uposition() brokeness.)
10417
10418 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10419
10420         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10421
10422 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10423
10424         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10425           RC style that is passed in. The lack of the ref
10426           before was a bug. If people worked around this
10427           bug, this will introduce a slight memory leak
10428           in their code. The code should typically look like:
10429
10430             rc_style = gtk_rc_style_new ();
10431             [...]
10432             gtk_widget_modify_style (widget, rc_style);
10433             gtk_rc_style_unref (rc_style);
10434
10435         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10436           the style if it was already set.
10437
10438         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10439           style if it was set before.
10440
10441 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10442
10443         * gtk/testgtk.c (main): Add a check to see if we
10444           are being run from the correct directory and
10445           to quit nicely if we are not.
10446
10447         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10448           static.
10449
10450 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10451
10452         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10453
10454         * gtk/gtkwindow.c:
10455         queue resizes unconditionally (gtk_widget_queue_resize will figure
10456         what to do if the window is not realized).
10457         (gtk_window_move_resize): only recenter the window
10458         for GTK_WIN_POS_CENTER_ALWAYS.
10459         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10460         the same way as GTK_WIN_POS_CENTER.
10461
10462 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10463
10464         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10465         with (!(info->last_flags & GDK_HINT_POS)) instead of
10466         (!info->last_flags & GDK_HINT_POS).
10467
10468         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10469         new_height unconditionally, because we use these values even if
10470         !default_size_changed && !hints_changed.
10471         comented the (default_size_changed || hints_changed) case with
10472         respect to resize rejects from the window manager.
10473
10474         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10475         in the zvt condition hack, since this includes the window hints, set
10476         the hints after the handling_resize case.
10477
10478         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10479         window is initially shown with to the geometry.
10480
10481 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10482
10483         * gtk/gtkwindow.c (gtk_window_move_resize):
10484         s/size_changed/default_size_changed/g so i know what's
10485         really going on (frying brain on smaller flame now).
10486
10487 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10488
10489         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10490         we have size_changed upon handling_resize. this is a gross
10491         workaround for the broken zvt widget and should be removed in
10492         1.3 again (search for FIXME).
10493         Owen provided an accurate comment for this:
10494
10495         /* We could be here for two reasons
10496          *  1) We coincidentally got a resize while handling
10497          *     another resize.
10498          *  2) Our computation of size_changed was completely
10499          *     screwed up, probably because one of our children
10500          *     is broken. It's probably a zvt widget.
10501          *
10502          * For 1), we could just go ahead and ask for the
10503          * new size right now, but doing that for 2)
10504          * might well be fighting the user (and can even
10505          * trigger a loop). Since we really don't want to
10506          * do that, we requeue a resize in hopes that
10507          * by the time it gets handled, the child has seen
10508          * the light and is willing to go along with the
10509          * new size. (this happens for the zvt widget, since
10510          * the size_allocate() above will have stored the
10511          * requisition corresponding to the new size in the
10512          * zvt widget)
10513          *
10514          * This doesn't buy us anything for 1), but it shouldn't
10515          * hurt us too badly, since it is what would have
10516          * happened if we had gotten the configure event before
10517          * the new size had been set.
10518          */
10519
10520 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10521
10522         * gtk/gtkrc.c: deal properly with the fact that RC
10523           style lists may include rc styles more than once.
10524
10525         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10526           unused static function.
10527
10528         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10529           stack of directories of RC files currently being
10530           parsed and implicitely add them to pixmap path.
10531           
10532           This fixes a bug where the directory would get
10533           appended then overwritten by pixmap_path declarations.
10534
10535           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10536
10537         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10538           theme's exit function. (Patch from Peter Wainwright,
10539           bug #1454)
10540
10541         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10542           Add a destroy() handler to take care of removing
10543           group for menu item. (Fixes bug #1197)
10544
10545         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10546           in warning message.
10547
10548 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10549
10550         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10551         roundtrip to figure window's width and height, since we know that
10552         anyways from widget->allocation.
10553
10554 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10555
10556         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10557           the hints after we request the new size.
10558
10559 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10560
10561         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10562           GTK_WIDGET_REALIZED() assertion - we can compute the
10563           hints before we are realized.
10564
10565         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10566           hint changing so that we have a value of hints_changed
10567           when we decide whether to constrain the window size.
10568
10569         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10570
10571         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10572         change back to G_MAXINT.
10573
10574 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10575
10576         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10577         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10578         contain uncluttered values.
10579         (gtk_window_compute_hints): simply assert that window is realized
10580         and that geometry_info is valid, since we rely on this anyways.
10581         (gtk_window_constrain_size): major cleanups to the code.
10582         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10583         for the base size, instead of the minimums. use 32767 as max width
10584         and height (like in gtkwindow.c) instead of G_MAXINT.
10585
10586 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10587
10588         * cleaned up the GtkContainer.need_resize flag handling mess, we
10589         only need to force resize requests when we were prematurely
10590         realized, or our widget tree was modified when we were temporarily
10591         hidden. handling these cases directly upon showing the window (i.e.
10592         while the GdkWindow is still unmapped) avoids the need to wait for
10593         a configure event response and therefore makes the GUI more snappier
10594         and avoids blank windows during the roundtrip.
10595
10596         * gtk/gtkwidget.c:
10597         (gtk_widget_hide): 
10598         (gtk_widget_show): don't queue resizes on toplevels, they know how
10599         to deal with matters.
10600
10601         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10602         flag directly for not visible resize containers and spare us unecessary
10603         signal emissions.
10604
10605         * gtk/gtkwindow.c:
10606         (gtk_window_realize): if we need to enforce premature size allocation,
10607         queue a container resize so we are correctly resized later on.
10608         (gtk_window_init):
10609         (gtk_window_size_request):
10610         don't freak around with the ->need_resize flag,
10611         gtk_container_queue_resize() will care about that.
10612         (gtk_window_show):
10613         handle initial resizing issues here, we can handle matters better in
10614         this place, especially since we know that our GdkWindow is still
10615         unmapped.
10616         (gtk_window_move_resize):
10617         don't care about ->need_resize at all.
10618         handle size changes properly that occoured while we waited for a
10619         configure event.
10620
10621 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10622
10623         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10624         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10625         Move the hint setting code from gtk_widget_set_uposition
10626         to here; set the hints so that we respect any previously
10627         set geometry hints.
10628
10629         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10630         change the window hints here or move the window here,
10631         let that happen in gtk_window_move_resize().
10632
10633 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10634
10635         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10636         to already queued resizes (and therefore redraws) on a widget, check
10637         its anchestry as well.
10638
10639         * gtk/gtkcontainer.c:
10640         (gtk_container_queue_resize): clear resize widgets for resize
10641         containers before aborting prematurely. this is especially important
10642         for toplevels which may need imemdiate processing or their resize
10643         handler to be queued.
10644         (gtk_container_dequeue_resize_handler): added new internal function for
10645         gtkwindow.c.
10646
10647         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10648         configure event, take possible changes in window position into account
10649         as well.
10650         if we request a new window size, queue up a resize handler that will
10651         last until the configure event response arrives.
10652         combined the ->need_resize case (initial show) with the general size
10653         (hints) changed case and added even more comments.
10654         if !auto_shrink, only revert to the old allocation if the new size
10655         is smaller than the current allocation.
10656
10657 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10658
10659         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10660                            gtk_window_set_geometry_hints
10661                            gtk_window_set_default_size):
10662         When hints are set, queue a resize so that the hints will
10663         be eventually reset on the toplevel.
10664
10665         * gtk/gtkwindow.c (gtk_window_show): Use
10666         gtk_window_compute_default_size(). Clear the need_resize flag
10667         on the initail map so that we don't unnecessarily trigger the
10668         resize code.
10669
10670         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10671         into separate functions. Compare the hints we are setting
10672         with what we set last time so that we can accurately
10673         tell when we need to reset the hints.
10674
10675         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10676         function to figure out the size from requisition
10677         and default_size.
10678
10679         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10680         from fvwm to constrain a size to the geometry hints.
10681
10682         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10683         to compare two sets of geometry hints.
10684
10685         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10686         from gtk_window_set_hints(), just compute the hints,
10687         don't set them.
10688
10689         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10690         code from gtk_window_move_resize() to separate function,
10691         rationalize a bit.
10692
10693 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10694
10695         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10696         structure into a new private structure.
10697
10698         * gtkrc.c: Split GtkRcStyle into public/private.
10699         In the private part, add a list of pointers to the
10700         RcStyle lists this RcStyle participates in.
10701
10702         * gtkrc.c: When a RcStyle is free, remove all
10703         lists referencing it from the 
10704         realized_style_ht hash, and free those lists.
10705         
10706         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10707         gtk_rc_init(), since that adds the default styles
10708         to the list of parsed RC files again.
10709
10710         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10711         
10712 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10713
10714         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10715         checks that ensure that a widget's allocation is at least 1 in width
10716         and height. (GNOME note: this doesn't affect old panel code anymore,
10717         because GtkSocket will request width and height of at least 1 since
10718         Fri Jul 23).
10719
10720         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10721         allocated yet (happens if the user realizes the window prematurely),
10722         size request and allocate it.
10723         (gtk_window_size_allocate): guard against guint underflows.
10724
10725 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10726
10727         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10728         in gtk_built_sources, so gtk.defs gets built prior to all other
10729         sources.
10730
10731 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10732
10733         * gtk/Makefile.am:
10734         invoke indent on gtkmarshal.*. 
10735         rewrote source generation rules, use COPYING as oldest source tag for
10736         a piggyback rule to generate all sources from (don't touch it ;).
10737         major cleanups, strip spaces on build rules for GNU Make.
10738
10739         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10740         source and target files from commandline arguments. don't invoke indent.
10741
10742 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10743
10744         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10745         notebook after switch to avoid drawing problems.
10746         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10747         
10748         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10749         show them instead. 
10750         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10751
10752 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10753
10754         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10755         notebook after switch to avoid drawing problems.
10756         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10757         
10758         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10759         show them instead. 
10760         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10761
10762 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10763
10764         * gtk/gtkwindow.c:
10765         we use window->need_resize from configure_event now, to indicate that
10766         the gtkwindow should keep its allocation (e.g. because the user resized
10767         the window through window manager handles). resize_count is now reliably
10768         used to figure whether we got the allocation we requested from the
10769         window manager.
10770         configure events get queued as resizes now, the real stuff (size
10771         computation and allocation) now only goes on in gtk_window_move_resize().
10772         GtkWindow's requisition now contains its *real* requisition (like all
10773         other widgets), *not* taking usize into account.
10774         geometry_info->last_{width|height} is now updated from set_hints() only
10775         so it always contains the last hints we set for the window manager.
10776         made some event handlers return TRUE instead of FALSE.
10777         the overall code should be much more straight forward now, and the
10778         significant code portions are accompanied by comments now.
10779         (gtk_window_set_hints):
10780         removed requisition argument and made it
10781         fetch the requisition through gtk_widget_get_child_requisition.
10782         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10783         does that now.
10784         (gtk_window_show):
10785         ensure that the widget is realized before calling 
10786         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10787         ensure that we got properly size requested and allocated before
10788         realization.
10789         (gtk_window_configure_event):
10790         ignore plain window moves, or reallocate the widget tree through the
10791         resize queue otherwise.
10792         (gtk_window_move_resize):
10793         mostly rewrote this function to figure window manager hints more
10794         reliably, coalesce window moves and resizes to reduce configure events
10795         and do actuall size allocations.
10796
10797 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10798
10799         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10800         that have a resize pending, because a redraw is already queued for them.
10801
10802         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10803         hack to clear resize_widgets.
10804
10805         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10806         for resize containers prior to size allocation. (this is also a bit
10807         ugly, but avoids side effects for stopped emissions and is thus more
10808         reliable).
10809         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10810
10811         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10812         function from gtk_tooltips_expose, as we connect to ::expose_event
10813         *and* ::draw now.
10814
10815 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10816
10817         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10818         checks.
10819         (gtk_target_list_unref): Likewise.
10820
10821         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10822
10823 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10824
10825         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10826         guard against division by zero. (Fixes bug #1339)
10827
10828 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10829
10830         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10831         Prevent the trivial leak of information of allowing
10832         word motion when the entry is not visible.
10833
10834 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10835
10836         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10837         modality to error dialog as well as confirmation dialogs.
10838         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10839
10840 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10841
10842         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10843         tree->view_lines.
10844         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10845
10846         * gtk/Makefile.am (install-data-local): Solaris apparently
10847         has various troubles with ln -f; use rm first instead.
10848         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10849
10850 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10851
10852         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10853         use `cp' followed by `rm' (the `rm' was already there).
10854
10855 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10856         
10857         * configure.in: Fix autoconf warnings about cross compilation by
10858         trying to provide sane defaults for AC_TRY_RUN.
10859         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10860         put them into $(srcdir) when generated. Also add a dependency of
10861         gtksignal.h on gtkmarshal.h for -j builds. 
10862         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10863
10864 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10865
10866         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10867         GDK_THREADS_{LEAVE,ENTER} pair.
10868         (From Paul Fisher <pnfisher@redhat.com>)
10869
10870 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10871
10872         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10873         width and height are always >0 (owen).
10874
10875 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10876
10877         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10878         change that assured that a widget's allocated with and height are
10879         always >1, since this breaks *buggy* panel code. unfortunately this
10880         back-breaks the gimp's color selector.
10881
10882         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10883         allocation is always >0 in width and height, before sending the
10884         configure event; this is a *gross* hack to get the gimp back to work.
10885         
10886         * marked both cases with TODO-1.3
10887
10888 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
10889
10890         * gtk/gtktext.c: Don't display wrap indicators when
10891         text is not editable and word wrap is on.
10892
10893 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
10894
10895         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
10896         option menus here as they are not derived from menu shell, assure that
10897         the option menu has a menu we can add items to.
10898
10899 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
10900
10901         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
10902         width/height to (gint) before calculations and check against < 0 to
10903         avoid guint wraparounds.
10904
10905 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
10906
10907         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
10908         width and height is never zero. sanity check both dimensions against
10909         32767 and issue a warning if the allocation is greater than that.
10910
10911 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
10912
10913         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
10914         to g_main_pending() as well.
10915
10916 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
10917
10918         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
10919         call to g_main_iteration() - since that will regrab
10920         GTK+ lock to process events.
10921
10922 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
10923
10924         * gtk/gtkwindow.c
10925         - Regularize with the rest of GTK+ by making widget->requisition
10926           not reflect the set_usize()
10927         - Always recompute geometry hints, then check if they
10928           changed before sending them to the X server. The
10929           previous checks for changes would fail in a number
10930           of circumstances. 
10931
10932 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
10933
10934         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
10935
10936 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
10937
10938         * gtk/gtkdnd.c:
10939         - Code cleanups
10940         - Instantaneously update on modifier key presses
10941         - Allow cancellation of the drag with Escape.
10942
10943 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
10944
10945         * gtk/testgtk.c (create_handle_box): Set the policy
10946         to auto_shrink - otherwise the appearance is rather
10947         strange when flipping between horizontal and vertical.
10948
10949 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
10950
10951         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
10952         (gtk_window_set_default_size): don't change a value if it's < 0.
10953         queue a resize.
10954
10955 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
10956
10957         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
10958
10959 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
10960
10961         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
10962         add an extra "/" when concating "/" + filename.
10963         (From Matt Grossman <mattg@oz.net>)
10964
10965 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
10966
10967         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
10968         for fg_gc if we set it for drawing pixmap.
10969
10970 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
10971
10972         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
10973         
10974         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
10975         already set, call old engine's destroy function and
10976         unref the old engine.
10977
10978 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
10979
10980         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
10981
10982 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
10983
10984         * gtk/gtkaccelgroup.h: mark certain functions as internal.
10985
10986 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
10987
10988         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
10989         expand behaviour changed.
10990
10991         * gtk/gtklabel.c (gtk_label_set_pattern):
10992         (gtk_label_set_justify):
10993         (gtk_label_set_line_wrap):
10994         don't bother invoking queue_clear, the reallocation does
10995         that for us, always free_words so the upcoming resize will
10996         relayout the label's contents.
10997
10998 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
10999
11000         * applied argument implementation patches from Elena Devdariani
11001         <elena@cogent.ca>.
11002
11003         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11004         ::space_style, ::relief
11005         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11006         * gtk/gtkpreview.c: ::expand
11007         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11008         * gtk/gtknotebook.c: ::homogeneous
11009         * gtk/gtklabel.c: ::wrap
11010         * gtk/gtklist.c: ::selection_mode
11011         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11012         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11013         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11014         * gtk/gtkclist.c: ::sort_type
11015         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11016         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11017
11018 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11019
11020         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11021         comment.
11022
11023 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11024
11025         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11026         counting right when we have to attach a new style
11027         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11028
11029         * gtk/gtkstyle.c: Documented the refcounting
11030         peculularities of gtk_style_attach.
11031
11032 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11033
11034         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11035         window types.
11036
11037         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11038         of GTK_TOPLEVEL for creating the window.
11039
11040 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11041
11042         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11043         the last argument (reported by Per Winkvist).
11044         
11045 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11046
11047         Fixes for invisible XOR lines (Frank Loemker
11048         <floemker@TechFak.Uni-Bielefeld.DE>)
11049         
11050         * gtk/gtkclist.c (gtk_clist_realize): Always use
11051         a non-zero pixel for GDK_XOR.
11052
11053         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11054         Use GDK_INVERT instead of GDK_XOR.
11055
11056 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11057
11058         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11059         signals if h/voffsets differ from adjustment values.
11060         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11061
11062 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11063
11064         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11065         ::selection-done emissions up to the topmost menu shell.
11066
11067 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11068
11069         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11070         the user data on the window before destroying it.
11071
11072         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11073         unrealize handler to take care of destroying 
11074         notebook->panel properly. 
11075         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11076
11077         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11078         of g_new and g_realloc to stop memory leak. (Actually,
11079         we could just use g_realloc(), but I'm not 100% sure
11080         that is portable).
11081         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11082
11083 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11084
11085         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11086
11087         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11088         for fontsets.
11089
11090         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11091         with bin/button confusion.
11092
11093 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11094
11095         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11096         and show how preselection of radio items is done.
11097
11098 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11099
11100         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11101         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11102         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11103         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11104         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11105         * gtk/gtktable.c (gtk_table_attach): 
11106         * gtk/gtklist.c (gtk_list_insert_items): 
11107         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11108         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11109         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11110         * gtk/gtkbin.c (gtk_bin_add): 
11111         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11112         * gtk/gtkfixed.c (gtk_fixed_put): 
11113         * gtk/gtklayout.c (gtk_layout_put):
11114         general fixups to container_add logic. always realize child if
11115         child->parent is realized, only map the child and queue a resize
11116         if child and child->parent are both visible.
11117
11118 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11119
11120         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11121         instead of gtk_container_foreach to walk and unrealize children, so
11122         composite children get also unrealized.
11123         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11124         (gtk_widget_map): assert that the widget is visible (basic constrain).
11125         (gtk_widget_real_map): assert that the widget is realized (basic
11126         constrain).
11127
11128 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11129
11130         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11131
11132 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11135         file for iso-8859-2 locales.
11136
11137         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11138
11139 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11140
11141         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11142          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11143          Remove some suspicious and useless lines. 
11144
11145 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11146
11147         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11148         width,height = 0, 0 to mean - here to edge of window,
11149         instead of -1, -1, since the former is all we support.
11150
11151 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11152
11153         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11154         when removing from quit_functions list.
11155
11156 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11157
11158         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11159
11160 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11161
11162         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11163          When redrawing characters on non-visible entry, use appropriate
11164          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11165
11166 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11167
11168         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11169         from drag coordinates.
11170         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11171         use drag_dest_cell.
11172
11173         * gtk/gtktree (drag_dest_cell)
11174         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11175         (Bug #1129)
11176
11177 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11178
11179         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11180         translate_* fields.
11181         (gtk_item_factory_finalize): invoke translate_notify independant from
11182         translate_data.
11183         (gtk_item_factory_set_translate_func): likewise.
11184         (gtk_item_factory_destroy): only remove ifactory pointer from those
11185         widgets that belong to us (stupid me).
11186
11187 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11188
11189         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11190         rc_style list when lookup succeeeds.
11191
11192 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11193
11194         * gtk/gtkctree.c (resync_selection): 
11195         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11196         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11197         bug.
11198
11199 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11200
11201         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11202         Add some missing GDK_THREADS_ENTER()/LEAVE around
11203         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11204
11205 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11206
11207         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11208         rather than emit_by_name.
11209
11210         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11211         on the widget across multiple signal emissions.
11212         (gtk_editable_delete_text): same here.
11213         (gtk_editable_class_init): set widget_class->activate_signal after
11214         editable_signals[ACTIVATE] has been created.
11215
11216 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11217
11218         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11219         position here prematurely -- we might not have the
11220         right ->min_position and ->max_position yet.
11221
11222 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11223
11224         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11225         Add error traps so if the other end of the connection
11226         dies, we survive.
11227
11228         * gtk/gtkselection.c (gtk_selection_notify): Clean
11229         up properly when selection property retrieval fails.
11230         
11231         * gtk/gtkselection.c (gtk_selection_request): Correctly
11232         reject SelectionRequest notifies where the handler
11233         returns no data.
11234
11235 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11236
11237         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11238         when we've previously highlighted.
11239
11240         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11241         emit two "drag_leave" signals for Motif drops.
11242
11243         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11244         back the correct status messages when dropping from
11245         Motif onto a proxy window that is rejecting the
11246         drop.
11247
11248 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11249
11250         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11251         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11252         to compare two argument values. added gtk_arg_to_valueloc() to set a
11253         variable from an arg through its location (pointer).
11254
11255         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11256         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11257         as gfloat*, uchars are collected as guchar*, ints are collected as
11258         gint*, etc...
11259
11260 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11261
11262         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11263         Include <string.h> instead of <strings.h>.
11264
11265         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11266         (actually, a lot more duplicate includes occur if
11267          you trace through the sequence of #include's)
11268         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11269         
11270 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11271
11272         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11273         gtk-a-higuti-990322-[0-3]
11274
11275         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11276         that was causing -DX_LOCALE not to work.
11277
11278         * gtk/gtkrc.c (gtk_rc_init):
11279         X_LOCALE will never have LC_MESSAGES defined
11280
11281 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11282
11283         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11284         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11285
11286         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11287         left/right as well (gtk-michael-980726-0.patch.gz).
11288
11289         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11290         for pointer values, use gchar instead of char. fixed uline allocation
11291         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11292         chunks instead of G_ALLOC_ONLY.
11293         (gtk_label_size_request): always alter requisition as passed and leave
11294         widget->requisition alone.
11295         (gtk_label_set_text): allow NULL strings.
11296         (gtk_label_new): likewise.
11297
11298 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11299
11300         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11301
11302 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11303
11304         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11305         *and* mapped (i.e. drawable).
11306         (gtk_bin_expose): only send exposes to drawable children.
11307
11308         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11309         (gtk_box_expose): only send exposes to drawable children.
11310
11311         * gtk/gtkhscale.c (gtk_hscale_draw): 
11312         * gtk/gtkvscale.c (gtk_vscale_draw):
11313         hm, this is an ugly one. we first compute the size of our trough area
11314         here (window relative) and then check intersection with the draw_area
11315         which is parent relative because we're a NO_WINDOW widget, so we need
11316         to offset the trough area by allocation.x and allocation.y before the
11317         check. (this must not be done for the background area though, since
11318         that's already computed parent relative).
11319
11320 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11321
11322         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11323         unrealize title buttons.
11324
11325 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11326
11327         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11328         (gtk_clist_column_title_active): 
11329         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11330
11331         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11332         zero initialize event, removed superfluous gdk_window_get_pointer call
11333
11334         * gtk/gtklist.c (gtk_list_vertical_timeout)
11335         (gtk_list_horizontal_timeout): removed superfluous
11336         gdk_window_get_pointer call
11337
11338 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11339
11340         * plugging problems reported by "Bruce Mitchener, Jr."
11341         <bruce@puremagic.com> due to a purify session.
11342
11343         * gtk/gtkstyle.c:
11344         (gtk_style_ref): 
11345         (gtk_style_unref): assert ref_count to be > 0.
11346
11347         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11348         the requisition.
11349         (gtk_clist_set_shift): likewise.
11350
11351         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11352         adjustments.
11353
11354         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11355         event before sending it and set send_event to TRUE (which needs to
11356         be done for *all* synthesized events).
11357         (gtk_list_vertical_timeout): likewise.
11358
11359         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11360         leaks.
11361
11362         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11363         to TRUE when synthesizing events.
11364
11365 [ *** end of merges from 1.2 *** ]      
11366         
11367 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11368
11369         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11370         (or copied from gdkconfig.h.win32 on Win32, sigh).
11371
11372         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11373
11374         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11375
11376         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11377
11378         * gdk/gdkconfig.h.win32: New file.
11379
11380         * gdk/win32/makefile.cygwin: Build just a static archive here.
11381
11382         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11383         for the DLL from the static archive built above.
11384
11385         * gdk/gdk.def: Moved here from the win32 subdirectory.
11386
11387         * gdk/win32/*: Adapt for the changed private struct organisation.
11388
11389         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11390
11391 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11392
11393         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11394         for wheel mice (buttons 4 and 5).
11395
11396 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11397
11398         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11399         drawables use just the pixel field in the foreground and
11400         background GdkColor of the GdkGC.
11401
11402         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11403         GdkColors containing uninitialized (red,green,blue) fields, and
11404         just the pixel field filled in, and furthermore in the
11405         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11406         It thus turns out that we really don't need to have the full
11407         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11408         it later to have just the pixel values.
11409
11410 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11411
11412         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11413
11414 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11415
11416         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11417         New question on GtkLabel background colors.
11418
11419         * docs/gtk_tut.sgml:
11420           - Correct the example code callback
11421             function definitions.
11422           - Update the gtkdial example code, from Frans van Schaik.
11423           - Update setselection.c to current API.
11424
11425         * examples/Makefile examples/*/*.c: Update to code
11426         listed in tutorial.
11427
11428 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11429
11430         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11431         subrange table (from the "Developing International Software for
11432         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11433         block... Get the loaded font's charset correctly.
11434
11435         (Note that this, and the other *-win32.c files, still really are
11436         the old ones, the win32 subdirectory is not ready for compilation
11437         yet after the reorg.)
11438
11439 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11440
11441         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11442         check.
11443
11444 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11445
11446         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11447         on results of XQueryDeviceState().
11448
11449 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11450
11451         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11452         we need to accesss only ->children. We need an accessor
11453         for the children.
11454
11455         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11456         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11457         to get rid of gdkx.h include.
11458         
11459         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11460         and random references to 'None'.
11461
11462         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11463         Get rid of unused #include <gdk/gdkx.h>
11464
11465         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11466         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11467         gdkconfig.h.
11468
11469 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11470
11471         * gdk/win32/gdkdraw.c
11472         * gdk/win32/gdkfont.c
11473         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11474         following yesterday's changes. (Unrelated to Owen's reorg.)
11475
11476 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11477
11478         * gdk/x11/gdkinput-gxi.c: Add missing include,
11479           fix GdkWindowPrivate => GdkDrawablePrivate.
11480
11481         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11482
11483         * gdk/x11/Makefile.am (xinput_sources): Add missing
11484         backslash to fix building with --with-xinput=none
11485
11486 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11487
11488         Move all X specific code into the x11/ directory.
11489         Aside from shuffling things around, did the following:
11490
11491        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11492          gdk_arg_context_* - a simple argument parsing system
11493          in the style of popt.
11494
11495        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11496          gdk/x11/gdkprivate-x11.h:
11497          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11498          add ->klass and ->klass_data fields. The klass_data
11499          field points to an auxilliary structure that is
11500          windowing system dependent.
11501
11502        * gdk/gdkfont.c: Make most of the measurement functions
11503          simply wrappers around gdk_text_extents().
11504
11505        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11506          _gdk_font_strlen() function that hides the weird
11507          behavior in gtk+-1.[02] where a string is interpreted
11508          differently for 8-bit and 16-bit fonts.
11509
11510        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11511          to store common code for synthesizing double/triple
11512          press events.
11513         
11514        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11515          Make all the function that modify an existing GC
11516          simply wrappers around gdk_gc_set_values().
11517          
11518        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11519          for throwing out later.
11520
11521        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11522          GdkImagePrivate and GdkColormapPrivate to have a
11523          windowing system dependent part (GdkFontPrivateX etc.)
11524          that "derives" from the system-independent part.
11525
11526        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11527          Got rid of the included-source-files for XInput in
11528          favor of automake conditionals. (Which didn't exist
11529          when XInput support was originally added.)
11530
11531        * gdk/gdkrgb.c: Remove the visual id from the debugging
11532          statements since that is X11 specific; print out
11533          type/depth info instead.
11534          
11535
11536 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11537
11538         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11539         loading duplicates of hashed fonts.
11540
11541         * gdk/gdk.c (gdk_keysym_convert_case): rename
11542         gdk_XConvertCase to gdk_keysym_convert_case, allow
11543         results to be NULL in the GTK+ style.
11544
11545         * gdk/gdkcompat.h: Started compatibility header
11546         for renames.
11547
11548 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11549
11550         * gdk/win32/gdkprivate.h: New font private structures, related to
11551         fontsets.
11552
11553         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11554         gdk_font_list_free(). On X11, will just be wrappers to
11555         XListFonts() and XFreeFontNames(). On Win32, the code previously
11556         in gtkfontsel.c is now here.
11557
11558         New function gdk_font_xlfd_create(). On X11 will get the FONT
11559         property of the font (for GDK_FONT_FONTs), or call
11560         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11561         builds a XLFD style name from the font information in the LOGFONT
11562         struct(s).
11563
11564         New function gdk_font_xlfd_free(), which correspondingly frees the
11565         string returned by gdk_font_xlfd_create().
11566
11567         Implement fontsets on Win32. Add a function that iterates over a
11568         wide char string and calls a callback function for each substring
11569         of wide chars from the same Unicode subrange (and thus probably
11570         available in the same real font).
11571
11572         Improve the XLFD emulation a bit.
11573
11574         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11575
11576         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11577         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11578         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11579         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11580         ImmGetCompositionStringW() to get the composed Unicode chars.
11581
11582         * gdk/win32/gdkgc.c
11583         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11584         struct changes.
11585
11586         * gdk/win32/gdk.def: Add the new functions.
11587
11588 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11589
11590         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11591         get the Platform SDK to get <dimm.h>.
11592
11593         * gdk/win32/gdkevents.c: More event handling fixes and
11594         simplification. Never generate motion events with is_hint true. We
11595         used to do that on bogus grounds earlier. Windows sends
11596         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11597         moved, ignore these.
11598
11599         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11600
11601         * gdk/win32/gdkglobals.c
11602         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11603         the TrackMouseEvent function, and use it.
11604
11605         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11606         char before calling WideCharToMultiByte in order to get a string
11607         for the window title.
11608
11609         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11610
11611         * gdk/win32/gdk.def: Remove obsolete functions.
11612
11613         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11614         /nodefaultlib and /defaultlib switches.
11615
11616         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11617
11618 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11619
11620         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11621         EuroSign).
11622
11623         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11624         same type as GdkWChar, especially on Win32.
11625
11626         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11627
11628         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11629         before passing to Windows GDI for drawing etc. Convert to the
11630         system default codepage before passing to Windows as window
11631         titles.
11632
11633         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11634         support changing input locale on the fly.
11635
11636         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11637         on-the-fly changes. Convert incoming characters from the current
11638         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11639         on the current input language. Use keysym<->Unicode mapping tables
11640         and functions borrowed from xterm sources.
11641
11642         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11643         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11644         Manager) if available. IMEs and the Active IMM are available under
11645         the disguise of Chinese, Korean and Japanese support for IE and
11646         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11647         support is present in all editions (as long as you install it).
11648
11649         Call DispatchMessage from gdk_events_queue() (and thus
11650         gdk_WindowProc()), instead of duplicating the code in
11651         gdk_WindowProc().
11652
11653         Reworked the grab handling and propagation code, factored out
11654         duplicated code snippets into separate functions. Other cleanups,
11655         too.
11656
11657         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11658         the <dimm.h> header describing the Active IMM.
11659
11660         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11661         just do the same as for "single" fonts.
11662
11663         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11664         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11665         the new keysyms from gdkkeysyms.h.
11666
11667         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11668         fontset, so that gtkentry uses wide characters.
11669
11670         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11671         GTk+'s system directory "gtk+", not "gtk".
11672
11673 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11674
11675         * docs/gtkfaq.sgml: FAQ update
11676
11677 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11678
11679         * gdk/win32/gdkprivate.h: Add more font private data.
11680
11681         * gdk/win32/gdkfont.c
11682         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11683         fonts and strings. Now works much better. You still have to
11684         have a correct font selected, though. No fontset emulation yet.
11685
11686 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11687
11688         * gtk/maketypes.awk: Use G_OS_WIN32.
11689
11690         * gtk/gtk.def: Add some missing entry points. Also some non-public
11691         ones, but PyGTK porter claims to need them.
11692
11693         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11694         built-in type generation.
11695
11696 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11697
11698         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11699         GDK_FONT_FONT fonts (which is all we have for now, we don't
11700         emulate fontsets). The X11 version uses plain XDrawString in that
11701         case, too. The string passed to gdk_draw_text_wc seems to be in
11702         fact (at least, when used by gtkentry and gtktext) either in a
11703         single-byte charset, or a DBCS. Not Unicode.
11704
11705         This fixes the problem in gtkfontsel, where even if you had
11706         selected a font with a non-Latin1 charset (windows-greek, for
11707         instance), the preview still used Latin-1 glyphs.
11708
11709         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11710         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11711         (gdk_font_load): Recognize the demibold etc weights, even if we
11712         don't have the corresponding constants in the headers.
11713         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11714         version. Should save font resources a bit, when we don't have
11715         multiple HFONTs for the same font.
11716
11717         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11718         version.
11719
11720 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11721
11722         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11723         X values
11724
11725 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11726
11727         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11728         layout support (as mentioned on
11729         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11730
11731 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11732
11733         * gtk/fnmatch.c
11734         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11735
11736 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11737
11738         * configure.in (ALL_LINGUAS): Added Galician (gl)
11739
11740 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11741
11742         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11743
11744         * gdk/win32/gdkcompat.c: New file, actually provide an
11745         implementation for the deprecated functions. (Just temporarily.)
11746
11747         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11748
11749         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11750
11751         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11752
11753 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11754
11755         * configure.in: Added "uk" to ALL_LINGUAS.
11756         
11757 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11758
11759         * configure.in: correct checking for BeOS check
11760
11761         * gdk/gdktypes.h
11762         * gtk/fnmatch.c
11763         * gtk/gtkfilesel.c
11764         * gtk/gtkitemfactory.c
11765         * gtk/gtkmain.[ch]
11766         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11767
11768 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11769
11770         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11771         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11772         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11773         by Bulgarian). 
11774
11775 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11776
11777         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11778         Fix a reference to window_private->destroyed.   
11779
11780         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11781         (ugly) setting of an internal GdkWindow member to use
11782         a _slightly_ cleaner macro.
11783
11784         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11785         GdkDrawablePrivate and GdkWindowPrivate.
11786         Add extra macros for accessing GDK_DRAWABLE_ components.
11787
11788         * *.[ch]: Massive adjustments for the above, use the
11789         new macros in a lot of places.
11790
11791 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11792
11793         * gdk/gdktypes.h: Make GdkDrawable the base type,
11794         not GdkWindow.
11795
11796 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11797
11798         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11799
11800 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11801
11802         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11803
11804 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11805
11806         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11807         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11808
11809         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11810
11811         * docs/gtk-config.1: Now autogenerated.
11812         * docs/Changes-1.4.txt: started
11813         
11814 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11815
11816         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11817         to #ifdef also here.
11818
11819         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11820         Owen did to the X11 backend.
11821
11822         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11823         ScrollWindowEx when blitting inside a window, it can't be correct
11824         in the general case.
11825
11826         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11827         WM_GETMINMAXINFO is easier.
11828
11829         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11830         depth equal to the bitspixel value, not the visual's depth.
11831
11832         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11833         to 24 even if the bitspixel value is 32.
11834
11835         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11836         need to check for depth==32 when bpp==32, depth will always be 24.
11837
11838 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11839
11840         * docs/Changes-1.4.txt: Started
11841         
11842         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11843
11844         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11845         
11846         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11847         into C file.
11848         
11849         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11850         header to gdkinputprivate.h.
11851
11852         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11853         unused since before 1.2.
11854
11855 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11856
11857         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11858         expand possible hex escapes in the font family (put there by
11859         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11860         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11861         On Win32, add hex escapes here, too.
11862
11863 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11864
11865         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11866         to #ifdef GDK_WINDOWING_X11.
11867
11868 [ Merges from gtk-1-2 ]
11869
11870 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11871
11872         * configure.in: fixed "GNU Make" check to pass with new make version
11873         3.77.95.
11874
11875 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11876
11877         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11878         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11879         AM_PATH_GTK() macros don't get confused by the -pre1.
11880
11881 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11882
11883         * configure.in (REBUILD): Change check for perl5
11884           to check explicitely for v >= 5.002. (5.001
11885           does not work with our scripts.)
11886
11887 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
11888
11889         * configure.in: evaluate $PERL for the perl version check. added
11890         --disable-rebuilds to give the user an option to completely disable
11891         any source autogeneration rules.
11892
11893 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
11894
11895         * configure.in: evaluate $ac_make when checking for GNU Make.
11896
11897 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11898
11899         * docs/Makefile.am: added generation.txt.
11900
11901         * Makefile.am: require automake 1.4, build README from README.in and
11902         INSTALL from INSTALL.in in dist-hook.
11903         
11904         * README.in:
11905         * INSTALL.in: new files to autogenerate README and INSTALL from.
11906
11907         * configure.in: figure whether we have GNU Make
11908
11909         * docs/generation.txt: minor additions/corrections.
11910
11911 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11912
11913         * docs/gtkfaq.sgml: FAQ Update
11914
11915 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11916         
11917         * configure.in: Fix autoconf warnings about cross compilation by
11918         trying to provide sane defaults for AC_TRY_RUN.
11919
11920 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
11921
11922         * ltconfig
11923         * ltmain.sh: upgrade to libtool 1.3.3
11924
11925 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
11926
11927         * INSTALL: Indicate that the --with-glib= configure
11928         time flag is unsupported.
11929
11930 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
11931
11932         * docs/generation.txt: Added a file that gives
11933         documenation about the autogeneration process for
11934         various autogenerated files.
11935         
11936 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11937
11938         * configure.in (LIBS): Look for libgmodule in the
11939         right location.
11940
11941 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
11942
11943         * docs/gtk_tut.sgml: Removed references to
11944         code examples in my directory on gtk.org as
11945         they should all be in the tutorial now.
11946
11947         * docs/gtk_tut.sgml: Added sources for dial-test
11948         and scribble-xinput programs that were previously
11949         missing.
11950
11951 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
11952
11953         * TODO: Added entry about menu keyboard navigation, removed
11954         some finished items.
11955
11956 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
11957
11958         * acinclude.m4: Standardize on func_dgettext
11959         not func_gettext, so that the checks for dgettext
11960         actually are paid attention to.
11961
11962 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
11963
11964         * configure.in (LIBS): Add $INTLLIBS into $LIBS
11965         directly, rather than repeating the checks for
11966         gettext.
11967
11968         * INSTALL: Added information about gettext and
11969         NLS support.
11970
11971         * acinclude.m4 (LIBM): Check for dgettext, not
11972         just gettext. This should hopefully fix things wrt
11973         systems with old versions of GNU gettext installed.
11974
11975 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11976
11977         * configure.in (LIBS): Look for libgmodule in the
11978         right location.
11979
11980 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11981
11982         * autogen.sh: add --enable-maintainer-mode
11983
11984         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
11985
11986 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
11987
11988         * docs/gtk-config.1.in:
11989           docs/Makefile.am:
11990           configure.in: gtk-config is now generated.
11991
11992         * docs/gtk-config.1: Removed, now generated.
11993
11994 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
11995
11996         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
11997         handle CreateNotify itself, still put out a debuging message for
11998         --gdk-debug=events. made the ReparentNotify debugging message more
11999         verbose.
12000         wrap xcoords translation for ConfigureEvents into an error trap,
12001         a destroy event may already be pending, and in that case, the
12002         actuall coordinate values are not at all critical.
12003
12004 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12005
12006         * gdk/gdkcc.c: Stop leaking the color_hash all over
12007         the place. Simplify and improve the logic.
12008
12009 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12010
12011         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12012         for prototypes and function implementations consistent (reported
12013         by Tomas Ogren).
12014
12015 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12016
12017         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12018         send_event set in debugging output.
12019         (gdk_compress_exposures): default initialize the event so we don't
12020         operate on bogus values (namely send_event).
12021
12022 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12023
12024         * gdk/gdkwindow.c: When we receive an unexpected
12025         destroy notify on one of our windows, don't just
12026         warn about it, also mark our windows as destroyed.
12027
12028 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12029
12030         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12031           name => font and name => fontset hashes. The 
12032           name => fontset hash is a _big_ win since we
12033           weren't previously caching fontsets at all and loading
12034           fontsets is expensive. The name => font hash
12035           is less of a win, but it does save us from doing
12036           repeated XQueryFont calls on the same font.
12037
12038         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12039           list so we can remove font/fontset from hash.
12040
12041 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12042
12043         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12044           and slightly confusing test. [ XInternAtom (,,TRUE)
12045           will never return None ].
12046
12047 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12048
12049         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12050           gdk/gdkwindow.c (gdk_window_set_hints):
12051
12052         Don't omit setting the properties if flags == 0 -
12053         there may be an existing set of properties there
12054         already. (Very old bug. Would it be better to
12055         delete the property instead?)
12056
12057         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12058           spelling error in comment.
12059
12060 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12061
12062         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12063           to avoid stomping over gdk_error_warnings.
12064
12065         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12066           as (bits_per_pixel + 7) / 8. This gives the same
12067           result as before for multiples of 8, but actually
12068           a "reasonable" value for 1bit or 4bit displays.
12069
12070 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12071
12072         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12073         GNU Make.
12074
12075 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12076
12077         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12078         discarding configure events.
12079
12080 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12081
12082         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12083         refcount is greater than zero.
12084
12085         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12086
12087         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12088
12089         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12090
12091         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12092
12093 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12094
12095         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12096         that format 32 => sizeof(item) == 4. It really is
12097         sizeof(long).
12098
12099 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12100
12101         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12102         core dump at all on X IO errors, only core dump
12103         if --enable-debug for X errors.
12104
12105 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12106
12107         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12108         unknown window:" message. disabled ConfigureNotify discarding code,
12109         because it led to events being processed out of order.
12110
12111 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12112
12113         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12114
12115         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12116         we export this function, supress error warnings and don't reset the
12117         error code in the first half of this function.
12118
12119         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12120         code (instead of just -1) so gdk_error_trap_pop() reveals something
12121         actually informative about the error that happened.
12122
12123         * gdk/*.c:
12124         don't rely on gdk_error_code being -1 if an error occoured, but just
12125         gdk_error_code != 0.
12126
12127 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12128
12129         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12130         pointer *before* invoking the filter function, so we at least don't
12131         crash if a filter is removed that is currently executed. window filters
12132         *really* need to be made truely reentrant at some point.
12133
12134 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12135
12136         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12137         PropertyNotify debug messages.
12138
12139 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12140         
12141         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12142         
12143         * gdk/gdkim.c: Fix cut-and-paste errors for 
12144         x/y and PreeditAttributes/StatusAttributes.
12145
12146 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12147
12148         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12149         G_MAXINT to 2^16 to alleviate overflow problems in
12150         various window managers.
12151
12152 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12153
12154         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12155         for fontsets.
12156
12157 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12158
12159         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12160         Initialize size_hints.x and size_hints.y because kwm
12161         brokenly pays attention to them.
12162         (Bug #1181 -  Lars Heete <hel@admin.de>)
12163
12164 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12165
12166         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12167         return value of gdk_list_visuals(). 
12168         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12169
12170 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12171
12172         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12173         XSetIMValues to (void *) when comparing to NULL, to workaround
12174         the problem of some compilers barfing since older X headers don't
12175         have the prototype for it.
12176
12177 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12178
12179         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12180         for pseudocolor where colormap->colors was double
12181         allocated.
12182
12183         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12184         color value in the hash table with the pixel filled
12185         in so when we do later hash table lookups, the color
12186         value is correct.
12187         
12188 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12189
12190         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12191         making the call
12192
12193 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12194
12195         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12196         pointed out by Morten Welinder <terra@diku.dk>.
12197
12198 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12199
12200         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12201           default filter from the list
12202
12203 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12204
12205         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12206           default filter from the list
12207
12208 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12209
12210         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12211
12212         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12213         g_strdup_printf instead of calcing the length separately
12214
12215 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12216
12217         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12218         that we don't do in many other places. (Fixing duplicate 
12219         #include of config.h)
12220
12221         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12222         Otherwise, #ifndef XINPUT_NONE check in the latter
12223         doesn't work. (Bug #546)
12224
12225 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12226
12227         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12228         "None" case insensitive.
12229
12230 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12231
12232         * gdk/gdkselection.c: 
12233         Add error traps so if the other end of the connection
12234         dies, we survive.
12235
12236 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12237
12238         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12239         dest_xid field into two fields - one for the window
12240         to send in messages, one to indicate the last looked
12241         up window for caching purposes. This is needed, so
12242         that Leave messages get the correct window.
12243
12244 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12245
12246         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12247         Fix warning created by people mucking around
12248         with the gsource API.
12249
12250         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12251         Change mapping between GIOCondition and GdkInputCondition
12252         to match the way the Linux kernel does it. This should
12253         fix problems where closed pipes were no longer signalling
12254         GDK_INPUT_READ on systems with a native poll().
12255
12256 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12257
12258         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12259         explicitly for the string "None" - it is in the XPM
12260         spec and some servers treat unknown colors in odd ways
12261         (like asking the user!)
12262
12263 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12264
12265         * gdk/gdkevents.c: made "->" into a "." of previous change so
12266         it compiles
12267
12268 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12269
12270         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12271         window field of the event structure before calling
12272         user filters.
12273
12274 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12275
12276         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12277         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12278
12279 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12280
12281         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12282         intermediate text property - prevents major memory
12283         leak when gdk_use_mb.
12284         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12285
12286 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12287
12288         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12289         gtk-a-higuti-990322-[0-3]
12290
12291         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12292         sizeof(wchar_t) != sizeof (GdkWChar)
12293
12294         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12295         that was causing -DX_LOCALE not to work.
12296
12297         * gtk/gtkrc.c (gtk_rc_init):
12298         X_LOCALE will never have LC_MESSAGES defined
12299
12300         * gdk/gdk.c (gdk_init_check):
12301         Remove --xim-preedit and --xim-status from argv properly.
12302
12303         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12304         that the client window is present on the X server
12305         before we pass it to the input method.
12306
12307 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12308
12309         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12310         if --display is specified on the command line, than
12311         the drag window will not be created on that display.
12312         
12313 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12314
12315         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12316         lookups with only_if_exists == TRUE were inserting
12317         bogus values into the atom cache.
12318
12319 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12320
12321         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12322         then reset it to NULL.
12323
12324         * gdk/gdkcolor.c:
12325         (gdk_colors_free): 
12326         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12327         key for g_hash_table_remove() in both functions, this prevents us
12328         from accessing possibly uninitialized portions of a GdkColor structure
12329         where we are only interested in its pixel value.
12330
12331 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12332
12333         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12334         font hash table, if we have a GdkFontPrivate entry for this font
12335         already, simply increment its reference count, provided by Olaf Dietsche
12336         <olaf.dietsche+list.gtk@netcologne.de>.
12337
12338 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12339
12340         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12341         just to be sure.
12342
12343         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12344         unused variables, leftovers from the X11 version.
12345
12346         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12347
12348         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12349         downcase fields on X11.
12350
12351 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12352         
12353         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12354         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12355
12356 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12357
12358         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12359
12360         * gtk/makefile.msc: Correct path to libintl.
12361
12362         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12363         use of gint vs. int, and gint vs. gboolean in headers and
12364         definitions. Use GtkType for the *_get_type functions. Note that
12365         these changes preserve binary compatibility.
12366
12367         * gdk/gdk.c
12368         * gdk/win32/gdk.c
12369         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12370
12371         * gtk/gtkmain.c
12372         * gtk/gtkclist.c
12373         * gtk/gtkmenufactory.c
12374         * gtk/gtknotebook.c
12375         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12376         vs. gboolean.
12377
12378         * gtk/gtkcolorsel.[ch]
12379         * gtk/gtkcombo.[ch]
12380         * gtk/gtkdrawingarea.[ch]
12381         * gtk/gtkgamma.[ch]
12382         * gtk/gtkhandlebox.[ch]
12383         * gtk/gtkhpaned.[ch]
12384         * gtk/gtkhruler.[ch]
12385         * gtk/gtkplug.[ch]
12386         * gtk/gtkpreview.[ch]
12387         * gtk/gtkruler.[ch]
12388         * gtk/gtksocket.[ch]
12389         * gtk/gtkstatusbar.[ch]
12390         * gtk/gtktoolbar.[ch]
12391         * gtk/gtkvbbox.[ch]
12392         * gtk/gtkvpaned.[ch]
12393         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12394         functions.
12395
12396         * gtk/gtkgamma.h: Fix bug, missing () in call of
12397         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12398
12399 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12400
12401         * gdk/gdkcolor.c (gdk_colormap_new)
12402         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12403         colormap->colors was allocated twice.
12404
12405         * gdk/win32/gdk.c: Remove some unused stuff.
12406
12407         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12408         colormap.
12409
12410         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12411         * gtk/gtklabel.h (gtk_label_get_type)
12412         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12413         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12414         in a couple of places, not guint.
12415
12416 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12417
12418         * configure.in,po/et.po: added Estonian language file
12419
12420 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12421
12422         * configure.in,po/da.po: added Danish file
12423
12424 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12425
12426         * docs/gtkfaq.sgml: Minor FAQ Update
12427
12428 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12429
12430         * docs/gtkfaq.sgml: FAQ update
12431
12432 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12433
12434         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12435         way to get window contents continually refreshed while resizing. I
12436         didn't like the effects myself, so it's not on by default.
12437
12438         * gdk/win32/gdkprivate.h: New flag variable
12439         gdk_event_func_from_window_proc, FALSE by default.
12440
12441         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12442         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12443         are passed --gdk-event-func-from-window-proc.
12444
12445         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12446         and we have am event_func, call it instead of enqueing the event.
12447
12448 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12449
12450         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12451         Kelley: Set expose_count in GdkEventExposes correctly.
12452
12453         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12454         MULTIPLE_WINDOW_CLASSES).
12455
12456         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12457         for bug in NT, apparently NT *does* draw the end pixel, too, in
12458         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12459
12460 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12461
12462         Improvements by Hans Breuer: 
12463
12464         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12465
12466         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12467         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12468         window contents while dragging" is turned on. Allocate at least
12469         one unique class for every GdkWindowType. If support for single
12470         window-specific icons is ever needed (eg. Dialog specific), every
12471         such window should get its own class.
12472
12473 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12474
12475         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12476         error that caused crashes.
12477
12478 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12479
12480         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12481         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12482         bugs when for instance part of the window was outside the
12483         display. Thanks to Philippe Colantoni for finding and fixing this.
12484
12485 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12486
12487         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12488         endpoint calculations which were totally wrong. (A little RTFMing
12489         helps a lot ;-)
12490
12491         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12492         from a separate directory, not from gettext, because of licensing
12493         issues (we want to use the LGPL version).
12494
12495         * README.win32: Mention the intl from glibc vs from gettext issue.
12496
12497 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12498
12499         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12500         in the key event handling: Now AltGr chars work again. Also,
12501         now Alt-digits are passed up as well as Control-digits.
12502         Pass keypad plus and minus as normal plus and minus.
12503
12504 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12505
12506         * docs/gtkfaq.sgml: FAQ Update
12507
12508 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12509
12510         * README.win32
12511         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12512         the Wintab SDK.
12513
12514         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12515         OK, but getting closer. Guard against bogus tilt data from Wacom
12516         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12517         enable easier building without Wintab.
12518
12519         * gdk/win32/gdkinput.h
12520         * gdk/win32/gdkevents.c 
12521         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12522         
12523         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12524         code. As we have just one visual on Win32, no sense to have it in a
12525         table, and no need for the hash table.
12526
12527         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12528         better on white background.
12529
12530 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12531
12532         * README.win32: Update gcc build instructions. Mention gettext is
12533         GPL.
12534
12535         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12536         supported cursor size with GetSystemMetrics.
12537
12538         * gdk/win32/gdkfont.c
12539         * gtk/gtkfontsel.c: Guard against some font weight and charset
12540         symbols being undefined (in mingw32 headers).
12541
12542         * gdk/win32/makefile.cygwin
12543         * gtk/makefile.cygwin
12544         * gtk/gtkthemes.c: No longer need to have differently named
12545         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12546
12547 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12548
12549         * docs/gtkfaq.sgml: Long awaited FAQ update.
12550
12551 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12552
12553         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12554         it. Obscure bit manipulation needed.
12555
12556         * gdk/win32/gdkevents.c: Logging.
12557         
12558         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12559         style (file name include compiler name) for theme engines.
12560
12561 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12562
12563         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12564
12565         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12566         events. The key.string wasn't zero-terminated, still we strdup'ed
12567         it in gdk_event_copy(). Synthesize crossing events for button
12568         events before possible propagation.
12569
12570         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12571
12572         * gdk/win32/makefile.cygwin
12573         * gtk/makefile.cygwin: Use new DLL naming style for the
12574         GCC-compiled ones.
12575
12576         * gdk/win32/makefile.msc
12577         * gtk/makefile.msc: Cosmetics mostly.
12578
12579         * gtk/gtk.def: Add missing entry points.
12580
12581         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12582
12583 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12584
12585         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12586         or height is zero. Don't print a warning if Pie or Arc fails, they
12587         always fail (?) for very narrow ellipses.
12588
12589         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12590         the part or the destination window corresponding to source area
12591         outside of the source drawable's boundary.
12592
12593         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12594         anything if less than two points.
12595
12596         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12597         return NULL. Gtk cut-and-paste inside a single program works
12598         better this way. (It always gets the clipboard contents from
12599         Windows, not from its own copy, which is cleared anyway. I can't
12600         say I fully understand what happens... Emulating the X selection
12601         and property stuff is a bit of a mess.)
12602
12603         * gdk/win32/gdkevents.c
12604         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12605
12606         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12607         that never got deleted). Revamp gdk_region_shrink.
12608
12609         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12610         after use.
12611
12612         * gtk/gtk.def: Add some missing entry points.
12613
12614         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12615         component.
12616
12617 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12618
12619         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12620         Control-digits specially.
12621
12622 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12623
12624         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12625
12626 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12627
12628         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12629         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12630         finding this.)
12631
12632 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12633
12634         * gtk+.spec.in: Corrected some typos in files section.
12635         
12636 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12637
12638         * README.win32: Mention using GNU gettext.
12639         * config.h.win32: Enable NLS stuff.
12640         * gtk/makefile.msc: Use GNU gettext.
12641         * gdk/win32/gdkdnd.c: Minor header reorg.
12642         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12643         cosmetics.
12644         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12645         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12646
12647 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12648
12649         * acinclude.m4
12650         * config.guess
12651         * config.status
12652         * ltconfig
12653         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12654
12655 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12656
12657         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12658         SafeAdjustWindowRectEx. Don't override all calls to
12659         AdjustWindowRectEx by it, but use it only in two places: When
12660         creating a new top-level window and when moving a top-level
12661         window.
12662
12663         Use screen coordinate rectangle, not client rectangle, in
12664         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12665         when we try to place a window so that the decoration (mainly,
12666         title bar) isn't visible.
12667
12668         These changes fix the bug that showed up for instance as the
12669         GIMP's saved top-level windows moving right and down (by an amount
12670         equal to the window decoration) for each session. This bug showed
12671         up also in testgtk's "Saved Position".
12672
12673         gdk_window_resize also redone a bit.
12674
12675 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12676
12677         * gtk/testgtkrc: Add (commented out) Windows-style theme
12678         include line.
12679
12680         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12681
12682 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12683
12684         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12685         gdkx.h to a gdk subdirectory, so that applications can include
12686         these with <gdk/*.h> without trouble.
12687
12688         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12689         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12690         have their bitmap destroyed.
12691
12692         * gdk/win32/gdk.def: Add gdk_root_parent.
12693
12694 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12695
12696         * configure.in
12697           gtk-config.in
12698           ltconfig
12699           ltmain.sh     
12700           gtk/Makefile.am: changes to compile nicely (with xlib) 
12701           on BeOS
12702
12703 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12704
12705         * acinclude.m4
12706         * config.guess
12707         * config.sub
12708         * ltconfig
12709         * ltmain.sh: upgrade to libtool 1.3
12710
12711 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12712
12713         * gtk/gtkclist.c:
12714         * gtk/gtkctree.c: merges from gtk-1-2
12715
12716 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12717
12718         Support added for building using a GNU toolchain on Win32,
12719         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12720
12721         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12722         * config.h.win32: Changes for gcc.
12723         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12724         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12725         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12726         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12727         Protect shl stuff unavaiilable with mingw32 headers.
12728         * gdk/win32/gdkevents.c: Fix typo.
12729         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12730         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12731         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12732         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12733         the mingw32 headers.
12734         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12735         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12736         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12737         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12738         Test for NATIVE_WIN32, not _MSC_VER.
12739         * gtk/gtkmain.c: No use warning about developer version on Win32,
12740         there aren't any non-developer versions anyhow.
12741         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12742         * gtk/makefile.msc: Use pthread from another directory. Minor other
12743         changes. 
12744
12745 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12746
12747         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12748           default filter from the list
12749
12750 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12751
12752         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12753          when gtk_widget_grab_default() is called for a widget that
12754          is not within a GtkWindow.
12755
12756 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12757
12758         * docs/gtk_tut.sgml, examples/clist.c: use a
12759           scrolled window in the clist example. Minor
12760           tutorial fixes.
12761
12762 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12763
12764         * docs/gtk_tut.sgml: Style check from David King
12765           <dking@youvegotmail.net>
12766
12767 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12768
12769         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12770         compile with unknown value of GDK_WINDOWING
12771
12772 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12773
12774         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12775         after the rule is fired.
12776         (install-exec-local): Install gdkconfig.h only if the contents are
12777         different from the currently installed gdkconfig.h.
12778
12779 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12780
12781         * gdk/Makefile.am (configexecincludedir): Rename from 
12782         configincludedir so that gdkconfig.h will be installed 
12783         as part of `make install-exec'. 
12784
12785 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12786
12787         * acinclude.m4
12788         * config.guess
12789         * config.sub
12790         * ltconfig
12791         * ltmain.sh: upgrade to libtool 1.2f
12792
12793         * autogen.sh: libtool is not required to autogen gtk+
12794
12795         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12796         needed)
12797
12798 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12799
12800         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12801         declaring gdk variables exported/imported from the DLL. New image
12802         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12803         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12804         GDK_DRAG_PROTO_OLE2.
12805
12806         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12807         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12808         declared only for the Win32 version, but could be in the X11
12809         version as well. (Needed for a Xlib-less gdk_imlib.)
12810         gdk_color_hash should have only one parameter. Declare
12811         gdk_threads_mutex with GDKVAR.
12812         
12813         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12814         just one parameter.
12815
12816         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12817         per pixel, not bits.
12818
12819         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12820         Fetch bpp (which means bits-per-pixel here) from another place on
12821         Win32. Accept also depth==32 (which we might get on Win32) with
12822         bpp==32.
12823
12824         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12825         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12826         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12827         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12828         in the backend-dependent directory, not in the common gdk
12829         directory.
12830
12831         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12832         headers.
12833
12834 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12835
12836         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12837         want to use the Gtk+ devel version (which is true, and yes - even i am
12838         currently working with the 1.2.x branch). so everyone reading this, you
12839         probably want to issue
12840         cvs checkout -r glib-1-2 glib
12841         and
12842         cvs checkout -r gtk-1-2 gtk+
12843         as your next two comands.
12844
12845 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12846
12847         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12848         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12849
12850         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12851         file. strongly deprecated the GTK_HAVE_* macros, we provide
12852         GTK_CHECK_VERSION() for people that need to check for certain
12853         Gtk+ versions.
12854
12855         * gtk/gtkcompat.h: removed this from CVS.
12856         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12857         idea right from the start, it just didn't seem like that back then.
12858
12859 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12860
12861         * merges from gtk-1-2:
12862
12863 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12864
12865         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12866         item factory class has been created.
12867         (gtk_item_factory_parse_rc): likewise.
12868
12869         * gtk/gtkmenu.c:
12870         keep proper references for old_active_menu_item.
12871         (gtk_menu_reparent): unset the usize of the new parent,
12872         so the menu can sanely be size requested and we don't get nasty screen
12873         artefacts upon next reparentation.
12874         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12875         enter notify. only synthesize enter notifies if the pointer really is
12876         inside the event window.
12877         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12878         (gtk_menu_popup): move the background setting stuff into
12879         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12880
12881         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12882         gtk_menu_shell_select_item() to select the new item.
12883         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12884         do the right thing for deselection as well.
12885
12886 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
12887
12888         * gtk/gtkwidget.[hc]:
12889         (gtk_widget_accelerators_locked): return whether a widget's accelerators
12890         are locked.
12891
12892         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
12893         existing accelerators if the widget's accelerators are locked.
12894
12895 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
12896
12897         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
12898
12899         * gtk/gtkmenu.c: truely forward key press and key release events to
12900         the menu widget from the toplevel or tearoff window. we can't simply
12901         connect to that, we need to stop further processing of the events as
12902         well.
12903
12904 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
12905
12906         * gtk/gtkmenu.c:
12907         (gtk_menu_key_press): pass event->keyval, event->state to
12908         gtk_accelerator_valid, instead of event->keyval twice.
12909         refuse to install single letter accelerators for menus that use
12910         single letter shortcuts.
12911
12912         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
12913         gtk_menu_ensure_uline_accel_group().
12914
12915         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
12916         which will always return an uline accel group, made
12917         gtk_menu_get_uline_accel_group() return NULL if the group isn't
12918         yet created.
12919
12920 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
12921
12922         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
12923
12924         * gtk/gtkclist.c (gtk_clist_column_title_passive):
12925         Leave button sensitive, trap  button_press, button_release,
12926         motion_notify, enter_notify and leave_notify events instead.
12927         (gtk_clist_column_title_active): disconnect event handler.
12928         (gtk_clist_drag_data_get): fixed memory leak. Reported by
12929         Guillaume Laurent <glaurent@worldnet.fr>
12930
12931 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
12932
12933         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
12934         width/height mixups.
12935
12936         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
12937         if needed.
12938
12939 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
12940
12941         * gtk/testgtk.c (create_item_factory): unref the item factory after
12942         window's destruction.
12943
12944         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
12945         count on the menu shell around the menu item's activation, since the
12946         signal emission may cause menu shell destruction.
12947
12948         * gtk/gtkitemfactory.c:
12949         the previous code leaked one accel group per menu. we use
12950         gtk_menu_get_uline_accel_group() now to fix that, and with that
12951         also create the underline accelerator group of the menus only if
12952         required (i.e. an underline accelerator has been specified).
12953         (gtk_item_factory_construct):
12954         (gtk_item_factory_create_item): removed code that would create an
12955         extra accel group for the menu (and leak references).
12956         (gtk_item_factory_create_item): adapted the underline accelerator
12957         installation code to properly feature gtk_menu_get_uline_accel_group().
12958
12959         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
12960         menu->accel_group, this may return NULL if the accelerator group
12961         hasn't been set yet.
12962         added gtk_menu_get_uline_accel_group() to retrive the underline
12963         accelerator group of the menu, this will be created on demand
12964         and proper care is taken about its reference count.
12965
12966         * gtk/gtkitemfactory.h:
12967         * gtk/gtkitemfactory.c:
12968         dumped the approach of keeping a widgets by action list on the
12969         factory since the factory<->widget destroy negotiation didn't work
12970         and would be hard to get going at all. instead we keep a list of
12971         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
12972         persistant throughout a program's life time).
12973         also, i removed the static const gchar *key_* variables, and made
12974         them inline strings (they weren't actually used anyways).
12975         (gtk_item_factory_add_item): update ifactory->items.
12976         (gtk_item_factory_destroy): destroy ifactory->items (and remove
12977         the item factory pointer from the remaining ifactory widgets).
12978         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
12979         list to find the widget.
12980         (gtk_item_factory_get_item): new function that works around
12981         gtk_item_factory_get_widget() limitations, this function will only
12982         return menu items, even for <Branch> entries.
12983
12984 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12985
12986         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12987         font hash table, if we have a GdkFontPrivate entry for this font
12988         already, simply increment its reference count, provided by Olaf Dietsche
12989         <olaf.dietsche+list.gtk@netcologne.de>.
12990
12991         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12992         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12993
12994 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
12995
12996         * gtk/gtkcontainer.c:
12997         (gtk_container_add_with_args):
12998         (gtk_container_addv):
12999         (gtk_container_add): before adding a child to a conatiner, make sure
13000         it is (default) constructed, this is neccessary because under certain
13001         circumstances the child will get relized and mapped immediatedly, in
13002         which case it has to be constructed already.
13003
13004 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13005
13006         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13007         values > 1 as TRUE also.
13008
13009 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13010
13011         * README.win32: New file.
13012                 
13013         * configure.in: Check for lstat.
13014
13015         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13016         completeness.
13017
13018         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13019
13020         * gtk/gtk.def: Removed CRs.
13021
13022         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13023         ..\gdk\win32).
13024
13025         * gdk/win32/makefile.msc: Correct upwards relative paths.
13026         
13027 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13028
13029         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13030           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13031           it was connecting a void function to expose_event and the int
13032           returning function to the draw signal
13033
13034 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13035
13036         * configure.in:
13037         Use correct path to libgmodule.la when ref'ing uninstalled copy
13038         of glib.  (Already in stable branch, Bug #417)
13039
13040 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13041
13042         Win32 merge and general portability stuff:
13043                 
13044         * acconfig.h,configure.in: Check for <sys/time.h>.
13045
13046         * gdk/win32: New directory (actually, been there for a while).
13047         
13048         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13049         NATIVE_WIN32, and use these. Always case fold on Win32. No
13050         backslashed escapes on native Win32.
13051
13052         * gtk/{gtk.def,makefile.msc}: New files.
13053
13054         * gtk/Makefile.am: Add above new files.
13055         
13056         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13057         instead of <strings.h>.
13058
13059         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13060         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13061         <unistd.h> appropriately.
13062
13063         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13064         Use ABS() (from <glib.h>) instead of abs().
13065         
13066         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13067         of gtk (and thus glib) headers, so that WIN32 will be
13068         defined. With MS C, include <direct.h> for mkdir prototype.
13069
13070         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13071         some casts, needed by MS C.
13072
13073         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13074         implemented).
13075
13076         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13077         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13078         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13079
13080         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13081                 
13082         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13083         the event is not a hint, or its window is not the slider. Needed
13084         on Win32, at least.
13085
13086         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13087         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13088         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13089         a subdirectory of the Windows directory as gtk system
13090         configuration directory.
13091
13092         * gtk/gtkselection.c: No chunks on Win32.
13093
13094         * gtk/gtksocket.c: Not implemented on Win32.
13095
13096         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13097
13098         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13099
13100         * gtk/maketypes.awk: Declare variables with a macro that expands to
13101         necessary export/import magic in the case of Win32.
13102                 
13103         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13104
13105 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13106
13107         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13108         since those were meant only for gdki18n.h.  
13109         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13110         for widechar tests.
13111         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13112
13113 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13114
13115         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13116         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13117
13118         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13119         installed) to CFLAGS.
13120
13121         * gdk/Makefile.am: Add rules for gdkconfig.h.
13122
13123         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13124         APIs.
13125
13126         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13127         gdkx.h anyway when compiling for X11.
13128         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13129         general): Merge in Win32 version.
13130         
13131         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13132         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13133         expansion (if we don't have HAVE_PWD_H), allow for drive
13134         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13135         included code from Craig Setera's port to Win32 (the one that uses
13136         X11, and the cygwin dll), even if it probably will be abandoned.
13137
13138         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13139         the user entered one herself.  This way one can complete *.h and
13140         don't get matches on any .help files, for instance.
13141         
13142 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13143
13144         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13145         font hash table, if we have a GdkFontPrivate entry for this font
13146         already, simply increment its reference count, provided by Olaf Dietsche
13147         <olaf.dietsche+list.gtk@netcologne.de>.
13148
13149         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13150         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13151
13152 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13153
13154         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13155         the number of calls to gdk_draw_point() (and thus to X) by
13156         clipping the points by hand.
13157
13158         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13159         the clip parameter.
13160         (gtk_handle_box_paint): Only paint the handle if the expose area
13161         intersects it.
13162
13163 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13164
13165         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13166
13167 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13168
13169         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13170         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13171
13172 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13173
13174         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13175          textmode (O_TEXT) for OS/2 version.
13176
13177 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13178
13179         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13180         GtkSpinButton, "input" and "output", to make the output more flexible.
13181         The user has to provide a mapping between adjustment->value and the
13182         output string (and vice versa, if the spin button is editable). 
13183         See testgtk for examples.
13184
13185 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13186
13187         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13188         new one.
13189         
13190         * configure.in: set gtk+ version to 1.3.0.