]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
removed gtk_*_store_get, and moved to GtkTreeModel.
[~andy/gtk] / ChangeLog.pre-2-10
1 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
4         gtk_*_store_get, and moved to GtkTreeModel.
5
6         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
7
8         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
9
10         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
11
12         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
13         set the func.
14
15         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
16         freeze/thaw notify between setting all the properties for a cell.
17
18         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
19
20 2001-02-15  Havoc Pennington  <hp@redhat.com>
21
22         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
23         the X coordinates so they're with respect to the line, rather than 
24         with respect to the layout.
25
26         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
27         Mallabone
28
29         * gtk/testgtk.c (create_range_controls): add vscale tests, 
30         and inverted test
31
32         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
33         #50806
34
35         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
36
37         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
38         gtk_text_iter_is_end
39
40         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
41         rename gtk_text_buffer_get_end_iter
42
43         * gtk/testgtk.c (create_labels): Add test for selectable
44
45         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
46         the selection stuff. This code is kind of broken since it doesn't 
47         use the theme engine.
48
49         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
50         fix infinite loop and y offset problem
51         (gdk_draw_layout_line_with_colors): fix foreground color handling
52
53         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
54         that makes the label selectable.
55         
56         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
57         layout when the style is set, since fonts etc. could have changed.      
58
59 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
60
61         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
62
63         * gtk/gtktreemodelsimple.[ch]: removed.
64
65 2001-02-16  Alexander Larsson  <alexl@redhat.com>
66
67         * gtk/gtktreemodelmapping.[ch]:
68         New files. Implement GtkTreeModelMapping.
69         
70         * gtk/Makefile.am:
71         Add gtktreemodelmapping.[ch].
72         
73         * gtk/gtk.h:
74         Add gtktreemodelmapping.h
75
76         * gtk/treestoretest.c:
77         Test the GtkTreeModelMapping
78
79 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
80
81         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
82         have a demo, we might as well pass in real values.  Thanks to
83         clahey for pointing this out.
84
85 2001-02-14  Havoc Pennington  <hp@pobox.com>
86
87         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
88         "static" to a private function
89         (gtk_image_menu_item_class_init): remove destroy handler,
90         add "image" object property
91
92 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
93
94         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
95         Add a shortcut if the window and the current clip_region doesn't
96         overlap. This is needed when there are a lot of windows in a
97         window. The layout test in testgtk is a good test.
98
99         * gdk/linux-fb/gdkwindow-fb.c:
100         Whitespace fix.
101
102 2001-02-13  Sven Neumann  <sven@convergence.de>
103
104         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
105
106 2001-02-13  Alexander Larsson  <alexl@redhat.com>
107
108         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
109         Don't reference last_cursor if it is null. Fixes crash when rotating
110         the screen before having moved the mouse.
111
112         * gdk/linux-fb/gdkcc-fb.c: Zapp!
113
114         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
115
116         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
117         when using 90 or 270 degrees rotation.
118
119 2001-02-12  Havoc Pennington  <hp@pobox.com>
120
121         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
122         it always set the foreground, even if we were only using
123         a stipple.
124         (gdk_draw_layout_line_with_colors): new function, allow
125         override colors
126         (gdk_draw_layout_with_colors): new function, allow override
127         colors
128         (gdk_pango_layout_line_get_clip_region): function to get the clip
129         region for a logical text range
130         (gdk_pango_layout_get_clip_region): get the clip region for a
131         logical text range
132
133         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
134         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
135         the right number of arguments.
136
137         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
138         enhance the function to check that node data corresponds to a 
139         view still belonging to the tree.
140
141         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
142         GtkTreePath
143         (gtk_tree_view_inserted): ditto
144         (gtk_tree_view_child_toggled): ditto
145
146         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
147         simplify this code.
148
149         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
150         a PangoAttrList
151
152         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
153
154         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
155
156         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
157         size in the size request 
158         (gtk_menu_bar_size_allocate): consider toggle size here
159
160         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
161         that displays a widget in the toggle slot
162
163         * gtk/testgtk.c: test GtkImageMenuItem
164
165         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
166         
167         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
168         request and allocation
169
170         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
171
172         * gtk/gtkcheckmenuitem.c
173         (gtk_check_menu_item_toggle_size_request): ditto
174         
175 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
176
177         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
178         reference.
179
180         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
181         and refuse to initialize GTK+ if they fail.
182
183 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
184
185         * configure.in: Add check for gtk-doc version.
186
187 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
188
189         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
190         where the xpad/ypad was only being used on one side!
191
192 2001-02-11  Tor Lillqvist  <tml@iki.fi>
193
194         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
195         function, copied from X11 version.
196
197         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
198         DestroyCursor failures. The reason for the problem (despite the
199         inconsistent messages from GetLastError()) was that
200         DestroyCursor() cannot be called while a cursor is set in a
201         window. Set the new cursor first and then destroy the old one.
202         Thanks to jpe@archaeopteryx.com.
203
204         * gdk/win32/gdkcc-win32.c: Remove.
205
206         * gdk/win32/Makefile.am: Remove from here, too.
207         
208         * gdk/gdk.def
209         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
210
211         * gtk/gtk.def
212         * gtk/makefile.mingw.in: Updates.
213
214 2001-02-08  Havoc Pennington  <hp@redhat.com>
215
216         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
217         add a widget to a bin that already has a child.
218
219         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
220
221         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
222         
223         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
224
225         * gdk/gdk.h: remove gdkcc.h
226
227         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
228
229         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
230         GdkPixbuf, since the previous implementation was GdkColorContext
231         dependent.
232
233         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
234         
235 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
236
237         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
238         a sane value!
239
240 2001-02-08  Havoc Pennington  <hp@redhat.com>
241
242         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
243         lighten them.
244
245 2001-02-08  Havoc Pennington  <hp@redhat.com>
246
247         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
248         validation idle
249
250         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
251         cell renderer
252
253         * demos/pixbuf-demo.c (timeout): remove deprecated
254         gtk_widget_draw
255
256         * demos/testpixbuf-save.c (main): remove deprecated
257         gtk_drawing_area_size
258
259         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
260         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
261         at the start of the allocation.
262         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
263         unsetup or NULL model.
264
265         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
266         even/odd/sorted cells in the tree view.
267
268         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
269         bugfixes
270
271         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
272         backgrounds with draw_flat_box using different detail for even/odd
273         rows.
274
275         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
276         row, so we can draw the alternating colors thing
277
278         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
279         property from a synonym property, notify for the synonym.
280         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
281         (gtk_text_tag_get_property): Always return the font, even if
282         all its fields aren't set
283
284         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
285         store the attr list; it leaves us with no way to change attributes
286         in _render according to the render flags, and no way to implement
287         get_property. Instead store all the specific text attributes. 
288         Separate whether an attribute is enabled from its value. Sync all
289         properties with GtkTextTag, make them all consistent, etc.
290
291         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
292         renderers can highlight the sort row/column     
293
294         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
295         accessor functions to get values; this has the side effect of
296         showing up which accessor functions were missing. Added those.
297
298         * gtk/gtktreeviewcolumn.h: Replace set_justification with
299         set_alignment, to be consistent with GtkLabel, GtkMisc
300
301         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
302         arrow.
303
304         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
305
306         * gtk/gtktreesortable.h: updates in here
307
308 2001-02-07  Sven Neumann  <sven@convergence.de>
309
310         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
311         pango dimensions after painting the background. We used to draw
312         gigantic flat boxes here.
313
314 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
315
316         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
317         error introduced with earlier commit) (pointed out by
318         Ollie Lho)
319
320 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
321
322         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
323         which are no longer necessary.
324
325 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
326
327         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
328
329 2001-02-04  Tor Lillqvist  <tml@iki.fi>
330
331         * gdk/gdk.def
332         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
333         Provide dummy implementations.
334
335 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
336
337         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
338
339         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
340         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
341         deprecated this function.
342
343         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
344         argument.
345
346 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
347
348         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
349
350 2001-02-03  Havoc Pennington  <hp@pobox.com>
351
352         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
353         Mikael Hermansson with patch from Mikael (if there was a toggle
354         start one after the first character in the range, this function
355         was broken). Bug #50380
356
357 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
358
359         * configure.in: Remove confusing comment about X11.
360
361 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
362
363         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
364         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
365         
366 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
367
368         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
369         it breaks things on BSD. If you want to compile GTK+ with
370         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
371         when configuring, since GTK+ simply can't be "pure ANSI" 
372         in the header files it uses. (#8170, Greg Hudson)
373
374 2001-02-02  Havoc Pennington  <hp@redhat.com>
375
376         * gtk/gtkwindow.c: docs
377
378         * gtk/gtkwidget.c: docs
379         (gtk_widget_set_colormap): add a reference to the colormap
380         (gtk_widget_get_default_colormap): add a reference to the colormap
381
382         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
383
384         * gtk/gtktextiter.c: docs
385
386         * gtk/gtkmain.c (gtk_propagate_event): docs
387
388         * gtk/gtkpaned.c (gtk_paned_get_position): docs
389         (gtk_paned_set_position): docs
390
391         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
392         sort interface, no implementation yet.
393
394         * demos/testpixbuf.c (new_testrgb_window): replace
395         gtk_drawing_area_size() with gtk_widget_set_usize()
396
397         * demos/testpixbuf-drawable.c (main): ditto
398         
399         * gtk/testgtk.c: remove use of GtkStatusbarMsg
400
401         * gtk/gtktextbuffer.c: docs
402
403         * gtk/gtkstock.c: docs
404
405         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
406
407         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
408
409         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
410         
411         * gtk/gtkimage.c: add some docs in here
412         (gtk_image_size_request): change name of
413         gtk_widget_render_stock_icon
414         (gtk_image_get_icon_set): don't dup returned string
415         (gtk_image_get_icon_set): don't dup returned string
416
417         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
418         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
419         and gtkiconfactory.h functions
420
421         * gtk/gtkiconfactory.c: add some docs in here
422
423         * gtk/gtkmain.c (gtk_get_default_language): document
424         (gtk_get_current_event): document
425         (gtk_get_current_event_state): document
426         (gtk_get_event_widget): document
427
428         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
429
430         * gtk/gtkcontainer.c: Add some documentation
431         (gtk_container_add): give a more explanatory warning on adding an
432         already-parented widget, this is kind of a FAQ and also a common
433         typo that's easier to debug with a nice warning 
434
435         * gtk/gtkcellrenderertoggle.c
436         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
437         adding this, it's useless
438         (gtk_cell_renderer_toggle_set_active): remove
439         (gtk_cell_renderer_toggle_get_radio): add
440
441         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
442         the NULL cell renderer, that doesn't make any sense to me. 
443
444         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
445         demo code should never use deprecated features.
446
447         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
448         code should never use deprecated features.
449
450         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
451         gtk_widget_queue_clear_area deprecated
452
453         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
454         deprecated
455
456         * gtk/gtklabel.h: mark gtk_label_get() deprecated
457
458         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
459         a GdkImage deprecated, replaced by new consistently-named
460         functions       
461
462         * gtk/gtkmain.h: Mark gtk_exit() deprecated
463
464         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
465
466         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
467         deprecated
468
469         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
470         so it won't appear in docs and confuse people.
471
472         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
473
474         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
475         macros deprecated. (can't mark the type itself deprecated, since
476         GtkProgressBar is not deprecated and we need the type decl to use
477         GtkProgressBar)
478
479         * gtk/gtkpixmap.h: Mark deprecated
480
481         * gtk/gtkoldeditable.h: Mark deprecated
482
483         * gtk/gtklist.h: Mark deprecated
484
485         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
486         for anything anymore.
487
488         * gtk/gtkctree.h: Mark deprecated
489
490         * gtk/gtkclist.h: Mark deprecated
491
492         * gtk/gtkpreview.h: Mark deprecated
493
494         * gtk/gtkpacker.h: Mark deprecated
495
496         * gtk/gtktipsquery.h: Mark deprecated
497
498         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
499
500         * gtk/gtkvruler.h: Add comment that it will move out of GTK
501
502         * gtk/gtkhruler.h: Add comment that it will move out of GTK
503
504         * gtk/gtkruler.h: Add comment that it will move out of GTK
505
506         * gtk/gtkgamma.h: Add comment that it will move out of GTK
507
508         * gtk/gtkcurve.h: Add comment that it will move out of GTK
509
510 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
511
512         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
513         gdk_colormap_sync private since it was never exported
514         in a header file.
515
516         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
517         colormap->colors[] for StaticGray, StaticColor colormaps.
518
519         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
520         was being used as if it was image->bits_per_pixel.
521
522         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
523         for the image in the GdkImage structure since it isn't
524         reconstructable, and we need it to handle packed types
525
526         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
527         the assumption that on Win32 image->bits_per_pixel == image->depth,
528         always.
529
530         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
531
532         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
533         warning message if no converter can be found. 
534
535 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
536
537         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
538         chars to isupper() / tolower(). (#567)
539
540         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
541         to clear up 64-bit warnings. (#567)
542
543 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
544
545         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
546         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
547
548         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
549         since some people set $(libdir) separately. (#1290, David Kaelbling)
550
551 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
552
553         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
554         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
555         MAXPATHLEN, but the code here depends on a fixed value.)
556         (#4524)
557
558 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
559
560         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
561         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
562
563 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
564
565         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
566         viewable there is no way that moving the node will cause the 
567         focus row to become not viewable, so omit check on the visibility
568         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
569
570 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
571
572         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
573         selection before inserting new text.
574
575 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
576
577         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
578         Make the sensitivity of the reparented child track that of
579         the original parent menu item. (#34218, David Hodson)
580
581         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
582         the case where the current item is destroyed properly.
583
584         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
585         some edge cases with child-less menuitems.
586         
587 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
588
589         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
590         key pop down window. (#12074, Jon K Hellan)
591
592 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
593
594         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
595         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
596         The solution here isn't perfect - you get an extraneous
597         emission of "toggle", which could conceivably confuse an app,
598         but better than the current situation. LXR search seems to
599         indicate that no apps in GNOME CVS connect to "toggle".
600
601 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
602
603         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
604         gtk_public_h_sources to directly here to avoid warning when
605         building srcdir != builddir. (#9656)
606
607 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
608
609         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
610         handlers in gtkrange.c return the proper values (TRUE == handled)
611         (#10316).
612
613         This is just the tip of the iceberg, but gtkrange.c is the
614         most common place where the propagation is problematical,
615         and also a place where it is almost certainly safe to change
616         this in the stable branch.
617
618         (You don't want right click popups on a range control or anything...)
619
620 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
621
622         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
623         area on focus out, even if a background pixmap isn't set.
624         (#13941)
625         
626 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
627
628         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
629         to deal with setting the shape properly when scrolling arrows are
630         turned on, but not visible because there is sufficient space.
631         (#13432)
632
633 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
634
635         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
636         items with submenus, destroy the item along with the submenu.
637         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
638         properly.
639
640         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
641         later.
642
643 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
644
645         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
646         the focus widget sometimes wasn't drawn with the default if there
647         was no default widget.
648
649         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
650         unreference pixmaps. 
651
652         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
653         for some extra safety.
654
655 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
656
657         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
658         the text of a cell to the old pointer value better, by
659         copying the new text before freeing the old text. Some code
660         cleanup. (#8079, Karl Nelson)
661
662 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
663
664         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
665         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
666
667 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
668
669         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
670         item from a menu, check to see if it matches 
671         menu->old_active_menu_item, and if so, unref and clear
672         old_active_menu_item (Patch from Pavel Cisler)
673
674         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
675         menu_shell->active_menu_item, if it is the child being
676         removed. (Patch based on that of Gene Ragan, #50337)
677
678 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
679
680         * gdk/linux-fb/gdkselection-fb.c: 
681         * gdk/linux-fb/gdkcolor-fb.c: 
682         * gdk/linux-fb/gdkdrawable-fb2.c: 
683         * gdk/linux-fb/gdkfont-fb.c: 
684         * gdk/linux-fb/gdkim-fb.c: 
685         * gdk/linux-fb/gdkinput.c: 
686         * gdk/linux-fb/gdkkeyboard-fb.c: 
687         * gdk/linux-fb/gdkmain-fb.c: 
688         * gdk/linux-fb/gdkrender-fb.c: 
689         A bunch of whitespace cleanup.
690         
691 2001-01-30  Havoc Pennington  <hp@pobox.com>
692
693         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
694         #ifdef GTK_ENABLE_BROKEN.
695
696         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
697         GTK_ENABLE_BROKEN just before including the broken headers.
698         
699         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
700         deprecated types registered.
701
702         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
703         we have to test the broken stuff.
704
705         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
706         
707 2001-01-30  Havoc Pennington  <hp@redhat.com>
708
709         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
710         here where prev pointer was set to the wrong thing
711
712         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
713         (gtk_tree_path_is_descendant): new function
714
715         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
716         cached length
717         (gtk_list_store_get_iter): don't modify iter if we can't get the
718         path.
719
720         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
721         
722         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
723         GtkTreeDragDest
724
725         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
726         was causing segfault
727
728         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
729         pointer to NULL
730
731         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
732
733         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
734         on returning FALSE
735         (gtk_list_store_iter_children): ditto
736         (gtk_list_store_iter_nth_child): ditto
737         (gtk_list_store_iter_nth_child): ditto
738         (gtk_list_store_iter_parent): ditto
739
740         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
741         on iter->user_data != NULL instead of silently accepting it.
742         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
743         we are returning TRUE.
744         (gtk_tree_store_iter_children): ditto
745         (gtk_tree_store_iter_nth_child): ditto
746         (gtk_tree_store_iter_parent): ditto
747         (gtk_tree_store_insert): remove handling of parent->user_data ==
748         NULL, replace with parent == NULL       
749
750         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
751         and a comment explaining things
752
753         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
754         interface support to GtkTreeStore.
755
756         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
757         FALSE if no prev, fix
758
759         * gtk/gtktreeview.c (set_source_row): use a row reference
760         (set_dest_row): use a row reference
761
762 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
763
764         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
765         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
766         (gtk_tree_selection_select_iter): The same as above.
767
768 2001-01-26  Havoc Pennington  <hp@redhat.com>
769
770         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
771         which holds a handle to a specific row (particular set of values
772         in the model, i.e. pointer-identity row).
773
774         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
775         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
776         Still need to use it for the src/dest row saved on the drag context.
777
778 2001-01-26  Havoc Pennington  <hp@redhat.com>
779
780         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
781
782         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
783         not offset by TREE_VIEW_HEADER_HEIGHT
784         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
785         TREE_VIEW_HEADER_HEIGHT
786
787         * configure.in (included_loaders): for me, --with-included-loaders
788         generates the error "the specified loader yes does not exist",
789         i.e. the arg defaults to "yes", so change test for value ""
790         to test for value "yes", and include all loaders in that case.
791
792         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
793
794         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
795         handle TREE_VIEW_VERTICAL_SEPARATOR
796         (gtk_tree_view_bin_expose): fix to consider the row offset as
797         pointing halfway into vertical separator.       
798         (gtk_tree_view_draw_node_focus_rect): ditto
799
800         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
801         --gtk-debug=updates, which causes gdk_window_set_debug_updates
802         (TRUE) to be called.
803
804         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
805         debug mode where the invalid region is colored in on invalidate,
806         so you can see the flicker and know whether your redraw code is 
807         doing a good job.
808
809         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
810         tree window coordinates (clip rect is in tree window coords)
811
812         * gtk/Makefile.am: add gtktreednd.[hc]
813
814         * gtk/gtkliststore.c: implement gtktreednd interfaces.
815
816         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
817         drag-and-drop data operations on a model (so we can set up tree
818         drag-and-drop automatically)
819
820         * gtk/testgtk.c: Add a window to change sensitivity in the
821         GtkLabel test; add a way to change the entry frame in GtkEntry
822         test
823
824         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
825         (gtk_entry_get_has_frame): new functions to remove the frame
826         around an entry
827         (gtk_entry_size_request): shrink requisition if no frame
828         (gtk_entry_draw_focus): don't draw frame if no frame
829
830         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
831         checks inside a cell renderer
832         (gtk_default_draw_option): ditto for options
833
834         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
835         children from the alignment, not the button
836         (gtk_tree_view_column_init): ref/sink the column, to emulate
837         GObject refcounting.
838
839         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
840         
841         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
842         Use theme functions to draw the toggles 
843
844         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
845
846         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
847         GdkPangoAttrEmbossed to use in rendering insensitive text
848
849         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
850
851         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
852         using new GDK features
853         
854 2001-01-24  Alexander Larsson  <alexl@redhat.com>
855
856         * gtk/gtkimage.c:
857         Splitted gtk_image_clear into gtk_image_clear() and
858         gtk_image_reset(). Call gtk_image_clear() in ::destroy
859         to avoid leaks.
860
861         * gtk/gtklabel.c (set_markup):
862         Don't leak text.
863
864         * gtk/gtktextlayout.c:
865         Always free display->shaped_objects.
866
867         * gtk/testgtk.c (create_clist):
868         Don't leak custom style.
869
870 2001-01-23  Alexander Larsson  <alexl@redhat.com>
871
872         * gtk/gtkcolorsel.c (grab_color_at_mouse):
873         Don't leak image. Simplify using gdk_colormap_query_color().
874         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
875
876         * linux-fb/gdkcolor-fb.c:
877         Implemented gdk_colormap_query_color.
878
879 2001-01-23  Alexander Larsson  <alexl@redhat.com>
880
881         * linux-fb/gdkcursor-fb.c:
882         Don't leak built-in cursors.
883
884         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
885         Don't leak tmp_points.
886
887         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
888         Don't modify desc. Don't leak font if the PangoFont
889         isn't found.
890         
891         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
892         Free dash_list.
893
894         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
895         Don't leak string.
896         
897 2001-01-20  Havoc Pennington  <hp@pobox.com>
898
899         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
900         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
901         me, matches Pango
902
903 2001-01-22  Havoc Pennington  <hp@redhat.com>
904
905         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
906
907         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
908
909         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
910         Remove, move back to gdk-pixbuf
911
912         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
913         to all the word functions
914
915         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
916         before doing anything on NULL layout or if we don't have the focus
917
918         * gtk/testtext.c (fill_example_buffer): "justification"
919
920         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
921         to be called "justification" not "justify"
922
923         * demos/gtk-demo/textview.c (create_tags): "justification"
924         
925         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
926
927 2001-01-22  Alexander Larsson  <alexl@redhat.com>
928
929         * gdk/gdkwindow.c (gdk_window_invalidate_region):
930         Don't leak visible_region. Use visible_region instead of region.
931         
932         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
933         Don't do extra gdk_drawable_ref(). This is not X.
934         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
935         gdk_fb_focused_window is ref:ed.
936         (gdk_fb_window_send_crossing_events): Watch out for destroyed
937         windows.
938
939 2001-01-22  Alexander Larsson  <alexl@redhat.com>
940
941         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
942         Don't leak the PangoFontDescriptor.
943
944 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
945
946         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
947         when not realized.
948         (gtk_tree_view_scroll_to_cell): Make work when not realized.
949         (gtk_tree_view_realize): add scroll_to support
950         (gtk_tree_view_finalize): add a finalize method.  Populate.
951         (gtk_tree_view_insert_column): ref and sink the column.
952         (gtk_tree_view_append_column): ref and sink the column.
953         (gtk_tree_view_queue_draw_node): New function to handle redrawing
954         individual nodes.  Should make the code much more efficient, if
955         actually used.
956
957 2001-01-19  Havoc Pennington  <hp@redhat.com>
958
959         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
960         byte_offset variable was being used to mean both "offset into
961         layout" and "offset into buffer line" which was no longer true
962         with addition of preedit string; fix
963
964 2001-01-19  Havoc Pennington  <hp@redhat.com>
965
966         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
967
968         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
969         function
970
971         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
972         implement
973
974         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
975         scroll_to_cell, matches TextView scroll functions better
976         (gtk_tree_view_tree_to_widget_coords): new function
977         (gtk_tree_view_widget_to_tree_coords): new function
978         (gtk_tree_view_get_visible_rect): new function
979         (gtk_tree_view_get_path_at_pos): accept negative coordinates
980         (gtk_tree_view_draw_node_focus_rect): new function moved from
981         draw_focus, also, use width of bin_window as width of the focus
982         rect
983         (gtk_tree_view_expand_row): fix bug where it didn't recognize
984         already-expanded rows
985         (gtk_tree_view_get_cell_rect): new function
986         (gtk_tree_view_get_path_at_pos): return the click position
987         relative to the passed-in cell
988         (gtk_tree_view_set_expander_column): new function
989
990         * configure.in: remove gtk-config-2.0 chmod
991
992         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
993         and properly handle drags with targets we don't understand
994         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
995         scrolling anyway
996         (gtk_text_view_drag_drop): stop scrolling here though, and set the
997         mark invisible
998
999         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1000         function
1001         (gtk_drag_dest_get_target_list): new function
1002         (gtk_drag_dest_set_target_list): new function
1003         
1004         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1005
1006         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1007         related to drag-and-drop
1008
1009 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1010
1011         * gdk/linux-fb/gdkprivate-fb.h:
1012         Define EMULATE_GDKFONT.
1013         Add extra pango_font stuff to GfkFontPrivate.
1014         
1015         * gdk/linux-fb/gdkdrawable-fb2.c:
1016         * gdk/linux-fb/gdkfont-fb.c:
1017         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1018         emulation using PangoFont.
1019
1020 2001-01-17  Havoc Pennington  <hp@pobox.com>
1021
1022         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1023         all the non-deprecated set_foo functions. Added missing object
1024         properties, and added g_object_notify() to setters. 
1025         Wrote docs.
1026         
1027 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1028
1029         * gtk/gtkmain.c
1030         * gtk/gtkrc.c: (Win32) Use the new
1031         g_win32_get_package_installation_(sub)directory() functions.
1032
1033         * config.h.win32.in: New file.
1034         
1035         * config.h.win32: Removed.
1036
1037         * configure.in: Output config.h.win32.
1038
1039         * Makefile.am: Add it to EXTRA_DIST.
1040
1041         * gtk/gtk.def: Update.
1042
1043 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1044
1045         * gtk/gtklabel.c (gtk_label_size_request): Set the
1046         attributes onto the PangoLayout even if they are newly
1047         created from label->pattern.
1048
1049 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1050
1051         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1052
1053         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1054         structures in functions. Fixes bug where gtk_dataset_*
1055         was accidentally still being used in one place, causing
1056         every dest side event to be treated independently.
1057
1058         * gtk/gtkdnd.c: Remove last vestages of handling
1059         ::draw (fixes warning)
1060         
1061         * gtk/gtkentry.[ch]: Add drag and drop support.
1062
1063         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1064         new function gtk_check_drag_threshhold() for checking
1065         to check if (dx,dy) has exceeded the threshhold for starting
1066         a drag and use it everywhere.
1067
1068 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1069
1070         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1071         add -I{includedir}/gtk-2.0.
1072
1073         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1074         gdk/gdk-pixbuf.h: Doc fixups.
1075         
1076         * gtk/gtkobject.h: Remove trailing , from enum
1077
1078 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1079
1080         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1081         Doh! Mixed up x and y.
1082
1083         * gdk/linux-fb/gdkglobals-fb.c:
1084         Removed gdk_fb_pointer_grab_window_events,
1085         added _gdk_fb_pointer_grab_owner_events and
1086         _gdk_fb_keyboard_grab_owner_events.
1087
1088         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1089         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1090         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1091         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1092         Send crossing events after ungrab finished.
1093         (gdk_keyboard_grab): Set ..._owner_events
1094         (type_masks): Move out of function.
1095         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1096         gdk_fb_keyboard_event_window): New functions, return the
1097         window an event should be targeted at. Handles grabs and
1098         event propagation. Can return NULL.
1099         (gdk_event_make): Remove event_mask checking. Now always
1100         returns an event.
1101                 
1102         * gdk/linux-fb/gdkkeyboard-fb.c:
1103         * gdk/linux-fb/gdkproperty-fb.c:
1104         * gdk/linux-fb/gdkselection-fb.c:
1105         Use new event_window/gdk_event_make() behaviour.
1106         
1107         * gdk/linux-fb/gdkmouse-fb.c:
1108         Use new event_window/gdk_event_make() behaviour.
1109         Only send motion events if in the same window.
1110         If grabbed, use cursor from window if sibling of grabbed
1111         window, and cursor from grabbed window otherwise.
1112
1113         * gdk/linux-fb/gdkprivate-fb.h:
1114         Update gdk_fb_window_send_crossing_events, gdk_event_make
1115         and grab varaible declarations. Add gdk_fb_*_event_window().
1116
1117         * gdk/linux-fb/gdkwindow-fb.c:
1118         Use new event_window/gdk_event_make() behaviour.
1119         Keep correct track of focus window.
1120         (gdk_window_set_events): Set all specific button motion masks
1121         if GDK_BUTTON_MOTION_MASK set.
1122
1123         * gtk/gtkdnd.c (gtk_drag_update):
1124         Free info->last_event if gdk_drag_motion returned FALSE.
1125
1126 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1127
1128         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1129         Eliminate redraws when input-only windows are shown or
1130         hidden. Thanks to jpe@archaeopteryx.com.
1131
1132 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1133
1134         * docs/faq/gtk-faq.sgml: FAQ update:
1135           - Update to bugzilla
1136           - Add GTK+ and security/SUID/SGID
1137           - Add DnD question
1138
1139 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1140
1141         * gdk/linux-fb/gdkdnd-fb.c:
1142         Some cleanups.
1143         
1144 2001-01-15  Havoc Pennington  <hp@pobox.com>
1145
1146         * tests/testtreeview.c: add test stuff for CellRendererToggle
1147
1148         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1149         accessor
1150
1151         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1152         only toggle on button press (would do release like GtkButton, but
1153         we'd need implicit grab code for treeview cells)
1154
1155 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1156
1157         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1158
1159         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1160         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1161
1162         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1163         to g_{locale,filename}_{to,from}_utf8 to match current API.
1164
1165         * gtk/makefile.msc.in (gtk_OBJECTS)
1166         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1167
1168         * gtk/gtk.def: Update.
1169
1170 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1171
1172         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1173         implementaion that more closely mimics the events that an X server
1174         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1175         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1176         with nested preview widgets, for instance, more responsive when
1177         you move the mouse quickly into them.
1178         (find_window_for_pointer_event): Make it actually compile.
1179         (gdk_event_translate): Set send_event to the value of
1180         InSendMessage (). This doesn't really mean the same as X11's
1181         send_event flag, but is close enough, says jpe@archaeopteryx.com
1182
1183 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1184
1185         * gdk/linux-fb/gdkdnd-fb.c:
1186         Implemented drag and drop.
1187         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1188         when it tries to free and then copy the same event (info->last_event).
1189         I am not sure about why this happens, but will continue looking.
1190
1191 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1192
1193         * gdk/linux-fb/gdkwindow-fb.c:
1194         Use gdk_window_invalidate_rect instead of
1195         gdk_window_invalidate_rect_clear to minimise flashing.
1196         When hiding windows you need to clear the root window though.
1197
1198 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1199
1200         * gdk/linux-fb/gdkdrawable-fb2.c:
1201         For optization, add an full_shapes argument to gdk_fb_clip_region.
1202         If this is false, only the cliprects of the shapes are used.
1203
1204         * gdk/linux-fb/gdkprivate-fb.h:
1205         Export gdk_fb_window_peek_shape.
1206         Add full_shapes to gdk_fb_clip_region.
1207
1208         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1209         When moving a window, don't clear everything under the it, just the
1210         root window. Makes stuff faster and flash less.
1211         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1212         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1213         offset of the shape.
1214         
1215
1216 2001-01-12  Havoc Pennington  <hp@redhat.com>
1217
1218         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1219         current invalid region, fixes redraw bug while scrolling the 
1220         text widget
1221
1222         * gtk/gtktextview.c, gtk/gtktextview.h:
1223         Rearrange the scrolling/validation/etc. code in a major way, 
1224         so it seems to make sense to me. Probably isn't genuinely that
1225         much better, but...
1226
1227         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1228         notifies
1229
1230         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1231
1232 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1233
1234         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1235         Hide mouse pointer while rotation. Show it afterwards.
1236
1237 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1238
1239         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1240         windows in consideration when generating clip region.
1241
1242         * gdk/linux-fb/gdkfb.h:
1243         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1244
1245         * gdk/linux-fb/gdkprivate-fb.h:
1246         Add shape to GdkWindowFBDatat.
1247         exported gdk_fb_window_get_abs_shape().
1248         removed gdk_fb_draw_lines declaration.
1249
1250         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1251         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1252         send focus changes when there is a grabbed window.
1253         (gdk_window_get_pointer): Handle shaped windows.
1254         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1255         (gdk_fb_window_peek_shape): Returns the shape for a window,
1256         handles GDK_FB_USE_CHILD_SHAPE.
1257         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1258         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1259         (gdk_window_shape_combine_mask): Implement.
1260
1261         * gtk/gtkwindow-decorate.c:
1262         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1263         setting the shape of a window makes the window transparent.
1264
1265 2001-01-11  Havoc Pennington  <hp@redhat.com>
1266
1267         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1268
1269 2001-01-10  Havoc Pennington  <hp@redhat.com>
1270
1271         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1272         add this function, bug 40251
1273
1274         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1275         of type macro   
1276
1277 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1278
1279         * acconfig.h:
1280         Added ENABLE_SHADOW_FB
1281
1282         * configure.in:
1283         Added --disable-shadowfb
1284
1285         * gdk/linux-fb/gdkcursor-fb.c:
1286         Update shadowfb when updating cursor
1287
1288         * gdk/linux-fb/gdkdrawable-fb2.c:
1289         Added wrappers for shadowfb that calls  the normal drawable
1290         methods, but calls gdk_shadow_fb_update(bounding box) when
1291         GdkWindows are drawed to.
1292         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1293         which also returns the bounding box.
1294
1295         * gdk/linux-fb/gdkfb.h:
1296         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1297
1298         * gdk/linux-fb/gdkgeometry-fb.c:
1299         Update shadowfb when scrolling window.
1300
1301         * gdk/linux-fb/gdkglobals-fb.c:
1302         Add _gdk_fb_screen_angle.
1303         
1304         * gdk/linux-fb/gdkkeyboard-fb.c:
1305         Test code for screen rotation. Shift-F2 in the xlate driver
1306         rotates the screen.
1307
1308         * gdk/linux-fb/gdkmain-fb.c:
1309         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1310
1311         * gdk/linux-fb/gdkmouse-fb.c:
1312         Use fb_width/height instead of modeinfo.xres/yres.
1313
1314         * gdk/linux-fb/gdkprivate-fb.h:
1315         Added fb_men, fb_width, fb_height & fb_stride. When using
1316         shadow fb these can differ from the framebuffer stuff.
1317         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1318         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1319         _gdk_fb_screen_angle. Removed CM, RP.
1320
1321         * gdk/linux-fb/gdkrender-fb.c:
1322         Added code for shadowfb handling and screen rotation using
1323         shadowfb.
1324
1325         * gdk/linux-fb/gdkwindow-fb.c:
1326         Use fb_mem, fb_stride, fb_width, fb_height.
1327         Added recompute_rowstride to reset the rowstride of all windows.
1328         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1329         window abs positions and window rowstrides. Usefull when the
1330         rotation has changed.
1331
1332 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1333
1334         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1335
1336 2001-01-10  Havoc Pennington  <hp@redhat.com>
1337
1338         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1339         where sibling == iter
1340         (gtk_tree_store_insert_after): handle sibling == iter
1341         (gtk_tree_store_prepend): remove stamp checks
1342         (gtk_tree_store_insert_before): ditto
1343         (gtk_tree_store_append): ditto
1344         (gtk_tree_store_get_path): ditto
1345         (gtk_tree_store_get_value): ditto
1346         (gtk_tree_store_iter_has_child): ditto
1347         (gtk_tree_store_iter_n_children): ditto
1348         (gtk_tree_store_iter_nth_child): ditto
1349         (gtk_tree_store_insert_after): ditto
1350         (gtk_tree_store_is_ancestor): ditto
1351         (gtk_tree_store_iter_depth): ditto
1352         (gtk_tree_store_insert_before): assert that sibling's parent is
1353         the same as the passed-in parent
1354         (gtk_tree_store_insert_after): assert that sibling's parent is
1355         the same as the passed-in parent
1356
1357         
1358         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1359         function to get the first iterator in a model
1360         
1361         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1362         conventionally the "root" in this sense is just NULL afaict.
1363
1364         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1365         where sibling == iter
1366         (gtk_list_store_insert_after): handle case where sibling == iter
1367
1368         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1369         automated tests for ListStore, TreeStore
1370
1371         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1372         (gtk_list_store_insert): update tail pointer, and fix it to work
1373         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1374         (gtk_list_store_append): use tail to be faster
1375         (gtk_list_store_prepend): fix it, update tail pointer
1376         (gtk_list_store_insert_after): fix it, update tail pointer
1377
1378         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1379         the list
1380
1381 2001-01-09  Havoc Pennington  <hp@redhat.com>
1382
1383         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1384         is NULL due to a pending resize
1385
1386         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1387         column width to values less than 1
1388
1389         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1390         width to be between min/max width, and still set the width 
1391         even if autosize is turned on, so the tree view can use this 
1392         function in order to autosize.
1393         (gtk_tree_view_column_init): set initial width to 1 not 0
1394
1395         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1396         setter function to modify column width, so we get notification
1397         (gtk_tree_view_insert_iter_height): ditto
1398         (gtk_tree_view_calc_size): ditto
1399         (gtk_tree_view_check_dirty): ditto
1400
1401         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1402         properties to change all the interesting attributes of the tree
1403         view column.
1404         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1405         (gtk_tree_view_column_get_clickable): add
1406         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1407         attributes; assume a cell renderer with equivalent object
1408         properties has been swapped in. Do g_object_notify().
1409         (gtk_tree_view_column_set_visible): g_object_notify
1410         (gtk_tree_view_column_get_sizing): rename from get_col_type
1411         (gtk_tree_view_column_set_sizing): g_object_notify
1412         (gtk_tree_view_column_set_width): add g_object_notify
1413         (gtk_tree_view_column_set_min_width): ditto
1414         (gtk_tree_view_column_set_max_width): ditto
1415         (gtk_tree_view_column_set_title): ditto
1416         (gtk_tree_view_column_set_clickable): ditto
1417         (gtk_tree_view_column_set_widget): ditto
1418         (gtk_tree_view_column_set_justification): ditto
1419
1420 2001-01-09  Havoc Pennington  <hp@redhat.com>
1421
1422         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1423         there are no rows in the model
1424
1425         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1426         NULL, then return the start of the list
1427
1428         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1429         if we can't get any rows from an empty model 
1430
1431         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1432         extraneous * after function pointer typedef usage
1433
1434         * Makefile.am: don't specify full path to cp and rm
1435
1436         * gtk/gtkcellrenderertextpixbuf.c
1437         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1438         NULL before dereferencing, fixes a segfault that happened from
1439         time to time
1440
1441         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1442         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1443         and reindent the function
1444         (gtk_cell_renderer_pixbuf_get_size): indentation
1445
1446         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1447         we quit it
1448         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1449         (gtk_dialog_set_default_response): New function, to set default
1450         button
1451         (gtk_dialog_set_response_sensitive): New function, to set 
1452         sensitivity of buttons
1453
1454         * gtk/gtkcellrendererpixbuf.c
1455         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1456         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1457
1458         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1459         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1460         also boxed types.
1461         (_gtk_tree_data_list_value_to_node): ditto
1462
1463         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1464         --gtk-debug=tree
1465
1466         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1467
1468         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1469
1470 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1471
1472         * gdk/win32/gdkevents-win32.c: Implement better mouse
1473         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1474         (find_window_for_pointer_event): New function.
1475         (gdk_event_translate): Use it when handling mouse events.
1476
1477 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1478
1479         * configure.in:
1480         Added --with-included-loaders option
1481
1482         * gdk-pixbuf/Makefile.am:
1483         * gdk-pixbuf/gdk-pixbuf-io.c:
1484         Add support for including selected gdk-pixbuf loaders only.
1485
1486         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1487         gtk_window_set_has_frame):
1488         Added inline documentation.
1489
1490         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1491         * docs/reference/gdk/tmpl/windows.sgml:
1492         Added inline documentation.
1493
1494 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1495
1496         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1497         realizing buttons that have already been realized.
1498
1499 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1500
1501         * tests/testtreeview.c (main): Show menu items before adding to
1502         option menu.
1503
1504         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1505         around if we kill them.
1506
1507         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1508         Return if we pass in a NULL model.
1509
1510 2001-01-08  Havoc Pennington  <hp@redhat.com>
1511
1512         * tests/testtreeview.c: hack on this some
1513
1514         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1515         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1516         list
1517         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1518
1519         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1520         functions
1521
1522 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1523
1524         * gtk/gtkwindow-decorate.[hc]:
1525         * gtk/Makefile.am:
1526         New files. Contains an implementation of a minimal WM for
1527         linux-fb.
1528
1529         * gtk/gtkwindow.h:
1530         Add the possibility for GtkWindows to specify a frame. This
1531         is used for the window decoration code, but could concievably
1532         be used for X programs too (xmms style windows).
1533         GtkWindow->frame is the toplevel window if the window is framed.
1534         The signal frame_event gets all events that are targeted to
1535         GtkWindow->frame.
1536         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1537         
1538         * gtk/gtkwindow.c:
1539         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1540         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1541
1542 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1543
1544         * docs/README.linux-fb:
1545         Correct filename ~/.pangoft2_aliases
1546
1547         * gdk/gdkwindow.h:
1548         Added new function gdk_window_get_decorations.
1549
1550         * gdk/linux-fb/gdkfb.h:
1551         Removed _gdk_window_get_decorations declaration.
1552         Renamed _gdk_window_set_child_handler to
1553         gdk_fb_window_set_child_handler.
1554
1555         * gdk/linux-fb/gdkwindow-fb.c:
1556         Renamed _gdk_window_set_child_handler to
1557         gdk_fb_window_set_child_handler.
1558
1559         * gdk/x11/gdkwindow-x11.c:
1560         New function gdk_window_get_mwm_hints().
1561         Implemented gdk_window_get_decorations.
1562
1563         * docs/reference/gdk/tmpl/windows.sgml:
1564         * docs/reference/gdk/gdk-sections.txt:
1565         Added gdk_window_get_decorations docs.
1566         
1567 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1568
1569         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1570         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1571         gdk_fb_window_send_crossing_events):
1572         Possibly send focus events when the mouse moves from one
1573         window to another.
1574
1575 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1576
1577         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1578         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1579         to match current API.
1580
1581         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1582         environment variable is set, don't call g_error when on a
1583         palettized (PseudoColor) display. Some people want to use GTK+ 
1584         in 256-colour mode even though works only partially.
1585
1586         * gdk/gdk.def
1587         * gtk/gtk.def
1588         * gtk/makefile.mingw.in: Update.
1589
1590 2001-01-05  Havoc Pennington  <hp@redhat.com>
1591
1592         * tests/testtreeview.c: hack on this a bit
1593
1594         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1595         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1596
1597         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1598         was spelled incorrectly
1599         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1600
1601         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1602         from gtk_tree_view_set_headers_active   
1603
1604         * gtk/gtktexttag.c:
1605         (gtk_text_tag_get_property): handle PROP_DIRECTION
1606         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1607         properties, bug 40235
1608
1609         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1610         forward_to_line_end
1611
1612 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1613
1614         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1615         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1616         for unicode,locale,filename conversion functions.
1617
1618 2001-01-05  Havoc Pennington  <hp@redhat.com>
1619
1620         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1621         broken if called on the first position in the buffer.
1622
1623         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1624         forward_to_delimiters to be called only if we aren't already at
1625         the delimiters.
1626
1627 2001-01-05  Havoc Pennington  <hp@redhat.com>
1628
1629         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1630
1631 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1632
1633         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1634         colormap in here. Sync from X port.
1635         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1636         Sync from X port.
1637         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1638         This happens now and then, and i don't think it is a bug.
1639         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1640         != endpoint.
1641         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1642         GDK_LINE_SOLID.
1643
1644         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1645         some of the fields filled in at least.
1646
1647         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1648         miLineArcD is no more, remove it from the function definition.
1649
1650 2001-01-04  Havoc Pennington  <hp@redhat.com>
1651
1652         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1653         this
1654
1655         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
1656         user_data instead of tree_node
1657
1658         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
1659         TREE_VIEW_COLUMN_SIZE
1660
1661         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
1662         "size" field to "width" finishes bug 40061
1663
1664         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
1665         for bitfields, bug 40268
1666
1667 2001-01-04  Havoc Pennington  <hp@redhat.com>
1668
1669         Rename some stuff:
1670         
1671         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
1672
1673         s/GtkModelSimple/GtkTreeModelSimple/g;
1674         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
1675         s/gtk_model_simple/gtk_tree_model_simple/g;
1676         s/gtkmodelsimple/gtktreemodelsimple/g;
1677
1678         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
1679
1680         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
1681         s/column_set_col_type/column_set_sizing/g;
1682
1683         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
1684         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
1685
1686         s/GtkCellRendererType/GtkCellRendererState/g;
1687         
1688         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
1689         (gtk_cell_renderer_toggle_class_init): change "state" property to
1690         "active", to match GtkToggleButton
1691         (gtk_cell_renderer_toggle_get_active): new function, bug
1692         40269
1693         (gtk_cell_renderer_toggle_set_active): new function
1694         (gtk_cell_renderer_toggle_set_property): route changes to toggle
1695         state through gtk_cell_renderer_set_active
1696
1697 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
1698
1699         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
1700         temporarily until they work again.  Brought up to date with
1701         changes in the model.
1702         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
1703         model.
1704
1705 2001-01-04  Havoc Pennington  <hp@redhat.com>
1706
1707         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
1708         equal to the line length, then position iterator before paragraph 
1709         separators. Fixes crash reported by Mikael Hermansson when
1710         pressing left arrow from the start of a line.   
1711
1712         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
1713         about byte indexes off the end
1714         (iter_set_from_char_offset): add g_error about char offsets
1715         off the end
1716
1717 2001-01-03  Havoc Pennington  <hp@redhat.com>
1718
1719         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
1720
1721         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
1722         of private functions; remove inclusion of private headers.
1723
1724         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
1725         function, so we don't need private functions in gtktextdisplay.c
1726
1727         * gtk/gtktextiterprivate.h: underscore-ification
1728
1729         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
1730         to instead say "only useful to implement widgets"
1731
1732         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
1733         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
1734         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
1735
1736         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
1737         This function was completely broken
1738
1739         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
1740
1741         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
1742
1743         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
1744
1745         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
1746
1747         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
1748
1749         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
1750
1751         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
1752         gtk_paint_layout
1753
1754         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
1755         gtk_paint_layout
1756
1757         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
1758         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
1759         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
1760         which were not implemented.     
1761
1762         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
1763         insert_pixbuf signal. Rename delete_text to delete_range since it
1764         also deletes pixbufs and child anchors. This almost closes bug
1765         40245 (still need to deal with child anchors)
1766
1767         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
1768         insert_pixbuf, change signal names as appropriate, change types of
1769         signals taking marks/tags to have the specific type, not just
1770         G_TYPE_OBJECT
1771         
1772         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
1773         closes bug 40051
1774
1775         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
1776         unnecessary remove_contents() call
1777         (gtk_option_menu_class_init): add a "changed" signal, closes
1778         bug 40039
1779         (gtk_option_menu_update_contents): emit "changed" if the 
1780         active menu item changes
1781
1782         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
1783         cast to GtkObject, reported by Jonas Borgstrom
1784         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
1785         we can't do stuff with side effects in finalize. Instead, spew a
1786         warning if the loader isn't closed.
1787
1788         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
1789         colormap in here, non-X ports probably need to sync to this change
1790
1791         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
1792         assertion that colormap != NULL, you can set the colormap to NULL
1793         if you like.
1794         
1795         * Makefile.am: remove gtk-config-2.0
1796
1797         * configure.in: Use pkg-config to locate GLib. Remove
1798         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
1799         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
1800         Use pkg-config to locate Pango. Output correct Pango libs to
1801         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
1802
1803         * Makefile.am (pkgconfig_DATA): install only target-specific pc
1804         files
1805         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
1806         X11 pc files
1807
1808         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
1809         unref from here
1810
1811 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
1812
1813         * configure.in:
1814         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
1815
1816 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
1817
1818         * gtk/gtktextlayout.c
1819         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
1820         variable when moving back onto a single line.
1821
1822 2001-01-01  Havoc Pennington  <hp@redhat.com>
1823
1824         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1825
1826         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1827
1828         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
1829         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
1830
1831 2001-01-01  Havoc Pennington  <hp@redhat.com>
1832
1833         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
1834
1835         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
1836         GtkTextAttributes
1837
1838         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
1839         #40246
1840         (gtk_text_attributes_copy_values): rename from 
1841         gtk_text_attributes_copy
1842         (gtk_text_attributes_copy): a more standard GTK copy function, 
1843         which returns a new object
1844
1845 2001-01-01  Havoc Pennington  <hp@redhat.com>
1846
1847         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
1848         
1849         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
1850         don't fill in tree_view->priv->selection, kind of an unexpected
1851         side effect
1852
1853         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
1854         gtkintl.h
1855         
1856         * gtk/gtkcellrenderer.c: Remove definition of _ and include
1857         gtkintl.h
1858         (gtk_cell_renderer_get_property): remove calls to g_value_init
1859
1860         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
1861         gtkintl.h
1862
1863         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
1864         and include gtkintl.h
1865         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
1866         property names
1867
1868         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
1869         GtkTreeSelection
1870         (_gtk_tree_selection_new_from_with_view): rename, return
1871         GtkTreeSelection
1872         (_gtk_tree_selection_set_tree_view): rename with uscore
1873         (gtk_tree_selection_get_selected): fill in the "model" out param
1874         first, so it gets filled in even if we return at the top of the 
1875         function
1876         (gtk_tree_selection_real_select_all): add a comment and an else{}
1877         to clarify this a bit
1878         (gtk_tree_selection_real_unselect_all): add the same else{}
1879
1880         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
1881         set_tree_view to have underscore prefixes, move them to the
1882         private header, fix return type of new_with_tree_view
1883         (struct _GtkTreeSelection): mark struct
1884         fields private  
1885
1886         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
1887         GtkTreeModelFlags, not a guint
1888         (gtk_tree_path_prev): return gboolean not gint
1889         (gtk_tree_path_up): return gboolean not gint
1890
1891         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
1892         return GtkTreeModelFlags, not a guint
1893
1894         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
1895         that child model is non-null before unrefing it
1896         (g_value_int_compare_func): make this a qsort compare func, not 
1897         a boolean predicate
1898
1899         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
1900         (add -umn to the end), and mark it unimplemented
1901         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
1902         I don't see what it's for - doesn't the model always sort itself?
1903         (gtk_tree_model_sort_set_compare): this had the wrong signature
1904
1905         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
1906         Fix the docs to say that it destructively replaces existing
1907         attributes (previously said that it added attributes).
1908         (gtk_tree_view_column_set_visible): canonicalize bool before
1909         equality testing. Also, check for realization before
1910         hiding/showing the tree_column->window; if this window could exist
1911         before realization, then it's busted and needs fixing, we can't 
1912         create GDK resources pre-realization. Also, remove
1913         superfluous queue_resize(), since set_size() does that for us.
1914         (gtk_tree_view_column_set_col_type): check realization before 
1915         using tree_column->window
1916
1917         * gtk/gtktreedatalist.c: fix filename in copyright notice
1918
1919 2000-12-31  Havoc Pennington  <hp@pobox.com>
1920
1921         * gtk/gtktextview.c: Rearrange all the
1922         scroll-while-dragging-or-selecting code to be different, not
1923         necessarily better. ;-)
1924         (gtk_text_view_scroll_to_mark): Change this
1925         function to take within_margin as a fraction instead of a pixel
1926         value, and to take alignment arguments (indicating where to align 
1927         the mark inside the visible area)
1928         
1929         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
1930         to GtkObject
1931
1932         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
1933         behavior so that offsets past the end of the line are not 
1934         allowed, and an offset equal to the line length moves the iterator
1935         to the next line
1936         (gtk_text_iter_set_line_index): make parallel change
1937         (gtk_text_iter_get_bytes_in_line): add this function
1938         
1939         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
1940         of byte indexes off the end of the line; byte index at the end of
1941         the line now returns FALSE and doesn't fill in the requested
1942         values, byte index past the end of the line is an error.  Also,
1943         don't allow -1 offset anymore, since its meaning is unclear.
1944
1945         This change exposes some bug in visual cursor motion, where we
1946         end up with a huge invalid byte index; needs fixing. Symptom of 
1947         bug is a crash when you hit up arrow.
1948         
1949         (_gtk_text_line_char_locate): match the change to byte_locate
1950
1951         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
1952         from start of line properly. fixes bug reported by Mikael
1953         Hermansson where backspace would delete all text before the
1954         cursor.
1955
1956 2000-12-30  Tor Lillqvist  <tml@iki.fi>
1957
1958         * gdk/win32/gdkwindow-win32.c
1959         (gdk_window_impl_win32_get_visible_region): New function, as in
1960         the X11 backend.
1961         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
1962         instead of duplicating the same code here.
1963
1964         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
1965         GDK_COLORMAP macro.
1966
1967         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
1968         destroy function.
1969         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
1970         access that.
1971
1972         * gtk/gtk.def: Update.
1973
1974         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
1975
1976 2000-12-30  Havoc Pennington  <hp@pobox.com>
1977
1978         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
1979         colormap on input only windows, to avoid special cases all over
1980         the code for these windows.
1981
1982 2000-12-26  Tor Lillqvist  <tml@iki.fi>
1983
1984         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
1985         we are on a palettized display ("PseudoColor" in X11), as the code
1986         for that doesn't work anyway, and never has.
1987
1988 2000-12-22  Alexander Larsson  <alexl@redhat.com>
1989
1990         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
1991         Don't use isprint() for chars > 255.
1992
1993 2000-12-21  Havoc Pennington  <hp@redhat.com>
1994
1995         * tests/testtreeview.c: more work
1996
1997 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1998
1999         * docs/README.linux-fb:
2000         Update the docs to the new pangoft2 way.
2001
2002 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2003
2004         * configure.in:
2005         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2006         pango version.
2007         Remove modules/linux-fb/Makefile.
2008
2009         * gdk/linux-fb/gdkdrawable-fb2.c:
2010         Render glyphs using freetype.
2011
2012         * gdk/linux-fb/gdkfb.h:
2013         Add new fb-specific functions needed for managing windows.
2014
2015         * gdk/linux-fb/gdkmain-fb.c:
2016         Remove gdk_font_init/fini() calls.
2017
2018         * gdk/linux-fb/gdkpango-fb.c:
2019         Remove old implementation. Use pangoft2 instead.
2020
2021         * gdk/linux-fb/gdkprivate-fb.h:
2022         Remove PangoFBFont and related stuff.
2023
2024         * gdk/linux-fb/gdkwindow-fb.c:
2025         Implement drawable->get_visible_region.
2026         Implement support for _gdk_window_set_child_handler () and
2027         _gdk_window_get_decorations().
2028
2029         * modules/Makefile.am:
2030         Remove linux-fb subdir.
2031
2032         * modules/linux-fb/*:
2033         Removed all.
2034         
2035 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2036
2037         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2038         calls, as they are no longer needed.
2039
2040         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2041         
2042         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2043         figure out how to emit a signal on an interface.
2044
2045 2000-12-20  Havoc Pennington  <hp@redhat.com>
2046
2047         * tests: new directory to contain tests, gtk/test* should move
2048         here sometime (with appropriate on-cvs-server hackery)
2049
2050         * tests/testtreeview.c, tests/Makefile.am: a test
2051         
2052         * configure.in (AC_OUTPUT): add tests/Makefile
2053
2054         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2055         and "invisible_set" which were missing
2056
2057         * gtk/gtkrbtree.h: some cheesy indentation fix
2058         
2059 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2060
2061         * gtk/gtkinvisible.c (gtk_invisible_realize):
2062         Attach the style to the window so that the style it is not
2063         leaked when unrealizing the window.
2064
2065 2000-12-18  Havoc Pennington  <hp@redhat.com>
2066
2067         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2068         begin/end user action where appropriate
2069         (gtk_text_view_commit_handler): add begin/end user action
2070
2071         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2072         bracket interactive operations with begin/end user action pair.
2073         
2074         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2075         "interactive" arg from insert_text and delete_text signals.
2076         Add begin_user_action, end_user_action signals
2077         (gtk_text_buffer_begin_user_action): 
2078         (gtk_text_buffer_end_user_action): New functions to delimit 
2079         a user-visible action
2080
2081         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2082         signals.
2083         
2084 2000-12-18  Havoc Pennington  <hp@redhat.com>
2085
2086         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2087         was pretty non-working.
2088
2089         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2090         by passing the length to g_utf8_validate().
2091
2092 2000-12-16  Havoc Pennington  <hp@pobox.com>
2093
2094         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2095         Port to GObject, can go back in gdk-pixbuf after setting up 
2096         a gdk-pixbuf-marshal.h header over there.
2097
2098         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2099         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2100         args
2101         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2102         set
2103         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2104         here, do it when we create the buttons later
2105         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2106         (gtk_tree_view_map): paranoia checks that column->button is shown 
2107         and unmapped
2108         (gtk_tree_view_size_request): only request visible children.
2109         Move header size calculation in here, for cleanliness, and 
2110         to maintain invariants for child widgets if we eventually 
2111         let users set different children inside the buttons
2112         (gtk_tree_view_map_buttons): factor out code to map buttons,
2113         since it was being called several times
2114         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2115         windows instead of just moving them; their height may change 
2116         if we allow random widgets in there, or the theme changes.
2117         (gtk_tree_view_size_allocate): move button size allocation 
2118         above emitting the scroll signals, to ensure a sane state when we
2119         hit user code
2120         (gtk_tree_view_button_release): remove queue_resize after
2121         tree_view_set_size(), set_size() will handle any resize queuing
2122         that's needed
2123         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2124         draw_focus goo
2125         (gtk_tree_view_focus): use gtk_get_current_event() and
2126         gdk_event_get_state()
2127         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2128         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2129         semicolon
2130         (gtk_tree_view_create_button): show the button here
2131         (gtk_tree_view_button_clicked): actually emit the clicked signal
2132         on the column
2133         (_gtk_tree_view_set_size): return right away if the size is
2134         unchanged, as a cheesy optimization
2135         (gtk_tree_view_setup_model): rename set_model_realized to 
2136         setup_model to match the flag that indicates whether we've 
2137         called it
2138         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2139         exist, because set_scroll_adjustment does that and it shouldn't
2140         matter what order you call these in
2141         (gtk_tree_view_get_vadjustment): ditto
2142         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2143         for paranoia
2144         (gtk_tree_view_set_headers_visible): call
2145         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2146         (gtk_tree_view_append_column): clarify whether the return value
2147         is the count of columns before or after, and do the increment 
2148         separately from the return statement so you can tell from the code.
2149         (gtk_tree_view_remove_column): ditto
2150         (gtk_tree_view_insert_column): ditto
2151         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2152         outside the existing range, the docs say that outside-range
2153         columns are allowed, so we handle them as documented. (Presumably
2154         this allows a nice loop with column != NULL as test.)
2155         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2156         mean (left/right/center etc.).
2157         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2158         (gtk_tree_view_expand_row): add docs
2159         (gtk_tree_view_collapse_row): add docs
2160
2161         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2162         function to emit the clicked signal on a column
2163         
2164         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2165         state of an event
2166         (gdk_event_get_time): don't treat GDK_SCROLL 
2167         as a button event, remove default case from switch so gcc 
2168         will whine if we don't explicitly handle all event types
2169
2170         * gtk/gtktreeselection.h: added some FIXME 
2171         
2172         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2173         "columns" to "n_columns" and "column" to "columns" for clarity
2174
2175 2000-12-16  Havoc Pennington  <hp@pobox.com>
2176         
2177         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2178         stuff. This should make e.g. the delete key work again in the
2179         text widget...
2180         (gtk_text_iter_forward_cursor_positions): handle negative count
2181         (gtk_text_iter_backward_cursor_positions): handle negative count
2182         (gtk_text_iter_forward_word_ends): handle negative count
2183         (gtk_text_iter_backward_word_starts): handle negative count
2184
2185         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2186         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2187         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2188         GObject. No doubt will cause breakage.
2189
2190         * demos/gtk-demo/textview.c: remove hacks around
2191         non-GObject-ification of the text objects
2192
2193         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2194         the text tag
2195         
2196 2000-12-14  Havoc Pennington  <hp@pobox.com>
2197
2198         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2199         that we have Xrender
2200
2201 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2202
2203         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2204         Add two virtualized functions gdk_drawable_get_clip_region - to
2205         get the clip region when drawing.
2206         
2207         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2208         use invalidate_region.
2209
2210         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2211         region.
2212
2213         * acconfig.h configure.in: Check for Xft. For now, assume
2214         that if Xft is found, Pango was compiled with Xft support
2215         as well.
2216
2217         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2218         gdk_colormap_query_color().
2219         
2220         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2221         with Xft if appropriate.
2222
2223         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2224         a pangoxft context if we have XFT and the environment
2225         variable GD_USE_XFT is set.
2226         
2227         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2228         and also possibly an XftDraw structure.
2229
2230         * gtk/gtkfontsel.c: Handle the case where the font from the
2231         style doesn't match any of the fonts a bit better.
2232         
2233         * gtk/testgtk.c: Add tabs between directional segments for
2234         hebrew/arabic test. (Not really necessary, just a little
2235         prettier.)
2236
2237 2000-12-14  Havoc Pennington  <hp@redhat.com>
2238
2239         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2240         reading a file
2241
2242 2000-12-14  Havoc Pennington  <hp@redhat.com>
2243
2244         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2245         unused call to get_last_line()
2246
2247         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2248         here until boxed is working (and maybe after that - we should
2249         really not gratuitously break old code)
2250
2251         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2252         specific types for font_desc and tabs args, move them to
2253         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2254         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2255
2256         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2257         use GTK_TYPE_POINTER for signal signatures as a hack-around
2258
2259         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2260         PangoTabArray
2261
2262         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2263         make static
2264         (line_display_index_to_iter): make static
2265
2266         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2267         to marshal a string not a boxed
2268
2269         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2270
2271         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2272         since the UTF-8 isn't validated yet
2273
2274         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2275         lines to end in '\n'
2276         
2277         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2278         forward_to_delimiters, and grapheme boundaries
2279         (gtk_text_view_delete_from_cursor): properly handle non-newline
2280         delimiters, and grapheme boundaries
2281
2282         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2283         to gtk_text_iter_forward_to_delimiters, and make it work properly
2284         if empty lines end with a character other than '\n'
2285
2286         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2287         position
2288
2289 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2290
2291         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2292
2293         * gtk/gtk.def
2294         * gdk/gdk.def: Update.
2295
2296         * gdk/win32/gdkmain-win32.c
2297         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2298         gdkmain-win32.c here.
2299
2300         * gdk/win32/makefile.mingw.in (all): No need to make
2301         gdk-win32res.o here, the makefile one step up will call us to make
2302         it.
2303
2304         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2305         gdkkeys-win32.
2306
2307         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2308
2309         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2310         call to g_source_add().
2311
2312         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2313         leak. Thanks to Andreas Kemnade.
2314
2315 2000-12-13  Havoc Pennington  <hp@pobox.com>
2316
2317         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2318
2319         * gtk/gtktext*.[hc]: update accordingly
2320         
2321 2000-12-13  Havoc Pennington  <hp@pobox.com>
2322
2323         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2324         header file
2325
2326         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2327
2328 2000-12-13  Alex Larsson  <alexl@redhat.com>
2329
2330         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2331         Add support for ps2 intellimouse.
2332
2333         * gdkkeyboard-fb.c:
2334         Move shift-F1 repaint handling to xlate handler only.
2335         
2336         * docs/README.linux-fb:
2337         Add imps2 to docs.
2338         Document the new refresh keys.
2339         
2340 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2341
2342         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2343
2344         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2345         ::position and ::padding.
2346
2347         * gtk/gtkcontainer.c: make ::border_width an INT property.
2348
2349         * gtk/gtkpacker.c: make ::position an INT property.
2350
2351         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2352         guard against NULL h/v scrollbars, since this is used at construction
2353         time.
2354
2355         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2356         internal gtk_clist_constructor().
2357
2358         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2359         gtk_ctree_constructor().
2360
2361         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2362         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2363
2364         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2365         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2366
2367         * gtk/gtkwidget.[hc]:
2368         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2369         and gtk_widget_get().
2370         (gtk_widget_new): use g_object_new_valist().
2371         (gtk_widget_set): use g_object_set_valist().
2372
2373         * gtk/gtkobject.[hc]:
2374         removed gtk_object_arg_get_info(), gtk_object_getv(),
2375         gtk_object_query_args(), gtk_object_newv(),
2376         gtk_object_class_add_signals(),
2377         gtk_object_class_user_signal_new(),
2378         gtk_object_class_user_signal_newv(),
2379         gtk_object_arg_set(), gtk_object_arg_get(),
2380         gtk_object_args_collect(),
2381         gtk_object_default_construct(),
2382         gtk_object_constructed(),
2383         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2384         removed nsignals, signals and n_args members from GtkObjectClass.
2385         (gtk_object_new): use g_object_new_valist().
2386         (gtk_object_set): use g_object_set_valist().
2387         (gtk_object_get): use g_object_get_valist().
2388         
2389         * gtk/gtkcompat.h: define gtk_object_default_construct().
2390         
2391         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2392         g_object_new().
2393
2394         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2395         fucntions, cleaned up method assignments (make sure your structures
2396         are setup properly before calling out). removed all GTK_CONSTRUCTED
2397         hacks ;)
2398
2399 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2400
2401         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2402         off-by-one error in checks. (Dave Lambert)
2403
2404 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2405
2406         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2407         Don't free gdk_fb_keyboard twice.
2408
2409 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2410
2411         * gtk/testgtk.c:
2412         (create_tooltips): 
2413         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2414         use GObject swapped_signal:: properties instead.
2415
2416         * gtk/gtkcellrenderertoggle.c: 
2417         * gtk/gtkcellrenderertextpixbuf.c: 
2418         * gtk/gtkcellrenderertext.c: 
2419         * gtk/gtkcellrendererpixbuf.c: 
2420         * gtk/gtkcellrenderer.c:
2421         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2422         missing warnings for invalid property ids, install properties
2423         with g_object_class_install_property() now.
2424         
2425         * gtk/gtksignal.c:
2426         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2427         
2428 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2429         
2430         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2431         to determine if a window is the focus widget within
2432         its toplevel.
2433
2434         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2435         to be boolean.
2436
2437         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2438         of the case where the container CAN_FOCUS to here instead
2439         of having it in each individual move-the-focus place.
2440
2441         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2442         focusing to be geometric in a much more obvious sense. Arrowing
2443         around is still non-intuitive because it isn't perfect and
2444         because entries, etc, grab the arrow keys, but it at least
2445         usually will do what you expect now.
2446         
2447         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2448         file.
2449
2450         * gtk/gtknotebook.c: Change tabs to be a single item in
2451         the focus chain. Make movement of focus on tabs with arrow
2452         keys wrap around.
2453         
2454         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2455         CHECK_FIND_CHILD macro to give informative error messages
2456         instead of silent returns.
2457
2458         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2459         flag since we handle GdkReturn on the tabs.
2460
2461         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2462         windows rather than sending expose events directly.
2463
2464         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2465         definition for GtkNotebookPage into .c file, since it is private.
2466
2467         * gtk/testgtk.c (create_notebook): Add option for 
2468         testing borderless notebook.
2469
2470         * gtk/testgtk.c (page_switch): Removed egregious poking
2471         around in GTK+ internals.
2472
2473         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2474
2475         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2476         properly through gtk_clist_focus. Make the title headers a
2477         single item in the tab-focus chain, and make left-right wrap
2478         around.
2479
2480         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2481         focus method so that wrapping around works properly.
2482
2483         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2484         that is handled for the widget now. 
2485
2486 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2487
2488         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2489         widgets as TOPLEVEL.
2490
2491         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2492         TOPLEVEL widgets are containers.
2493
2494         * gtk/gtkinvisible.h: Remove useless include.
2495
2496 2000-12-11  Havoc Pennington  <hp@redhat.com>
2497
2498         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2499         Handle chopping off \r\n and 0x2029 in addition to \n before
2500         passing to PangoLayout
2501
2502         * gtk/gtkimcontextsimple.c
2503         (gtk_im_context_simple_get_preedit_string): 
2504         return an empty string if no match is pending
2505
2506         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2507         assertion that the returned preedit string was sane
2508
2509         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2510         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2511         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2512
2513 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2514
2515         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2516         Fix up finalizer to chain to its parent.
2517
2518 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2519
2520         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2521         Clearified the difference between the keyboard types. Wrote a note
2522         about the magic sysrq key to get out of raw mode.
2523
2524 2000-12-09  James Henstridge  <james@daa.com.au>
2525
2526         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2527         member to hold masks for detecting the start of a protocol packet.
2528         (mouse_devs): add packet start masks for ps2 and ms device types.
2529         Left the mask for fidmour blank, as I have no idea what it should
2530         be.
2531         (handle_mouse_io): skip bytes until we get to the start of a
2532         packet.  My Logitech mouse seems to be passing an extra NULL pad
2533         byte, and GPM does a similar thing here.
2534         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2535         this is the ms mouse driver.
2536         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2537         completely broken except for button1.  It was checking the wrong
2538         bit in the packet for the status of the right mouse button, and
2539         wrongly assuming right == button2 rather than 3.  I fixed that and
2540         also added support for middle button (button2).
2541
2542 2000-12-08  Havoc Pennington  <hp@redhat.com>
2543
2544         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2545         that cause a segfault on text insertion
2546
2547         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2548         warning
2549
2550         * gtk/gtktextiter.c (test_log_attrs): use
2551         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2552
2553         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2554         Get log attrs for a line, using a cache stored on the buffer
2555         
2556         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2557         reported by Jeff Franks
2558
2559 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2560
2561         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2562         /dev/ttyS0 -> /dev/mouse
2563
2564 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2565
2566         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2567         Added dummy gdk_fontset_load.
2568
2569 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2570
2571         * docs/README.linux-fb:
2572         * docs/Makefile.am:
2573         Initial GtkFB docs.
2574         
2575         * gdk/linux-fb/Makefile.am:
2576         Define GDK_DATA_PREFIX.
2577
2578         * gdk/linux-fb/gdkmain-fb.c:
2579         Fix typo.
2580         Change default display to /dev/fb0.
2581
2582         * gdk/linux-fb/gdkpango-fb.c:
2583         Add $(prefix)/share/fonts/ to font path.
2584         
2585 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2586
2587         * gdk/linux-fb/gdkkeyboard-fb.c:
2588         New file containing the abstracted keyboard driver. Most code
2589         taken from gdkinput-ps2.c
2590
2591         * gdk/linux-fb/gdkinput-ps2.c:
2592         Removed file.
2593         
2594         * gdk/linux-fb/Makefile.am:
2595         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2596
2597         * gdk/linux-fb/gdkcolor-fb.c:
2598         display->fb was renamed to display->fb_fd.
2599
2600         * gdk/linux-fb/gdkcursor-fb.c:
2601         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2602
2603         * gdk/linux-fb/gdkinput.c:
2604         Moved gdk_input_init here from gdkinput-ps2.c
2605
2606         * gdk/linux-fb/gdkmain-fb.c:
2607         display->fb was renamed to display->fb_fd.
2608         Now the tty and the console is opened here instead
2609         of in the keyboard driver. Also check GDK_VT to see what
2610         tty to open.
2611         Move gdk_beep () here from gdkinput-ps2.c
2612         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2613
2614         * gdk/linux-fb/gdkmouse-fb.c:
2615         Add header.
2616         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2617         Return correct keyboard modifiers.
2618         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2619
2620         * gdk/linux-fb/gdkprivate-fb.h:
2621         Add tty and vt info to display.
2622         Add orignal modeinfo storage to display
2623         Update global functions
2624
2625         * gdk/linux-fb/gdkwindow-fb.c:
2626         Added gdk_fb_window_find_focus().
2627         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2628
2629 2000-12-07  Havoc Pennington  <hp@pobox.com>
2630
2631         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2632         function, noticed by Alex
2633
2634 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2635
2636         * configure.in: Detect freetype properly
2637
2638         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2639         above.
2640
2641 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2642
2643         * gdk/linux-fb/Makefile.am:
2644         Add gdkmouse-fb.c
2645         
2646         * gdk/linux-fb/gdkmouse-fb.c:
2647         New file. Abstracted the mouse drivers a bit.
2648
2649         * gdk/linux-fb/gdkcursor-fb.c:
2650         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2651
2652         * gdk/linux-fb/gdkinput-ps2.c:
2653         Removed old mouse handling code. Moved cursor handling code
2654         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2655         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
2656         gdk_mouse_get_info.
2657
2658         * gdk/linux-fb/gdkmain-fb.c:
2659         Pass NULL pointers for x,y in gdk_mouse_get_info call.
2660
2661         * gdk/linux-fb/gdkprivate-fb.h:
2662         Removed public gdk_fb_find_common_ancestor, added and renamed
2663         functions for the new mouse handling code.
2664
2665         * gdk/linux-fb/gdkwindow-fb.c:
2666         Moved gdk_fb_window_send_crossing_events here. added global
2667         variable gdk_fb_window_containing_pointer. made
2668         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
2669         renamed to gdk_mouse_get_info.
2670
2671 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2672
2673         * gdk/linux-fb/gdkevents-fb.c:
2674         Update to match latest gmain/gsource changes.
2675
2676         * gdk/linux-fb/gdkinput-ps2.c:
2677         Bogus gdk_keymap_get_entries_for_keycode implementation so that
2678         it links. Will be implemented later.
2679
2680 2000-12-03  Havoc Pennington  <hp@pobox.com>
2681
2682         * gdk/Makefile.am: add gdkkeys.[hc]
2683
2684         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
2685         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
2686
2687         * acconfig.h, configure.in: add checks and command line options
2688         for XKB
2689
2690         * gdk/x11/gdkkeys-x11.c: Implement the above functions
2691         
2692         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
2693         and group in the key event
2694
2695         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
2696         field with the low-level hardware key code, and a group
2697         field with the keyboard group
2698
2699         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
2700         and declare a couple globals used for keymap handling
2701         
2702         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
2703         hold down Shift-Control and type a hex number to get a Unicode 
2704         character corresponding to the hex number
2705         (gtk_im_context_simple_get_preedit_string): Fix cursor position
2706         (return bytes not chars)
2707
2708 2000-12-05  Elliot Lee  <sopwith@redhat.com>
2709
2710         * gdk/gdkcolor.h: Make GdkColor specify element sizes
2711         to avoid waste on 64-bit platforms.
2712
2713 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
2714
2715         * INSTALL: Fix link to PNG home, remove reference
2716         to fribidi.
2717
2718         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
2719         
2720         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
2721         tested.)
2722
2723         * gtk/gtkcheckmenuitem.c: Permanently turn on
2724         always_show_toggle.
2725
2726         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
2727         be NULL. (Vladimir Klebanov, #26545)
2728
2729         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
2730         some signed/unsigned comparison problems. (#6510,
2731         David Kaelbling)
2732
2733         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
2734         return type to boolean (Oskar Liljeblad, #18648)
2735
2736 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2737
2738         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
2739         Remove bogus colormap setting.
2740
2741 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2742
2743         * gdk/linux-fb/gdkcolor-fb.c:
2744         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2745
2746         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
2747         Must set colormap.
2748         
2749 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
2750
2751         * docs/tutorial/gtk-tut.sgml: DND updates
2752
2753 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
2754
2755         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2756         Remove old debug g_warning().
2757         (gdk_fb_draw_drawable): The src argument can be either a wrapper
2758         or an implementation, just pass the implementation to draw_drawable_2.
2759         
2760         * gdk/linux-fb/gdkprivate-fb.h:
2761         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
2762
2763         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2764         clear and invalidate area when window is destroyed.
2765         (send_map_events): Remove old commented out code.
2766
2767 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2768
2769         * gdk/linux-fb/gdkpango-fb.c:
2770         Use italic instead of oblique in font aliases.
2771         
2772         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
2773         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
2774         other unsupported functions.
2775
2776 2000-12-04  Havoc Pennington  <hp@redhat.com>
2777
2778         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
2779
2780         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
2781
2782         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
2783
2784         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
2785         hack to avoid infinite loops (synthetic expose event) - 
2786         Owen has more appropriate fixes in a branch he'll check in later.
2787
2788         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
2789         separator, CR, and CRLF as line ends
2790
2791         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
2792         into lines using pango_find_paragraph_boundary(); other bits of
2793         the widget are still going to be broken if the boundary isn't '\n'
2794         though
2795
2796 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2797
2798         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
2799         multiply.
2800
2801         * gdk/linux-fb/gdkpango-fb.c:
2802         Copied some 26.6 scaling macros from pango to clean up the rounding.
2803         (pango_fb_font_get_glyph_info): Correct sign on x value.
2804
2805         * gdk/linux-fb/gdkprivate-fb.h:
2806         Removed unreferenced external functions.
2807
2808         * modules/linux-fb/Makefile.am: Use ` instead of '.
2809
2810         * modules/linux-fb/basic.c:
2811         Remove dead code. In particular the dummy lang engine which broke all
2812         pango layouts in GtkFB. Don't include tables-big.i anymore.
2813
2814         * modules/linux-fb/tables-big.i:
2815         Upgrade to latest version from pango. Left for reference, basic_ranges
2816         moved to basic.c.
2817         
2818 2000-12-04  Havoc Pennington  <hp@redhat.com>
2819
2820         Fix bugs Alex found:
2821         
2822         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
2823         to "draw"
2824
2825         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
2826
2827         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
2828
2829         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
2830         implementation in here, apparently the expose() implementation was
2831         dead code.
2832
2833 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2834
2835         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
2836         Return positive descent.
2837
2838 2000-12-02  Havoc Pennington  <hp@pobox.com>
2839
2840         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
2841         method and signal
2842         
2843         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
2844         calls gdk_window_process_updates() to push the exposes through
2845         (gtk_widget_class_init): No more draw signal, no
2846         gtk_widget_real_draw()  
2847         
2848         * gtk/gtkbin.c (gtk_bin_draw): remove
2849
2850         * gtk/gtkbox.c (gtk_box_draw): remove
2851
2852         * gtk/gtkbutton.c (gtk_button_draw): remove
2853
2854         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
2855
2856         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
2857
2858         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
2859
2860         * gtk/gtkclist.c (gtk_clist_draw): remove
2861
2862         * gtk/gtkentry.c (gtk_entry_draw): remove
2863
2864         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
2865
2866         * gtk/gtkfixed.c (gtk_fixed_draw): remove
2867
2868         * gtk/gtkframe.c (gtk_frame_draw): remove
2869
2870         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
2871
2872         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
2873
2874         * gtk/gtklayout.c (gtk_layout_draw): remove
2875
2876         * gtk/gtklist.c (gtk_list_draw): remove
2877
2878         * gtk/gtklistitem.c (gtk_list_item_draw): remove
2879
2880         * gtk/gtkmenu.c (gtk_menu_draw): remove
2881
2882         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
2883
2884         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
2885
2886         * gtk/gtknotebook.c (gtk_notebook_draw): remove
2887
2888         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
2889
2890         * gtk/gtkpacker.c (gtk_packer_draw): remove
2891
2892         * gtk/gtkrange.c (gtk_range_draw): remove
2893
2894         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
2895
2896         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
2897
2898         * gtk/gtktable.c (gtk_table_draw): remove
2899
2900         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
2901
2902         * gtk/gtktext.c (gtk_text_draw): remove
2903
2904         * gtk/gtktextview.c (gtk_text_view_draw): remove
2905
2906         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
2907
2908         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
2909
2910         * gtk/gtktree.c (gtk_tree_draw): remove
2911
2912         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
2913
2914         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
2915
2916         * gtk/gtkviewport.c (gtk_viewport_draw): remove
2917
2918         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
2919
2920         * gtk/gtkvscale.c (gtk_vscale_draw): remove
2921
2922         * gtk/gtkwindow.c (gtk_window_draw): remove
2923
2924 2000-20-01  Anders Carlsson  <andersca@gnu.org>
2925
2926         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
2927         a GtkToggleButton is both insensitive and active, it was being
2928         drawn by the GtkButton draw handler which doesn't check the
2929         state. Now it's calling gtk_toggle_button_paint instead.
2930         
2931 2000-12-01  Havoc Pennington  <hp@redhat.com>
2932
2933         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
2934         dangling pointers to the appearance attributes from the 
2935         line display
2936
2937         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
2938         width/height to mean "full width/height of drawable"
2939
2940         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
2941         click to select word/line
2942         
2943         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
2944         when getting log attrs. Get a slice, so that pixmaps and stuff
2945         are properly handled.
2946
2947         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
2948         paste into the selection (replaces selection now, previously
2949         crashed or added to selection). Reveals longstanding btree bug -
2950         select multiple lines, middle-click on the selection, boom. This
2951         isn't related to my changes though.
2952
2953         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
2954         PangoLogAttrs changes
2955         (gtk_entry_move_backward_word): ditto
2956
2957         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
2958         functions return bool whether the iter moved onto a
2959         dereferenceable position.
2960  
2961         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
2962         functions for motion in terms of display lines.
2963
2964         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
2965         get the buffer a mark is inside
2966         
2967 2000-12-01  Alexander Larsson  <alexl@redhat.com>
2968
2969         * gdk/linux-fb/Makefile.am:
2970         * modules/linux-fb/Makefile.am:
2971         Freetype 2 final uses freetype-config
2972
2973         * gdk/linux-fb/gdkpango-fb.c:
2974         Upgrade to use Freetype 2 final.
2975         More flexible support for font aliases, this also fixes a bug with
2976         GtkFontSelector, as the aliases must be visible in the font/family list,
2977         or GtkFontSelector reads uninitialized memory.
2978
2979 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
2980
2981         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
2982         XGetIMValues to properly terminate variable argument list, and do
2983         NULL return check for ic_values and xim_styles.
2984
2985         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
2986         Restore preedit state after XmbResetIC().
2987         
2988         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
2989         XvaCreateNestedList() should take XvaNestedList, but not
2990         XvaNestedList*.
2991
2992         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
2993         preedit_draw_callback, preedit_caret_callback): Match
2994         "preedit-changed" signal name to "preedit_changed" to be
2995         consistent to the spec.
2996
2997         * gtk/gtkimcontextsimple.c (check_table):
2998         Match "preedit-changed" to "preedit_changed" to be consistent
2999         to the spec.
3000
3001 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3002
3003         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3004         gc->clip_region == NULL>
3005
3006 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3007
3008         Changes by Hans Breuer:
3009         
3010         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3011         Dont't use negative width and height as max_hints. This fixes
3012         Owen's recent testgtk changes for win32.
3013
3014         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3015         gdk_win32_hdc_release): These are exported and may be called with
3016         other drawable types than our GdkDrawableImplWin32 (?).
3017
3018         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3019         so always #define USE_BACKING_STORE.
3020
3021         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3022         of printf for debugging output.
3023
3024         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3025         
3026         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3027
3028         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3029         declaration.
3030
3031         * gtk/gtktexttypes.h: Ditto.
3032
3033         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3034         (GDK_VoidSymbol) also if in case of arg check failure.
3035
3036         * gtk/gtkimcontextsimple.c
3037         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3038         position to the pointer, but to the variable it points to.
3039
3040         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3041
3042         * gtk/gtk.def: Updates.
3043
3044 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3045
3046         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3047         GTK_TYPE_TREE_MODEL.
3048
3049 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3050
3051         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3052         Set the size of the font from the description.
3053         (gdk_text_width): Gross hack that calculates the width
3054         of text by text_length * size/2. This is necessary because
3055         GtkLabel does some ugly gtk_string_width call to calculate
3056         an good size.
3057         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3058
3059 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3060
3061         * docs/tutorial/gtk-tut.sgml: DND updates
3062
3063 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3064
3065         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3066         If you pass width or height == 0 to gdk_window_clear_area they
3067         should be calculated from the window size.
3068
3069 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3070
3071         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3072         a grab, but no grab-cursor, use the cursor from the grabbed
3073         window. (gdk_fb_window_send_crossing_events): Send normal
3074         enter/leave notifications if grab and owner_events == TRUE.
3075
3076 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3077
3078         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3079         Do implicit button grabs, even if the window doesn't
3080         want the event.
3081         (gdk_fb_window_send_crossing_events): If there is a
3082         grab, only the grabbed window gets normal enter/leave
3083         notifications. On ungrab go from grabbed window to current.
3084         Don't send any notification to b when propagating from c -> b.
3085         If setting a grab on window, don't set prev_window.
3086         (handle_mouse_input): Send enter/leave events to the window the
3087         mouse is over, not the grabbed one.
3088         
3089 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3090
3091         * gdk/gdkregion-generic.c: Zap warning.
3092         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3093         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3094
3095 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3096
3097         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3098         The cursor should be hidden if it is part of either the
3099         source or destination region. Not only if it is in both.
3100         (gdk_window_set_transient_for): Silence warnings.
3101
3102 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3103
3104         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3105         The default mode in X is Pie Arcs, therefore that is
3106         what Gtk+ uses.
3107
3108 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3109
3110         * gdk/linux-fb/gdkinput-ps2.c:
3111         Implement correct EnterNotify/LeaveNotify:
3112         (gdk_fb_window_send_crossing_events): New function that sends
3113         all GdkCrossingEvents from the last mouse-window to the specified
3114         destination.
3115         (gdk_fb_window_visibility_crossing): Removed function.
3116         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3117         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3118         instead of gdk_window_get_pointer() for better readability.
3119
3120         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3121         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3122
3123         * gdk/linux-fb/gdkprivate-fb.h:
3124         removed gdk_fb_window_visibility_crossing, added
3125         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3126
3127         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3128         New function that finds the least common ancestor of two windows.
3129         (gdk_window_show, gdk_window_hide):
3130         Use gdk_fb_window_send_crossing_events.
3131         (gdk_fb_window_move_resize): Send configure events to toplevel
3132         windows. Use gdk_fb_window_send_crossing_events.
3133
3134 2000-11-27  Havoc Pennington  <hp@redhat.com>
3135
3136         * gtk/gtkprivate.h (enum): Remove a trailing comma
3137
3138 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3139
3140         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3141         the "changed" callback of the adjustment.  We need to redraw the
3142         spin button's arrows when the adjustment's range changes.
3143         (adjustment_changed_cb): Draw the arrows.
3144         (gtk_spin_button_value_changed): Draw the arrows.
3145
3146 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3147
3148         * gdk/linux-fb/gdkselection-fb.c:
3149         Initial selection implementation.
3150
3151         * gtk/gtkselection.c:
3152         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3153         requestor in gtk_selection_request.
3154         
3155         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3156         Added gdk_selection_property atom.
3157
3158         * gdk/linux-fb/gdkprivate-fb.h:
3159         Export _gdk_selection_window_destroyed.
3160         Removed mask_off_x/y from GdkCursorPrivateFB.
3161         Removed hbearing, added top, left to PangoFBGlyphInfo.
3162
3163         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3164         Call _gdk_selection_window_destroyed
3165         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3166         the root window has been created.
3167         (static_dx_hack, static_dy_hack, compare_draw_rects,
3168         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3169         in region. They are already sorted. Instead just traverse them in
3170         reverse if draw_direction < 0.
3171         
3172         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3173         Double-clicks must be sent after the normal button_press.
3174         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3175         
3176         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3177         Pass _gdk_fb_screen_gc instead of NULL.
3178
3179         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3180         Initialize gdk_selection_property.
3181         (gdk_event_make): Remove unused code.
3182
3183         * gdk/linux-fb/gdkcursor-fb.c:
3184         Make the pixmap for the cursor the same size as the mask. Also remove
3185         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3186         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3187         Now the whole cursor is visible.
3188
3189         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3190         Fix bug where xdest+height instead of ydest+height was used
3191         to calculate if the source and dest overlapped. This fixes the
3192         redraw bug when the main window in testgtk was scrolled when
3193         partially covered by a tall window.
3194         Copy rectangles in region in order depending on draw_direction.
3195         Also moved the draw_direction flipping of start_y and end_y into
3196         the gc functions, as this might not be what all of them want.
3197         (gdk_fb_draw_lines): Support dashed lines.
3198         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3199         so that the text is positioned correctly (was 1 pixel high).
3200
3201         gdk/linux-fb/gdkgc-fb.c:
3202         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3203         all lines were drawn a pixel to short. Also checked the default of
3204         the rest of the values, and they're the same as X now.
3205
3206         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3207         Clean up pixel positioning of the glyphs. Just use bgy->top and
3208         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3209         to all divisions to get correct rounding behaviour.
3210
3211         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3212         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3213         Moved start_y/end_y flip into draw_drawable implementations.
3214         Flip also x rendering when draw_direction < 0.
3215         Remove unneccesary multiply with draw_direction.
3216
3217 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3218
3219         * docs/tutorial/gtk-tut.sgml:
3220           - get rid of gtk_toggle_button_toggled FUD
3221           - start DND section - needs work - based on:
3222                 http://wolfpack.twu.net/docs/gtkdnd/
3223
3224 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3225
3226         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3227         Correct calculation of font metrics. Now GtkEntrys have sane
3228         size.
3229
3230 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3231
3232         * gdk/gdktypes.h:
3233         Add new type GdkSpan
3234         
3235         * docs/reference/gdk/gdk-sections.txt,
3236         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3237         gdk/gdkregion.h:
3238         Implement and document gdk_region_spans_intersect_foreach.
3239
3240         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3241         Add new file gdkrender-fb.c which contains all core
3242         rendering code.
3243         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3244         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3245         (optimized rectangle fillers).
3246
3247         * gdk/linux-fb/gdkdrawable-fb2.c:
3248         Move all rendering code to gdkrender-fb.c.
3249         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3250         Use the new span intersection functions in gdk_fb_fill_spans.
3251         gdk_fb_draw_rectangle() clips filled rectangles and calls
3252         gc->fill_rectangle with the result.
3253         gdk_fb_fill_spans() gets extra argument "sorted".
3254
3255         * gdk/linux-fb/gdkevents-fb.c:
3256         Remove unused includes and defines.
3257         New function gdk_fb_get_time() to get correct time for events.
3258
3259         * gdk/linux-fb/gdkinput-ps2.c:
3260         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3261         Make sure to set the time of all events.
3262
3263         * gdk/linux-fb/gdkmain-fb.c:
3264         Use gdk_fb_get_time ().
3265
3266         * gdk/linux-fb/gdkprivate-fb.h:
3267         New virtual GC calls: fill_span & fill_rectangle.
3268         Export gdk_fb_get_time().
3269         gdk_fb_fill_spans() gets extra argument "sorted".
3270
3271         * gdk/linux-fb/mi*.c:
3272         Use GdkSpan instead of GdkRectangle.
3273         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3274         from XFree 4 source)
3275         
3276 2000-11-22    <jrb@redhat.com>
3277
3278         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3279         reversing the order in an if statement will do.  Doing so managed
3280         to make the treemodelsort half work.  Other half will follow after
3281         I get the insert function fully fixed.
3282
3283 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3284         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3285         more than 2 bits. Besides, I need to implement an evil hack. :)
3286
3287 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3288
3289         * docs/tutorial/gtk-tut.sgml: minor corrections
3290
3291 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3292         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3293           convert to and from relative path's and iters.
3294
3295         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3296           testing sorting functions a bit better.  Currently broken -- will
3297           fix in morning.
3298
3299 2000-11-20  Havoc Pennington  <hp@redhat.com>
3300
3301         * gtk/gtkwidget.c: Documented a bunch of functions in here
3302         (gtk_widget_realize): Warn if you try to realize
3303         a widget with no parent that isn't a toplevel
3304         (gtk_widget_intersect): return a gboolean
3305
3306 2000-11-20  Havoc Pennington  <hp@redhat.com>
3307
3308         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3309         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3310         scrolling to be implemented in GDK to finish. Also, right now
3311         we just size_allocate all children on every layout change,
3312         which is pretty lame. Test commented out of testtext.c, 
3313         until it works better.
3314
3315 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3316
3317         * gdk/linux-fb/gdkdrawable-fb2.c:
3318         Removed unused arguments from gdk_fb_drawable_get_pixel().
3319
3320         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3321         Renamed fidur specific mouse packet data in MouseDevice to
3322         generic. Used it in ps2 mouse handling code to avoid blocking
3323         reads.
3324
3325 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3326
3327         * demos/gtk-demo/main.c: Changed to have the list become
3328         non-italic when the demo window is destroyed through an external
3329         event (like a close button).  Doing so found three bugs in the
3330         widget.
3331
3332         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3333
3334         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3335         we actually set the cell.
3336
3337         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3338
3339         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3340         free a leaked path.  Thanks memprof.
3341
3342 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3343
3344         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3345         off-by-one error when destroying allocated segments
3346         on failure. (Elliot)
3347
3348 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3349
3350         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3351         memleaks found by Evan Martin.
3352
3353 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3354
3355         * Released 1.3.2
3356         
3357         * NEWS: Updates for 1.3.2
3358
3359 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3360
3361         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3362         but in general for window system specific events.
3363
3364         * gtk/gtk.def
3365         * gtk/makefile.mingw.in
3366         * gtk/makefile.msc.in: Update.
3367         
3368         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3369
3370 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3371
3372         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3373         distribute gtk.immodules.
3374
3375         * gtk/Makefile.am (install-data-local): Don't install the
3376         gtk.immodules file created for the uninstalled modules;
3377         instead run gtk-query-immodules after install
3378
3379 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3380
3381         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3382         -rpath to the right install location.
3383
3384         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3385         -export-dynamic.
3386
3387         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3388         properly.
3389
3390 2000-11-15  Havoc Pennington  <hp@pobox.com>
3391
3392         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3393         patch from Mikael Hermansson to temporarily stop blinking while
3394         the user is using the keyboard to type or navigate. 
3395
3396         Also, when blinking, stay on for longer than we stay off. Also,
3397         return from start_cursor_blink if !cursor_visible, to save
3398         checking that flag all over the place before we call
3399         start_cursor_blink.
3400
3401 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3402
3403         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3404         only contain a "fontset" line, which is now ignored.
3405
3406         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3407         double-click-to-select-word work.
3408         
3409 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3410
3411         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3412         Don't move back one char when we are actually at the end of the 
3413         paragraph.
3414
3415 2000-11-15  Robert Brady  <robert@suse.co.uk>
3416
3417         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3418         'o' < 'p'.
3419         
3420         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3421         bind_textdomain_codeset.
3422
3423         (gtk_init_check): Make the warning about translating default:LTR
3424         sterner.
3425         
3426 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3427
3428         * **/Makefile.am : remove unecessary rules for win32-specific
3429         config-substituted targets. If you want these rules, use
3430         --enable-maintainer-mode (called automatically by autogen.sh).
3431         Stops a lot of unneccessary make-time warnings.
3432
3433         * gtk/gtktext{layout,display}.c: Factor in total width as
3434         well as screen when figuring alignment for word-wrap as well as
3435         no wrap; this is necessary to handle lines that cannot be wrapped
3436         at all.
3437
3438 2000-11-15  Havoc Pennington  <hp@redhat.com>
3439
3440         * gtk/testtext.c: Implement essential color cycling feature
3441
3442 2000-11-15  Havoc Pennington  <hp@redhat.com>
3443
3444         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3445         when we invalidate the main window.
3446
3447         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3448         GtkTextView will now invalidate the side windows for us when text
3449         changes.
3450
3451 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3452
3453         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3454         unconditionally, since we may need to update the horizontal
3455         scrollbars even if the height didn't change.
3456
3457         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3458         the extra attrs, since some of them affect size.
3459
3460         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3461         x_offset correctly.
3462
3463 2000-11-15  Havoc Pennington  <hp@redhat.com>
3464
3465         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3466         don't move the first line out into the margin, instead move the
3467         whole paragraph in order to make space for the first line within 
3468         the margin
3469
3470 2000-11-15  Havoc Pennington  <hp@redhat.com>
3471
3472         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3473         xoffset in addition to yoffset, so horizontal scrolling doesn't
3474         break redraws
3475
3476 2000-11-15  Havoc Pennington  <hp@redhat.com>
3477
3478         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3479         from the cursor
3480         (render_layout_line): fix reversed test that caused weird
3481         underlines to get drawn
3482
3483 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3484
3485         * gdk/linux-fb/gdkprivate-fb.h:
3486         Fix debug macros.
3487         
3488 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3489
3490         * gdk/linux-fb/gdkprivate-fb.h:
3491         Added virtual functions set_pixel, get_color,
3492         fill_span and draw_drawable to the GC.
3493         Added global _gdk_fb_screen_gc to use instead of
3494         NULL when drawing to the screen.
3495         Added _gdk_fb_gc_calc_state() prototype.
3496
3497         * gdk/linux-fb/gdkgc-fb.c:
3498         Call _gdk_fb_gc_calc_state() on any gc state change.
3499
3500         * gdk/linux-fb/gdkglobals-fb.c:
3501         Add _gdk_fb_screen_gc
3502                 
3503         * gdk/linux-fb/gdkdrawable-fb2.c:
3504         _gdk_fb_gc_calc_state() calculates best functions
3505         for the GC state and depth.
3506         Moved bpp specialized code to separate functions.
3507         Added optimized 24 bpp AA draw_drawable.
3508
3509         * gdk/linux-fb/gdkevents-fb.c:
3510         Silence gcc warning.
3511
3512         * gdk/linux-fb/gdkimage-fb.c:
3513         Use _gdk_fb_screen_gc
3514
3515         * gdk/linux-fb/gdkwindow-fb.c:
3516         Init and use _gdk_fb_screen_gc
3517
3518         * gdk/linux-fb/mitypes.h:
3519         Remove unused types.
3520
3521 2000-11-14  Havoc Pennington  <hp@pobox.com>
3522
3523         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3524         to pixels
3525
3526 2000-11-14  Havoc Pennington  <hp@pobox.com>
3527
3528         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3529
3530         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3531         unknown char, no real reason we were using a variable. 
3532         Remove gtk_text_unknown_char variable. Fix all the text widget
3533         files accordingly.
3534
3535         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3536         since the Unicode spec seems to prefer that character for our
3537         purposes.
3538
3539 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3540
3541         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3542         value of g_getenv() isn't freeable, so g_strdup it.
3543
3544         * modules/input/inuktitut.c: Inuktitut input method.
3545
3546         * modules/input/Makefile.am: Build this.
3547         
3548 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3549
3550         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3551         of gtk programs.
3552
3553 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3554
3555         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3556         reversed > that was causing Home to go to end of previous line.
3557
3558         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3559         modified-keypresses (leave for bindings.)
3560
3561         * modules/input/Makefile.am: Remove useless -export-dynamic
3562         from module LDFLAGS.
3563
3564 2000-11-14  Havoc Pennington  <hp@redhat.com>
3565
3566         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3567         higher.
3568
3569         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3570         account. Also, render rise, underline, background, etc. for
3571         pixbufs as well as text. Also, draw underlines one pixel higher.
3572
3573         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3574         PangoAttribute for the rise, so it gets drawn properly. Also,
3575         add the GtkTextAppearance attribute for pixbuf/widget segments
3576         as well; we should go ahead and have rise, underline, background,
3577         stipple work for those
3578
3579         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3580         Pango
3581
3582 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3583
3584         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3585
3586         * gtk/gtk.def: Update.
3587
3588         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3589         included.
3590         (gtk_rc_get_im_module_file): Use run-time installation directory
3591         on Win32.
3592
3593         * gdk/win32/rc/gdk.rc: Remove.
3594         * gdk/win32/rc/gdk.rc.in: New file.
3595         * gdk/win32/rc/Makefile.am: New file
3596         * gdk/win32/Makefile.am: Corresponding changes.
3597
3598         * gtk/gtk.rc: Remove.
3599         * gtk/gtk-win32.rc.in: New file.
3600         * gtk/Makefile.am: Corresponding changes.
3601
3602         * configure.in: Corresponding changes.
3603
3604         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3605         has a built gtkcompat.h. Developers using CVS code on Win32 can
3606         hand-edit it from gtkcompat.h.in.
3607
3608         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3609         gtkcompat.h from gtkcompat.h.win32.
3610
3611 2000-11-14  Havoc Pennington  <hp@redhat.com>
3612
3613         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3614         to default to GDK_ACTION_MOVE if the drag is within a single
3615         widget. Defaults to GDK_ACTION_COPY between widgets.
3616
3617 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3618
3619         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3620
3621         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3622
3623         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3624         srcdir != builddir
3625
3626         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3627
3628         * configure.in (GTK_VERSION): Up to 1.3.2
3629
3630         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3631         gtkimcontextxim.h
3632
3633         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3634         missing doc comment.
3635
3636 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3637
3638         * modules/linux-fb/basic.c:
3639         Use the glib iconv wrappers.
3640
3641 2000-11-13  Havoc Pennington  <hp@pobox.com>
3642
3643         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3644         still more bugs.
3645
3646         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3647         scroll the GdkWindows before realization.
3648
3649 2000-11-13  Havoc Pennington  <hp@redhat.com>
3650
3651         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3652         where GC didn't always get updated properly
3653
3654         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3655         of fonts instead of setting the entire font
3656
3657         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
3658         setting entire font
3659
3660         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
3661
3662         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
3663         a bunch of individually-settable font attributes. You can still 
3664         use the "font" and "font_desc" args, they just set all the font
3665         attributes at once.
3666
3667 2000-11-13 Elliot Lee <sopwith@redhat.com>
3668
3669         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
3670
3671 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
3672
3673         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
3674         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
3675
3676         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
3677         work better.
3678
3679 2000-11-13  Havoc Pennington  <hp@redhat.com>
3680
3681         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
3682         the module file.
3683
3684         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
3685         dest->language
3686
3687         * gtk/testtext.c: Test pixels above/below/inside paragraphs
3688         settings
3689
3690         * gtk/gtktextview.c: Implement object args and setters/getters for
3691         all the aspects of the GtkTextAttributes that are not set from
3692         GtkWidget attributes. This is spacing, justification, margins,
3693         etc.
3694
3695         (gtk_text_view_set_arg)
3696         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
3697         args
3698         (gtk_text_view_class_init): Add args for justify, left_margin,
3699         right_margin, indent, and tabs
3700         
3701
3702         * gtk/gtktextlayout.c (set_para_values): fix to display indent
3703         attribute properly
3704
3705         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
3706         replace with indent attribute
3707
3708         * gtk/gtktextlayout.c (set_para_values): multiply indent by
3709         PANGO_SCALE
3710
3711         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
3712         rearranging code to do that
3713         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
3714         i.e. don't subtract the top_margin first, just to keep
3715         all margin-futzing in one place.
3716
3717         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
3718
3719         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
3720         special case of last line, Pango now handles this itself.
3721         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
3722         Y coordinate
3723         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
3724         (find_display_line_above): wasn't moving the byte index as it
3725         iterated over lines, so always returned byte 0. Also, port to use
3726         PangoLayoutIter.
3727         (find_display_line_below): same problem as
3728         find_display_line_above. Also, port to use PangoLayoutIter.
3729
3730 2000-11-13  Alexander Larsson  <alexl@redhat.com>
3731
3732         * gdk/linux-fb/*.[ch]:
3733         Massive reindent to gtk+ standard. My hands hurt.
3734
3735         * gdk/linux-fb/gdkcolor-fb.c:
3736         Move GdkColorPrivateFB from inherited to windowing_data
3737
3738         * gdk/linux-fb/gdkcursor-fb.c:
3739         _gdk_cursor_new_from_pixmap made static
3740
3741         * gdk/linux-fb/gdkdnd-fb.c:
3742         GdkDragContextPrivate moved to windowing_data
3743
3744         * gdk/linux-fb/gdkdrawable-fb2.c:
3745         Removed endian.h, use glib endianness macros instead
3746         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
3747         and GDK_DRAWABLE_IMPL_FBDATA
3748
3749         * gdk/linux-fb/gdkfont-fb.c:
3750         Add empty gdk_font_load(). Needed for linking of Gtk+.
3751
3752         * gdk/linux-fb/gdkimage-fb.c:
3753         Removed endian.h, use glib endianness macros instead
3754         Moved GdkImagePrivateFB to windowing_data
3755         gdk_image_new_bitmap didn't always allocate enough
3756         memory.
3757
3758         * gdk/linux-fb/gdkinput-ps2.c:
3759         Added semi-working support for MS serial mice.
3760
3761         * gdk/linux-fb/gdkprivate-fb.h:
3762         s/GdkWindowPrivate/GdkWindowObject/
3763         Removed GdkWindowPrivate typedef
3764         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
3765         Removed GDK_DRAWABLE_P
3766         Move GdkColorPrivateFB from inherited to windowing_data
3767         Moved GdkImagePrivateFB to windowing_data
3768
3769         * gdk/linux-fb/gdkvisual-fb.c:
3770         Removed some unused debug code.
3771
3772         * gdk/linux-fb/gdkwindow-fb.c:
3773         Use stock cursors instead of including X headers.
3774         s/GdkWindowPrivate/GdkWindowObject/
3775
3776         * gdk/linux-fb/mitypes.h:
3777         Removed unused types.
3778
3779         * modules/linux-fb/basic.c:
3780         Use the pango fribidi wrappers.
3781
3782 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3783
3784         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
3785         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
3786         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
3787         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
3788         GEqualFunc where applicable.
3789         
3790         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
3791         pango_font_description_equal as changed in pango.
3792         
3793         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
3794
3795         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
3796
3797         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
3798
3799         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
3800
3801         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
3802
3803         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
3804
3805         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
3806         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
3807
3808         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
3809         gtk_rc_styles_compare -> gtk_rc_styles_equal.
3810
3811 2000-11-12  Havoc Pennington  <hp@pobox.com>
3812
3813         * demos/gtk-demo/Makefile.am (democodedir): change demo install
3814         dir to datadir/gtk+-2.0/demo
3815
3816         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
3817         sorts of text widget and Pango font bugs. Urgh.
3818
3819         * demos/gtk-demo/Makefile.am (demos): Add textview.c
3820
3821         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
3822         tree that you should double click to see the demo. Fix 
3823         types of variables to reflect changed return values from 
3824         GtkTreeStore and GtkTreeViewColumn constructors.
3825
3826         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
3827         newly-created buffer to prepare for GObject semantics
3828
3829         * gtk/testtext.c: don't leak the buffer with GObject semantics
3830
3831         * gtk/testtextbuffer.c: ditto
3832         
3833 2000-11-12  Havoc Pennington  <hp@pobox.com>
3834
3835         Rename this testgtk to gtk-demo to avoid confusion, and 
3836         install it so people can use it as a supplement to 
3837         the documentation.
3838         
3839         * demos/gtk-demo: Moved from demos/testgtk
3840
3841         * demos/testgtk: Removed
3842
3843         * configure.in: make Makefile in gtk-demo
3844         
3845         * demos/gtk-demo/Makefile.am: Install sample source to 
3846         datadir/gtk-demo (maybe there's a better place?), and 
3847         rename the binary to gtk-demo
3848         
3849         * demos/gtk-demo/main.c (load_file): Load installed sample
3850         source if source isn't found in pwd.
3851
3852 2000-11-09  Havoc Pennington  <hp@pobox.com>
3853
3854         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
3855         argument to set the char displayed when visibility == FALSE
3856         (gtk_entry_create_layout): If !entry->visible, replace 
3857         all chars with the "invisible char"
3858
3859         * gtk/testgtk.c: Test the invisible_char deal
3860         
3861 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
3862
3863         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
3864         can't get a native font in the right encoding.
3865
3866 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
3867
3868         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
3869         respectively.
3870
3871 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
3872
3873         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
3874         Fix warning when moving between paragraphs.
3875
3876         * gtk/gtkentry.[ch]: Change move => move_cursor, 
3877         delete => delete_from_cursor, insert => insert_at_cursor
3878
3879 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
3880
3881         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
3882
3883         * modules/input/imthai-broken.c: A Thai input method for use if
3884         Thai keys are really generating Latin1 keysyms.
3885
3886         * modules/input/Makefile.am: Build these.
3887
3888 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
3889
3890         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
3891         g_filename_{to,from}_utf8 now takes an extra parameter.
3892
3893         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
3894         strftime into UTF-8.
3895
3896         (column_from_x, gtk_calendar_paint_day_names): Support RTL
3897         calendars.
3898
3899         (gtk_calendar_paint_day_names): Draw day names in the right 
3900         place.
3901         
3902 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
3903
3904         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
3905         problem with using result of g_get_charset() backwards -
3906         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
3907
3908         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
3909         negative min_width/height and max_width/height to
3910         mean "requisition"; this allows setting a window
3911         to be user-resizable in only one direction easily.
3912
3913         * gtk/testgtk.c (create_main_window): Remove hard-coded
3914         usize - set a default size in the vertical direction.
3915
3916 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
3917
3918         * gtk/gtkrange.c: Add some missing casts. Support 
3919         2 and 3 button clicks on the arrows to mean 
3920         "move by pages" and "jump to end". (Like gtkspinbutton)
3921
3922 2000-11-12 Hans Breuer <Hans@Breuer.Org>
3923
3924         * gdk/win32/makefile.msc : reflect build module changes
3925
3926         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
3927         from GdkPixmap*, cast implementation member instead.
3928
3929         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
3930         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
3931         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
3932         more Gdi functions return value checking. 
3933         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
3934         GdkImagePrivateWin32 *.
3935
3936         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
3937         menus useable again. Add #pragma message to keep reminded on this issue.
3938         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
3939         windows. This allows to enable backing store on Win32!
3940
3941         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
3942         in drawable is of impl type. Correct specific type checks appropriate.
3943  
3944         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
3945         GDK_WINDOW_DESTROYED before allocating new resources.
3946
3947         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
3948
3949         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
3950         (gdk_window_foreign_new) initialize parent handle.
3951         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
3952
3953         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
3954         Let the GDI invalidate the window on MoveWindow call to fix scrolling
3955         problems (e.g. main buttons in testgtk). 
3956
3957 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
3958
3959         * gtk/gtkentry.c (gtk_entry_key_press): Call 
3960         gtk_widget_activate for GDK_Return.
3961
3962         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
3963         of preedit cursor position.
3964
3965 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
3966
3967         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
3968         static.
3969
3970 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
3971
3972         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
3973         out support for multiple locales; that simple doesn't
3974         work reliably with current Xlib
3975
3976         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
3977         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
3978         Add support for positioning the cursor within the preedit string.
3979
3980 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
3981
3982         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
3983         at XIM input method module.
3984
3985         * gtk/gtktextview.c: Check for bindings after passing
3986         events to im context filter.
3987
3988 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
3989
3990         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
3991         empty attribute lists properly.
3992
3993 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
3994
3995         * gtk/queryimmodules.c (main): Return non-zero exit
3996         status if errors were encountered querying any
3997         modules.
3998
3999         * modules/input/Makefile.am (moduledir): remove
4000         leftover bin program target.
4001
4002         * docs/make-todo: Fix typo in error message.
4003
4004 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4005
4006         * configure.in: Add modules/input/Makefile
4007
4008 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4009
4010         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4011         don't include gtkthemes.h.
4012
4013         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4014         to point
4015
4016         * gtk/Makefile.am: Add new .c and .h files, build 
4017         gtk-query-immodules and use it to create a gtk.immodules
4018         file for use of test programs.
4019
4020         * gtk/gtkpreview.c: remove extra blank line.
4021
4022 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4023
4024         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4025         Add the ability to add extra tables beyond the default
4026         one, and also the ability to have compose sequences 
4027         that are prefixes of other compose sequences. 
4028
4029         * gtk/gtkimcontextsimple.c: Export a preedit string which
4030         consists of possible candidates for keystrokes that have
4031         been entered but not yet committed.
4032
4033         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4034         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4035
4036         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4037         Add a function to add input-method switching menu items
4038         to a menu.
4039
4040         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4041         when switching input methods.
4042
4043         * gtk/gtkimcontextsimple.[ch]: Change the format of
4044         the compose table to allow compose tables of different
4045         lengths / sequence.
4046
4047 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4048
4049         * gtk/gtkimmodule.[ch]: Support routines for loading
4050         GtkIMContext implementations dynamically at runtime.
4051
4052         * modules/input/imcyrillic-translit.c: A sample input
4053         method (based on GtkIMContextSimple with an extra table),
4054         which demonstrates preedit strings and the module
4055         system for input modules
4056
4057         * gtk/queryimmodules.c: Program to query the available
4058         input modules and write the results into a file.
4059          
4060         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4061         extra config options "im_module_file" (cache file for
4062         input method modules), and "im_module_path" - path
4063         to look for modules when generating cache file.
4064
4065         This doesn't scale.
4066
4067 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4068
4069         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4070         generic code from gtkthemes into a new abstraction
4071         GtkModule which has the logic for implementing
4072         a loadable module which implements a number of 
4073         GObject types.
4074
4075 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4076
4077         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4078         a class into an interface  
4079         
4080         * gtk/gtkoldeditable.[ch]: Move the old editable
4081         implementation into here, so legacy widgets can
4082         still rely on the implemenation. GtkOldEditable
4083         exports GtkEditable. Make selection handling
4084         code use new text conversion functions (and
4085         handle UTF-8 as a side-effect). Use GtkClipboard
4086         for CLIPBOARD.
4087
4088         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4089         Adopt to match above changes.
4090
4091         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4092         avoid GtkOldEditable implementation. Restructure
4093         to reduce number of places that modify state directly.
4094         Move to GtkBindingSet. Display the preedit string.
4095         Queue recomputation of PangoLayout and scroll position
4096         to improve effiency of doing complex changes naively.
4097         Add a menu with cut/copy/paste and input method selection.
4098
4099 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4100
4101         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4102         to set preedit string and attributes; display preedit string by
4103         inserting string and attributes at cursor when creating the
4104         GtkTextLineDisplay.
4105
4106         * gtk/gtktextlayout.c: Move all conversions between byte
4107         positions in PangoLayout and GtkTextIter into new functions
4108         line_display_iter_to_index/index_to_iter that properly
4109         handle the preedit string.
4110
4111         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4112         it to return const char * (eventually will end up
4113         as GCONST char *, most likely.)
4114
4115         * gtk/gtktextview.[ch]: Handle the preedit string, call
4116         gtk_im_context_reset() as necessary, add a menu to switch
4117         input methods.
4118         
4119         * gtk/gtktextlayout.[ch]: Remove useless
4120         gtk_text_layout_get_log_attrs() function.
4121
4122 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4123
4124         * gdk/gdk.def
4125         * gtk/gtk.def: Update.
4126
4127         * gdk/win32/*.c: Add last argument to g_type_register_static()
4128         calls.
4129
4130         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4131
4132         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4133         generated by older wheel mouse drivers. Get the correct y
4134         coordinate from WM_MOUSEWHEEL messages.
4135
4136         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4137         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4138         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4139         Debugging functions.
4140
4141         * gdk/win32/gdkprivate-win32.h: Declare them.
4142
4143         * gdk/win32/gdkinput-win32.h: Add declaration for
4144         gdk_input_window_destroy().
4145
4146         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4147
4148 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4149
4150         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4151         function to help handle keeping things in sync.
4152
4153 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4154
4155         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4156         BOXED marshallers.
4157
4158         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4159         (gtk_list_store_class_init): use the new BOXED marshallers.
4160
4161         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4162         new_with_values to new_with_types.
4163         (gtk_tree_store_get_column_type): add this.
4164         (gtk_tree_store_class_init): use the new BOXED marshallers.
4165
4166         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4167         mirror some POINTER marshallers.
4168
4169 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4170
4171         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4172         allow more interesting iterators.  Also, made the lifecycle of
4173         iterators more explicit.
4174
4175         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4176
4177         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4178         types.
4179
4180 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4181
4182         * demos/testgtk/menus.c:
4183         Changes to make the new testgtk compile after
4184         gtk_menu_append was removed.
4185
4186         * gdk/linux-fb/gdkdrawable-fb2.c
4187         (gdk_fb_get_depth, gdk_fb_get_visual,
4188         gdk_drawable_impl_fb_class_init): Implement
4189         these drawable functions. Now GtkImages work again.
4190
4191         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4192
4193         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4194         
4195         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4196         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4197         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4198         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4199
4200 2000-11-08  Havoc Pennington  <hp@pobox.com>
4201
4202         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4203         visible_set args, don't know where these had gone, I thought they
4204         used to be there
4205
4206         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4207         now we can test the feature and see that it's totally broken.
4208
4209 2000-11-08  Havoc Pennington  <hp@pobox.com>
4210
4211         Make DND copy pixbufs and tags when source and target share a 
4212         tag table.
4213         
4214         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4215         in-process GTK_TEXT_BUFFER_CONTENTS target
4216         (gtk_text_view_drag_data_received): Paste from
4217         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4218
4219 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4220
4221         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4222         API changes.
4223
4224         * gtk/gtkmenu.c: Add support for scrolling menus.
4225         Remove gtk_menu_append/prepend/insert, these have been moved to
4226         gtkcompat.h as #defines.
4227
4228         * gtk/gtkcompat.h.in:
4229         Add compatibility #defines for gtk_menu_append/prepend/insert
4230
4231         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4232         GtkMenuPositionFunc gets an extra argument push_in.
4233         gtk_menu_append/prepend/insert removed.
4234         
4235         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4236         positioning behaviour to fit to scrolling menus.
4237
4238         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4239         into menuitem->submeny. That is wrong, and broke torn
4240         off submenus of torn off menus, since they were unrealized
4241         when the first menu was unrealized.
4242
4243         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4244         gtk_menu_shell_select_item() since these need to be overridden in
4245         GtkMenu.
4246
4247         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4248         positioning behaviour to fit to scrolling menus.
4249         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4250         the current item so that it is prelighted when the menu pops up.
4251         This is a workaround to the fact that the menu doesn't get the
4252         initial enter event (due to grabs).
4253
4254         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4255         s/gtk_menu_append/gtk_menu_shell_append/
4256
4257         * gtk/gtknotebook.c:
4258         s/gtk_menu_insert/gtk_menu_shell_insert/
4259
4260         * gtk/testgtk.c (create_menu, create_menus):
4261         Create the first menu with 50 items so that menu scrolling
4262         can be tested.
4263         
4264         
4265         Patch from Jonathan Blandford  <jrb@redhat.com>
4266
4267         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4268         system to handle size requests.  First, we ask what the size of
4269         the toggle is.  Then, when allocating the size, we allocate the
4270         toggle_size first.  This way we can have multiple menu-item
4271         classes w/o needing a seperate class for each.
4272
4273         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4274         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4275
4276         * gtk/gtkcheckmenuitem.c
4277         (gtk_check_menu_item_toggle_size_request): New function to handle
4278         the toggle size-request.
4279
4280 2000-11-07  Havoc Pennington  <hp@redhat.com>
4281
4282         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4283         Half-ass somewhat fix this function, so that scrolling to the
4284         insertion point works. Pango hacking is in the future to really
4285         fix it.
4286
4287         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4288         length of data, no longer used.
4289
4290         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4291         method contents in here, get rid of destroy method
4292         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4293         that were backward. Remove debug spew.
4294         (cut_or_copy): Make the clipboard work with insert_range to
4295         preserve tags and pixbufs, not just the primary selection.
4296
4297 2000-11-07  Havoc Pennington  <hp@redhat.com>
4298
4299         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4300         to gtk_text_mark_get_visible
4301
4302         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4303         bug that was generating an invalid iterator
4304
4305         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4306         ensure_char_offsets() in front of code placing the iter in an
4307         invalid state.
4308
4309         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4310         make override_location arg const
4311         (paste): Replace the selection if we paste into the 
4312         current selection
4313
4314         * gtk/gtkselection.h: Remove "GtkSelectioData"
4315         (struct _GtkSelectionData): move the definition here.
4316
4317         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4318         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4319
4320         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4321
4322         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4323         (gtk_text_buffer_insert_range_interactive): implement
4324         (gtk_text_buffer_get_tags): Remove, replaced by
4325         gtk_text_iter_get_tags()
4326
4327         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4328         limit parameter, to avoid infinite linear scan.
4329         (gtk_text_iter_backward_search): Add search limit
4330         (gtk_text_iter_forward_find_char): Add search limit
4331         (gtk_text_iter_backward_find_char): Add search limit
4332
4333 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4334
4335         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4336         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4337         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4338         gdk/linux-fb/gdkwindow-fb.c:
4339         use g_object_new() instead of g_type_create_instance() which
4340         is a private function for fundamental type implementations.
4341
4342         * gdk/linux-fb/gdkinput-ps2.c:
4343         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4344         instead just store the current modifier state. Add a (somewhat broken)
4345         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4346         Rename exported function gdk_input_ps2_get_mouseinfo to
4347         gdk_input_get_mouseinfo.
4348
4349         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4350         gdk/linux-fb/gdkwindow-fb.c:
4351         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4352         
4353
4354 2000-11-02  Havoc Pennington  <hp@redhat.com>
4355
4356         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4357         use stock buttons. Should be 100% source compatible, appropriate
4358         filesel fields now point to dialog->vbox and dialog->action_area.
4359         On the bizarre side, dialog->action_area and filesel->action_area
4360         are not the same widget.
4361         (gtk_file_selection_init): Put some padding around the selection
4362         entry, so it isn't touching the GtkDialog separator.    
4363
4364         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4365         use stock buttons, etc. Should also be source compatible.
4366         Set the dialog default title in _init not _new().
4367         
4368         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4369         Use stock buttons; don't put a button box inside the existing
4370         dialog button box. Don't bother with push/pop colormap anymore.
4371
4372         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4373         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4374         for message dialog, and necessary for the font selection and color
4375         selection with help and apply buttons.
4376         
4377         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4378         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4379         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4380         between buttons, put less padding around the action area.
4381         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4382         This will also exit the loop if the widget is hidden.
4383         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4384         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4385         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4386         special-case delete event.
4387
4388         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4389         formatting
4390         
4391 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4392
4393         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4394         button to temporarily disable position recording in the
4395         "saved position" test.
4396
4397 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4398
4399         * gtk/gtkthemes.c: added compat code that temporarily implements
4400         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4401         going to be revamped by owen's upcoming GtkModule patches, but
4402         untill then people want gtk to build, right? ;)
4403
4404 2000-11-04  Havoc Pennington  <hp@pobox.com>
4405
4406         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4407         list
4408
4409         * docs/Changes-2.0.txt: Add note about
4410         gtk_container_get_toplevels()
4411
4412         * gtk/gtktextview.h: formatting
4413         
4414         * gtk/gtktextview.c: don't start descriptions with "Returns",
4415         confuses gtk-doc
4416
4417 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4418
4419         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4420         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4421
4422 2000-11-03  Havoc Pennington  <hp@redhat.com>
4423
4424         * gtk/gtktexttagtable.c: Docs
4425         (gtk_text_tag_table_size): return a signed int
4426
4427         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4428         (gtk_text_tag_event): make the event_object a GObject
4429
4430         * gtk/gtktextview.c: Write API docs for all functions.
4431
4432         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4433         for gtk_text_view_get_window_type() called on one of the private
4434         windows.
4435
4436         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4437         directly, call get_buffer() which demand-creates a default
4438         buffer. So gtk_text_view_new() can be used to create a view with a
4439         default buffer in it, if you just want an empty text box users can
4440         put data in. Useful for GUI builders also.
4441
4442 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4443
4444         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4445         the charset encodign portion MUST be in lowercase.
4446         * gtk/gtkrc.az: added file for Azeri language
4447
4448 2000-11-03  Havoc Pennington  <hp@redhat.com>
4449
4450         Get widgets working on the btree/buffer side. Display of them 
4451         still doesn't work.
4452         
4453         * gtk/gtktextview.c: start implementing child widget stuff
4454
4455         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4456
4457         * gtk/gtktextlayout.c: handle embedded widgets
4458
4459         * gtk/gtktextdisplay.c: handle embedded widgets
4460
4461         * gtk/gtktextchild.c: Implement all the child anchor goo
4462
4463         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4464         function
4465
4466         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4467         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4468         creating a child anchor or a pixbuf segment.
4469         (gtk_text_btree_create_child_anchor): new function
4470         (gtk_text_btree_unregister_child_anchor): new function
4471
4472         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4473         allocate_child signal on GtkTextLayout
4474
4475         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4476         values
4477         (gtk_text_iter_get_child_anchor): new function
4478
4479         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4480         default handler for the changed signal, which calls
4481         gtk_text_buffer_set_modified(), instead of just always emitting
4482         changed then calling set_modified() manually. I guess this is
4483         maybe more flexible. It seems logical.
4484
4485 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4486
4487         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4488         now.
4489
4490         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4491
4492 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4493
4494         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4495         been marked static.
4496
4497 2000-11-02  Havoc Pennington  <hp@redhat.com>
4498
4499         * gtk/testgtk.c (create_labels): had a test backward
4500
4501         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4502         fields, so the dest GC ends up with the correct clip origin, 
4503         etc. Fixes a bug where colored labels didn't redraw 
4504         properly.
4505
4506 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4507
4508         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4509         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4510         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4511         Add last argument to t_type_register_static call.
4512         
4513         * gdk/linux-fb/gdkdrawable-fb2.c:
4514         Add last argument to t_type_register_static call.
4515         export the get_image drawable virtual function.
4516
4517         * gdk/linux-fb/gdkimage-fb.c:
4518         Add last argument to t_type_register_static call.
4519         rename gtk_image_get to _gdk_fb_get_image and
4520         export it for use by gdkdrawable-fb2.
4521
4522         * gdk/linux-fb/gdkprivate-fb.h:
4523         export _gdk_fb_get_image.
4524
4525         * gdk/linux-fb/gdkselection-fb.c:
4526         Add new api call stubs.
4527
4528         * gtk/Makefile.am:
4529         Missing ( in linux-fb part.
4530
4531         * modules/linux-fb/Makefile.am:
4532         Must link with gdk_pixbuf or get unresolved symbol.
4533
4534 2000-11-01  Havoc Pennington  <hp@pobox.com>
4535
4536         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4537         GTK_TYPE_TEXT_ITER and BOXED marshallers
4538
4539         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4540
4541         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4542         
4543         * gtk/gtk-boxed.defs: add GtkTextIter
4544
4545         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4546         properly use OBJECT and BOXED
4547
4548 2000-11-01  Havoc Pennington  <hp@redhat.com>
4549
4550         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4551
4552         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4553         before returning it. 
4554         
4555 2000-11-01  Havoc Pennington  <hp@redhat.com>
4556
4557         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4558         Clip the rectangle to be rendered to the drawable, since
4559         get_from_drawable() requires a region within the drawable
4560
4561 2000-11-01  Havoc Pennington  <hp@redhat.com>
4562
4563         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4564         from coordinates.
4565
4566 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4567
4568         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4569         it isn't NULL.
4570
4571 2000-11-01  Havoc Pennington  <hp@pobox.com>
4572
4573         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4574         on a label
4575         (gtk_label_finalize): unref the attr list if any.
4576
4577         * gtk/testgtk.c (create_get_image): close test on second click
4578         (make_message_dialog): close dialog if it exists
4579
4580         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4581
4582         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4583         gdk-pixbuf
4584
4585         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4586         from Pango markup format
4587         (gtk_label_set_markup_with_accel): ditto but with accelerator
4588         parsing
4589
4590         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4591
4592         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4593         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4594         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4595         call gdk_window_get_origin().
4596
4597         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4598         implement GDK_PIXBUF_ALPHA_FULL
4599         
4600 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4601
4602         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4603         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4604         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4605         multiple handlers respectively, instead of only treating the
4606         first handler found (bug reported by owen).
4607
4608 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4609
4610         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4611
4612         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4613
4614         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4615         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4616         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4617
4618         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4619         widget.  Needs writing someday.
4620
4621         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4622         the docs.
4623
4624 2000-10-30  Havoc Pennington  <hp@redhat.com>
4625
4626         * gtk/gtktextview.h, gtk/gtktextview.c:
4627         Rename delete_at_cursor delete_from_cursor, and 
4628         move to move_cursor.
4629
4630 2000-10-30  Havoc Pennington  <hp@redhat.com>
4631
4632         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4633         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4634         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4635         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4636         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4637         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4638         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4639         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4640         gtktexttypes.h, gtktextview.c, gtktextview.h:
4641
4642         Massive reindentation and reformatting. Arg alignment and comments
4643         still need fixing in various places.
4644
4645 2000-10-30  Havoc Pennington  <hp@redhat.com>
4646
4647         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4648         to be named insert_at_cursor and delete_at_cursor so C++ can
4649         handle them.
4650
4651 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4652
4653         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4654         to get a double directory separator in case the home directory
4655         ends with one. This would cause trouble especially on Windows,
4656         where the path will be confused with the syntax for an an UNC
4657         (network share) path \\server\share\path.
4658         (gtk_rc_add_initial_default_files): Ditto.
4659
4660 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
4661
4662         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
4663
4664         * gtk/gtktextview.c: Use correct marshallers.
4665
4666 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
4667
4668         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
4669         use new iter stuff, and added all the appropriate signals et al.
4670
4671         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
4672         code is internal to gtk only.
4673
4674 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4675
4676         * gtk/gtk.def
4677         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
4678         glib-genmarshal etc.
4679
4680 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
4681
4682         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
4683         parallel builds.
4684
4685 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
4686
4687         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
4688
4689 2000-10-27  Robert Brady  <robert@suse.co.uk>
4690
4691         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
4692         en_GB (British), ia (Interlingua).
4693
4694 2000-10-26  Havoc Pennington  <hp@redhat.com>
4695
4696         * gtk/gtktextiter.c (my_strrstr): fix constness warning
4697
4698         Fixed output of:
4699         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
4700         
4701         * gtk/gtktextsegment.c (char_segment_new): rename
4702         (_char_segment_new_from_two_strings): rename
4703         (_toggle_segment_new): rename
4704         
4705         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
4706         (make_clipboard_widget): make it static
4707         (text_get_func): static
4708         (text_clear_func): static
4709
4710         * gtk/gtkcolorsel.c (adjustment_changed): make this function
4711         static
4712         (hex_changed): make it static
4713         (hsv_changed): make it static
4714         (opacity_entry_changed): make it static
4715
4716         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
4717         (toggle_segment_check_func): rename with _gtk
4718
4719         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
4720         (_widget_segment_new): rename
4721         (_widget_segment_add): rename
4722         (_widget_segment_remove): rename
4723         (_widget_segment_ref): rename
4724         (_widget_segment_unref): rename
4725
4726         * gtk/gtktextmark.c (_mark_segment_new): Rename
4727         _gtk_mark_segment_new   
4728
4729 2000-10-26  Havoc Pennington  <hp@redhat.com>
4730
4731         * gtk/gtkmarshal.list: add new marshallers used by the text widget
4732         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4733         types
4734
4735         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
4736         marshaller types
4737
4738         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
4739         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
4740         license on these files.
4741
4742         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
4743         work.
4744
4745         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
4746         runtime random number different for each tree, instead of 
4747         a constant I made up.
4748
4749 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
4750
4751         * gtk/Makefile.am: buncha cleanups, kludged build sources
4752         dependencies with a Makefile: oldest-source-stamp dependancy
4753         for the moment. automake is really fighting us here, with
4754         intentionally not allowing user-defined rules or dependancies
4755         prior to it's -include $(DEP_FILES) statement. sucks rocks!
4756
4757         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
4758         to public headers. tehy have a comment stating that they are
4759         "semi-public" aren't included by gtk.h and if enums popup there,
4760         they can be /*< skip >*/-ed.
4761
4762         * gtk/gtktextlayout.h: 
4763         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
4764         added LGPL... <SIGH>
4765
4766 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
4767
4768         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4769         GtkTreeIter.  Added iterators everywhere.
4770
4771         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
4772
4773         * gtk/gtktreeviewselection.c: Changed to use the iterators.
4774
4775         * gtk/gtktreestore.c: Changed to use the iterators.
4776
4777         * gtk/gtkliststore.c: Commented out the code.  Will convert to
4778         iterators tomorrow.
4779
4780         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
4781         iterators tomorrow.
4782
4783         * gtk/treestoretest.c: Changed to use iterators.
4784
4785         * demos/testgtk/main.c: Moved to use the new iterator system.
4786
4787 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
4788
4789         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
4790         localization misbehaviour.
4791
4792         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
4793         a useless type without copy/free.
4794
4795         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
4796         of GTK_TYPE_CTREE_NODE.
4797
4798 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
4799
4800         * gtk/gtksignal.c:
4801         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
4802         applicable.
4803
4804         * gtk/gtk-boxed.defs (GtkSelectionData): specify
4805         gtk_selection_data_copy and gtk_selection_data_free
4806         do GtkSelectionData work as params in signals.
4807
4808 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
4809
4810         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
4811         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
4812         couldn't they at least give it a non-standard name?
4813         
4814         * gtk/gtktextlayout.c: arg! yet another implementation of
4815         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
4816
4817         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
4818         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
4819         home. now i know this _is_ a conspiracy.
4820
4821         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
4822         ::state-changed.
4823
4824         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
4825         (gtk_accel_group_create_add): marshaller signature fixups.
4826
4827         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
4828         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
4829
4830         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
4831         anymore.
4832
4833 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
4834
4835         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
4836         due to the signal system changes, it wouldn't build currently. to
4837         be fixed soon.
4838
4839         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
4840
4841         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
4842         so it needs gtk_marshal_VOID__ENUM() instead of
4843         gtk_marshal_NONE__UINT().
4844
4845         * gdk/gdk*.c: adapted type registration functions.
4846
4847         * gtk/gtkbindings.c:
4848         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
4849         gone.
4850
4851         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
4852
4853         * gtk/gtkobject.c:
4854         (gtk_object_destroy):
4855         (gtk_object_shutdown): fixed recursion guards. basically we have to
4856         catch the case where any of GObject.shutdown() or gtk_object_destroy()
4857         is called during ::destroy, and avoid recursion there.
4858
4859         * gtk/gtktypeutils.c:
4860         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
4861         boxed_copy/boxed_free. this needs a more general solution based on a
4862         publically installed code-generator utility.
4863
4864         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
4865         glib's gobject has support for that now.
4866         define GtkSignalMarshaller in terms of GSignalCMarshaller.
4867
4868 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
4869
4870         * gtk/gtksignal.[hc]:
4871         * gtk/gtkmarshal.[hc]:
4872         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
4873         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
4874         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
4875         care of that.
4876
4877         * *.c: marshaller name fixups.
4878
4879         * gtk/gtkmarshal.list: added a comment briefing the format.
4880
4881 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
4882
4883         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
4884         compatibility macros here now. more specifically, most of
4885         the API is preserved (yes, _most_, nonwithstanding the
4886         following exceptions listed, the API is stil lHUGE ;)
4887         things that got removed completely:
4888         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
4889         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
4890         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
4891         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
4892         gtk_signal_remove_emission_hook().
4893         non-functional functions variants:
4894         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
4895         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
4896         not supported anymore.
4897         (gtk_signal_compat_matched): new internal function to aid
4898         implementation of the compatibility macros, it  provides
4899         functionality to block/unblock/disconnect handlers based
4900         on func/data.
4901
4902         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
4903
4904         * *.c: adaptions to new type registration API signatures.
4905
4906 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
4907
4908         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
4909
4910 2000-10-25  Robert Brady  <robert@suse.co.uk>
4911
4912         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
4913         gdk_property_delete): If window == NULL, assume the root window.
4914         (restoring the behaviour that was in 1.2).
4915         
4916         * gtk/testtext.c (save_buffer): Allow creation of new files when
4917         saving.
4918
4919         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
4920         calls to read().
4921
4922 2000-10-25  Tor Lillqvist  <tml@iki.fi>
4923
4924         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
4925
4926         * gdk/win32/gdkdrawable-win32.c
4927         * gdk/win32/gdkimage-win32.c
4928         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
4929         X11 backend.
4930
4931         * gdk/win32/gdkcc-win32.c
4932         * gdk/win32/gdkcolor-win32.c
4933         * gdk/win32/gdkfont-win32.c
4934         * gdk/win32/gdkinput-win32.c
4935         * gdk/win32/gdkmain-win32.c
4936         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
4937
4938 2000-10-24  Havoc Pennington  <hp@redhat.com>
4939
4940         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
4941         it a static function
4942
4943         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
4944         redraw text when a tag is applied to it.
4945
4946         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
4947         (gtk_text_tag_affects_nonsize_appearance): private functions to
4948         see if a tag requires various kinds of redraw/layout to be queued
4949         up.
4950
4951         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
4952
4953         * gtk/testtext.c (fill_example_buffer): Put the cursor 
4954         at the start of the buffer, so search works by default
4955
4956         * gtk/gtktextiter.c (lines_match): init match_start always
4957
4958         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
4959         function, get iter at a line + a byte index
4960
4961         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
4962         to set byte position within a line
4963         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
4964
4965 2000-10-23  Havoc Pennington  <hp@redhat.com>
4966
4967         * gtk/testtext.c: Re-enable the "find" dialog
4968
4969         * gtk/testgtk.c: Add test for gdk_drawable_get_image
4970         
4971         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
4972         the arguments to gdk_draw_drawable were in the wrong order
4973         (gdk_window_paint_init_bg): This function was ignoring the
4974         init_region, instead of clipping to it, so the entire backing
4975         pixmap was cleared on every begin_paint()
4976         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
4977         was in here again, the loop kept using the same GtkWindowPaint
4978         over and over.
4979         (gdk_window_begin_paint_region): Fix a bug where we had two
4980         x_offset instead of x_offset and y_offset
4981
4982         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
4983         before we get the image.
4984         (gdk_draw_drawable): get the composite before we draw the drawable.
4985         (gdk_drawable_real_get_composite_drawable): default
4986         get_composite_drawable implementation that returns the drawable 
4987         itself
4988
4989         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
4990         get_composite_drawable virtual function
4991
4992         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
4993         list-walking bug
4994
4995         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
4996         make this work if the source drawable is a GdkDrawableImplX11
4997         instead of a public drawable type. This is really broken; the
4998         problem is that GdkDrawable needs a virtual method get_xid(), but
4999         of course that doesn't work in practice. Enter RTTI.
5000
5001         Also, improve mismatched depth message.
5002
5003         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5004         GdkPixmap
5005
5006         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5007         install _gdk_x11_get_image as our implementation of get_image
5008         
5009         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5010         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5011
5012         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5013         gdk_drawable_get_image
5014
5015         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5016
5017         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5018         get_image
5019
5020         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5021         trailing semicolon after for loop
5022
5023 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5024
5025         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5026         where font_desc for widget's context lagged widget's font_desc by
5027         one step.
5028
5029 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5030
5031         * gdk/win32/gdkgc-win32.c
5032         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5033
5034         * gtk/makefile.mingw.in
5035         * gtk/gtk.def: Updates.
5036
5037         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5038         library.
5039
5040         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5041
5042         * gtk/makefile.msc: Remove
5043
5044         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5045
5046         * gtk/Makefile.am: Add it.
5047
5048         * configure.in: Generate it.
5049
5050         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5051         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5052         something even if not implemented, to satisfy picky MSVC.
5053
5054         Patches by Hans Breuer:
5055         
5056         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5057         SetBkMode() and SetTextAlign() before calling
5058         pango_win32_render().
5059
5060         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5061         Set hcliprgn to NULL after destroying it.
5062         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5063
5064         * gdk/win32/gdkgeometry-win32.c
5065         (_gdk_windowing_window_queue_antiexpose): More effective
5066         implementation.
5067
5068         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5069         depth as default, not the visual's.
5070
5071         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5072         against empty title.
5073
5074         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5075         IMAGE_PRIVATE_DATA.
5076
5077         * gdk/win32/gdkimage-win32.c: Use it.
5078
5079 2000-10-22  Robert Brady  <robert@suse.co.uk>
5080
5081         * configure.in: Check for bind_textdomain_codeset
5082
5083         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5084         present, make use of it.
5085
5086         Add a translatable string "default:LTR" which, if translated
5087         to "default:RTL", will cause the default direction to be
5088         Right-to-Left.
5089
5090         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5091         direction if marked as flippable.
5092
5093         * gtk/gtkhscale.c: Mark widget as flippable.
5094         
5095 2000-10-04  Havoc Pennington  <hp@redhat.com>
5096
5097         * gtk/testgtk.c (create_buttons): create some stock buttons
5098         with the default accel group
5099         (create_image): test some new GtkImage features
5100         (make_message_dialog): test GtkMessageDialog
5101         (create_modal_window): fix someone's bizzarro indentation
5102
5103         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5104         GTK_WIN_POS_CENTER_ON_PARENT. 
5105         Add "destroy with parent" setting, which means the window goes
5106         away with its transient parent.
5107         (gtk_window_get_default_accel_group): get the default accel group
5108         for the window.
5109         (gtk_window_set_destroy_with_parent): set/unset destroy with
5110         parent flag
5111         (gtk_window_read_rcfiles): invalidate icon set caches
5112         after reloading rcfiles 
5113
5114         * gtk/gtkenums.h (GtkWindowPosition): add
5115         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5116         on its parent window when the dialog is mapped for the first time.
5117
5118         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5119         a simple message dialog class
5120         
5121         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5122         handler to emit response signal, and maybe later it would
5123         honor a hide_on_delete flag - though that isn't there yet.
5124         Set border width on the vbox to 2, so we get some padding.      
5125         Use a button box for the action area.
5126         (gtk_dialog_key_press): synthesize a delete event if Esc
5127         is pressed and the GtkWidget key press handler didn't 
5128         handle the escape key.
5129         (gtk_dialog_new_with_buttons): new function creates a dialog
5130         with some default buttons in it.
5131         (gtk_dialog_add_action_widget): add an activatable widget
5132         as a button in the dialog - you can also add a non-activatable
5133         widget by accessing the action area directly.
5134         (gtk_dialog_add_button): add a simple button - stock ID or 
5135         label - to the action area
5136         (gtk_dialog_response): emit response signal
5137         (gtk_dialog_run): block waiting for the dialog, return 
5138         the response. Override normal delete_event behavior, so that 
5139         delete_event does nothing inside gtk_dialog_run().
5140
5141         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5142         emitted when an action widget is clicked or the dialog gets
5143         delete_event
5144
5145         * gtk/gtk.h: add gtkmessagedialog.h
5146
5147         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5148
5149 2000-10-18  Havoc Pennington  <hp@redhat.com>
5150
5151         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5152         where any number of empty lines would get skipped
5153
5154         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5155         edge.
5156
5157         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5158         warning about invalid iterators (explain more thoroughly)
5159         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5160
5161         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5162         big
5163
5164         * demos/*.c: Add error handling
5165
5166         * gtk/gtktextbuffer.c: don't modify const iterators
5167
5168         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5169
5170         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5171         on file load
5172
5173         * gtk/gtkiconfactory.c: Update to reflect addition of error
5174         handling to gdk-pixbuf loaders
5175
5176 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5177
5178         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5179         move to new modularized testgtk.
5180
5181 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5182
5183         * gtk/gtktreeview.c: Draw the arrows correctly.
5184
5185         * gtk/gtktreemodel.c: Added user docs.
5186
5187         * gtk/gtk.h: remove gtktreedatalist.h.
5188
5189         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5190         parent when generating my type.
5191
5192         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5193         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5194
5195 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5196
5197         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5198         GtkTreeModel from object to interface.
5199
5200 2000-10-16  Havoc Pennington  <hp@redhat.com>
5201
5202         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5203         compilation
5204
5205 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5206
5207         * gtk/gtktreeselection.c: Add API documentation to all public
5208         functions.
5209
5210         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5211         functions.
5212
5213 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5214
5215         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5216         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5217         docs to all public functions.
5218
5219         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5220         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5221         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5222         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5223         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5224         issue.
5225
5226 2000-10-14  Robert Brady  <robert@suse.co.uk>
5227
5228         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5229
5230 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5231
5232         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5233         values other then G_TYPE_STRING.
5234         * gtk/gtktreeselection.c: Minor commenting updates.
5235         * gtk/gtktreeview.c: Format updates.
5236
5237 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5238
5239         * README.win32: Update.
5240
5241         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5242         lines that had been deleted by mistake (?).
5243
5244         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5245         also the case fg==white and bg==black (but still not randomly
5246         coloured cursors). Thanks to Wolfgang Sourdeau.
5247
5248         * gdk/win32/*.c: Silence gcc -Wall.
5249
5250         * gtk/gtk.def: Add missing entry points.
5251
5252         Fixes by Hans Breuer:
5253
5254         * gdk/makefile.msc
5255         * gdk/win32/makefile.msc: Update.
5256
5257         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5258         some MSVC thing, presumably), cause breakpoint on failures. Add
5259         GDK_NOR case. Call g_log_set_always_fatal.
5260
5261         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5262         should be pased by reference.
5263         
5264         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5265         
5266         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5267
5268         * gdk/win32/gdkevents-win32.c
5269         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5270
5271         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5272         implementation object.
5273
5274         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5275         not just windows.
5276         
5277         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5278         Use the wrapper object.
5279         
5280 2000-10-06  Havoc Pennington  <hp@redhat.com>
5281
5282         * Makefile.am (SRC_SUBDIRS): contrib subdir
5283
5284         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5285         so it can be used in Xlib version
5286
5287         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5288         tree
5289
5290         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5291         change from 1.0 tree that returns first frame of animation
5292         if the loaded file is an animation.
5293
5294         * contrib: add new directory to hold stuff that comes with GTK+
5295         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5296         
5297         * configure.in: add contrib/*
5298
5299 2000-10-05  Havoc Pennington  <hp@redhat.com>
5300
5301         * demos/testpixbuf-save.c: add pixbuf save test
5302
5303         * demos/Makefile.am: add testpixbuf-save.c
5304
5305 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5306
5307         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5308         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5309         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5310         * gtk/gtktreeselection.[ch]: Replaced
5311         "node_selected"/"node_unselected" signal with "selection_changed"
5312         signal.
5313
5314 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5315
5316         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5317         tree widget.
5318
5319 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5320
5321         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5322         drawing.
5323
5324 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5325
5326         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5327         Move list pointer forwards before removing item from
5328         list. (Crash reported by Salmaso Raffaele)
5329
5330         * gdk/gdkwindow.h: Remove spurious trailing ,
5331
5332         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5333         dependencies on uninstalled libraries, sorry folks.
5334
5335 2000-10-04  Havoc Pennington  <hp@redhat.com>
5336
5337         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5338         gtk/gtkiconfactory.c: Fix copyrights    
5339
5340         * demos/testpixbuf.c: add inline pixbuf test
5341         
5342 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5343
5344         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5345         Add gdk_window_iconify.
5346
5347         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5348         (gdk_window_set_geometry_hints): Add win_gravity
5349         to geometry structure.
5350
5351         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5352         Implement _NET_WM_PING.
5353
5354         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5355         Set _NET_WM_PID on the client leader.
5356
5357         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5358         Handle UTF-8 better.
5359
5360         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5361         UTF-8 better, set _NET_WM_NAME as well. Only set
5362         icon name if it hasn't previously been explicitely 
5363         set.
5364
5365 2000-10-03  Havoc Pennington  <hp@redhat.com>
5366
5367         * gtk/testtextbuffer.c: clean up trailing whitespace,
5368         add extensive tests for tag toggle iteration.
5369         
5370         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5371         distance
5372
5373         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5374         optimize case where the tag root is on level 1
5375         (gtk_text_line_previous_could_contain_tag): attempt to implement
5376         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5377         functionality
5378
5379         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5380         Implement this, though not very efficiently.
5381
5382         * gtk/gtktextiterprivate.h: reformat
5383
5384         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5385         iterator
5386
5387         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5388         this to properly revalidate the iterators.
5389
5390         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5391         properly at the end of the line (and therefore on empty lines)
5392
5393         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5394         maybe we should return a value...
5395
5396 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5397
5398         * config.h.win32: Guard definition of alloca(). glib.h now handles
5399         that.
5400
5401         * gdk/gdk.def
5402         * gtk/gtk.def: Add new entry points.
5403
5404         Changes just to make GTK+ build without errors on Win32. No hope
5405         of it working in its current state, though...:
5406         
5407         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5408         some functions from the X11 backend, just to make GTK+ build.
5409
5410         * gdk/makefile.mingw.in
5411         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5412         number. Add new object files.
5413
5414         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5415         GetMessageTime to get timestamp (where on X11 uses
5416         gdk_x11_get_server_time()).
5417
5418 2000-10-02  Havoc Pennington  <hp@pobox.com>
5419
5420         * gtk/gtktextview.c: text_window_* weren't static and should have
5421         been.
5422         Start work on child widgets; not yet complete, syncing to 
5423         office computer.
5424
5425         * gtk/gtktextchild.h: change this to contain a public interface,
5426         starting work on child interfaces.
5427         * gtk/gtktextchildprivate.h: move private interfaces here
5428
5429         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5430
5431         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5432         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5433         gtk/gtktextmark.c: copyright notices
5434
5435         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5436         internal functions      
5437
5438         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5439         internal function
5440
5441         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5442         Reformatting    
5443
5444 2000-09-30  Havoc Pennington  <hp@pobox.com>
5445
5446         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5447         NULL start/end pointers
5448
5449         * gtk/gtktextbuffer.c: Write some docs
5450         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5451         NULL, so you can just check whether there's a selection.        
5452
5453         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5454         cleanup_line or segments_changed ourselves, it gets done 
5455         in unlink_segment
5456
5457         * gtk/gtktextmark.h:
5458         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5459         
5460         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5461
5462         * gtk/gtktextmark.c: delete some more old Tk cruft
5463
5464         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5465         mark before removing it, so we can emit MARK_DELETED with a valid
5466         pointer.
5467         (gtk_text_buffer_mark_set): hold ref across signal emission
5468
5469         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5470         whining about attempts to delete special marks
5471
5472         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5473         underscore, since it's internal.
5474
5475         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5476         now implemented in terms of iterators in gtktextiter.h
5477
5478         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5479         New function, destructively sets contents of buffer. Also 
5480         a convenient way to clear the buffer by setting text to ""
5481
5482         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5483         multiline string literal
5484
5485         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5486         text changes.
5487
5488         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5489         is not dereferenceable
5490         (gtk_text_iter_forward_lines): fix return value
5491
5492 2000-09-29  Havoc Pennington  <hp@redhat.com>
5493
5494         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5495
5496         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5497         that set border window size to have nicer name
5498         (gtk_text_view_mark_set_handler):  Fix this to have the 
5499         right signature.
5500
5501         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5502
5503         * gtk/testtext.c: Update with API changes, put line numbers on 
5504         both sides.
5505         
5506         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5507         with this
5508
5509         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5510         pixbuf; delete a big block of #if 0 Tk code
5511
5512         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5513         insert_pixmap with insert_pixbuf
5514
5515 2000-09-29  Martin Baulig  <baulig@suse.de>
5516
5517         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5518         confusion with the GdkPixbuf of the GNOME 1.x platform.
5519
5520 2000-09-29  Havoc Pennington  <hp@pobox.com>
5521
5522         * gtk/gtktextview.c: Implement the side windows.
5523
5524         * gtk/testtext.c: Implement simple line numbering in the 
5525         left side window; seems to make scrolling sloooow. Oops.
5526         Also, cursor blink is for some reason causing redraws
5527         of the line numbers. Should investigate...
5528
5529 2000-09-28  Havoc Pennington  <hp@redhat.com>
5530
5531         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5532         scrolling child windows, and draw focus rectangle properly.
5533         
5534         (gtk_text_view_buffer_to_window_coords):
5535         Coordinate transformation to deal with all these freaking windows
5536         and offsets
5537         (gtk_text_view_window_to_buffer_coords): transform the other way
5538
5539         * gtk/testtext.c (create_buffer): Update to match Pango API change
5540
5541         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5542         anonymous tags
5543         (foreach_unref): don't emit remove signal from finalize, just
5544         set tag's parent to NULL
5545
5546 2000-09-26  Havoc Pennington  <hp@redhat.com>
5547
5548         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5549         Fix some warnings       
5550
5551 2000-09-26  Havoc Pennington  <hp@redhat.com>
5552
5553         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5554         headers into the private header list
5555
5556         * Makefile.am (pkgconfig_DATA): install pkg-config files
5557
5558         * configure.in: add pkg-config files
5559
5560         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5561
5562         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5563         outstanding icon caches on theme change.
5564
5565         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5566         important types:
5567
5568         (GtkIconSource): Specification for creating a pixbuf 
5569         appropriate for a direction/state/size triplet from 
5570         a source pixbuf or filename
5571
5572         (GtkIconSet): List of GtkIconSource objects that are used to
5573         create the "same" icon (e.g. an OK button icon), and cache for
5574         rendered icons
5575
5576         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5577         up the icon set for a given stock ID.  GTK maintains a stack of
5578         GtkIconFactory to search, and applications or libraries can add
5579         additional icon factories on top of the stack
5580         
5581         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5582         the set of GtkIconSource specified for a given stock ID into 
5583         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5584         RcStyle, under the specified stock ID.
5585
5586         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5587         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5588         This allows people to theme how prelight, insensitive, etc. are
5589         done.
5590
5591         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5592         icon factories for a style, and return the resulting 
5593         icon set if any.
5594
5595         (gtk_style_render_icon): Render an icon using the render_icon 
5596         method in the GtkStyleClass.
5597
5598         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5599         Use the style for a given widget to look up a stock ID, get the
5600         icon set, and render an icon using the render_icon method 
5601         of the style
5602
5603         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5604         (contains information about a stock item), the built-in stock item
5605         IDs, and functions to add/lookup stock items.
5606
5607         * gtk/stock-icons/*: Stock icons that come with GTK
5608
5609         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5610         a button based on a GtkStockItem
5611         (gtk_button_new_accel): Takes a uline string and accel group, and
5612         installs the accelerator.
5613
5614         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5615         image-display widget.
5616
5617 2000-09-25  Havoc Pennington  <hp@redhat.com>
5618
5619         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5620
5621         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5622         Fix a bug when removing node data, we didn't properly 
5623         re-splice the linked list after removing the data.
5624
5625         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5626         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5627
5628         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5629
5630         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5631         for the layout from the GtkTextTag.
5632
5633         * gtk/gtktexttypes.h: delete tab and search cruft, 
5634         remove g_convert() in favor of GLib version
5635
5636         * gtk/gtktexttypes.c: remove tab implementation from here,
5637         move to Pango
5638
5639         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5640         tab stuff using new PangoTabArray from Pango
5641
5642         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5643         unused border_width stuff
5644
5645 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5646
5647         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5648         glib) and now useless utf_to_latin1() latin1_to_utf()
5649
5650         * gtk/gtktextview.[ch]: Change ::move_insert and
5651         ::delete_text action signals to ::move and ::delete;
5652         create the signals with the right enumeration type,
5653         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5654         C-v bindings, change Home, End to move to beginning/end
5655         of line, Add C-Home C-End to move to beginning/end
5656         of buffer. Change ::cut_text to ::cut_clipboard, etc;
5657         combine ::scroll_text into ::move; use new GtkSelectionData
5658         functions to simplify DND text handling.
5659         
5660         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
5661         deletion enumerations here, rename enumeration values to 
5662         be consistently plural.
5663
5664         * gtk/gtktextbuffer.c: Use new clipboard interfaces
5665         for cut/copy/paste and primary selection.
5666
5667         * gtk/gtktextbuffer.[ch]: Remove excess time and
5668         'interactive' arguments from cut/copy/paste;
5669         rename cut to cut_clipboard, etc; remove
5670         gtk_text_buffer_get_clipboard_contents().
5671
5672         * gtk/gtktextlayout.[ch]: Add 
5673         gtk_text_layout_move_iter_to_line_end() to move the iter to 
5674         line ends.
5675
5676         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
5677         Functions to set or get a UTF-8 string on the selection
5678         data.
5679
5680         * gtk/gtkclipboard.[ch]: New, simplified selection handling
5681         interfaces.
5682
5683         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
5684         created widgets - one of these is useless if we don't.
5685
5686         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
5687         a public function clear all targets registered for the
5688         widget.
5689
5690         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
5691         Never call gtk_widget_realize() - that was just asking
5692         for bizarre side-effects.
5693
5694         * gtk/gtkselection.c (gtk_selection_owner_set): Call
5695         gdk_selection_owner_set even if the widget is the
5696         same so that we reliably update the timestamp on
5697         the server.
5698
5699         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
5700         gdk_x11_get_server_time() function.
5701         
5702         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
5703         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
5704         Add some tricky filtering on serial numbers for
5705         selection clear events to fix up long-standard
5706         race condition FIXME's in gtkselection.c.
5707
5708         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
5709         routines to convert from utf8 to compound text or
5710         STRING and from a text property to UTF-8.
5711
5712         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
5713         a convenience function gdk_get_current_event_time().
5714
5715         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
5716         and free selection_data->data properly
5717
5718 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
5719
5720         * gtk/gtkthemes.c: Remove some unecessary includes.
5721
5722 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
5723
5724         * gtk/gtktextdisplay.c
5725         * gtk/gtktextlayout.c
5726         * gtk/gtktexttag.c
5727         * gtk/gtktexttag.h
5728         * gtk/testtext.c: Change the overstrike property to strikethrough,
5729         to closer match pango.
5730
5731 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
5732
5733         * gtk/gtktextview.c: Fix up visibility so that focus,
5734         cursor_visible and blink interact properly.  Reenable cursor blink
5735         which had been roughly disabled. Make blink and focus
5736         properly per-view.
5737
5738         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
5739         Add a flag for whether to display insertion cursor and
5740         a function to set the flag.
5741
5742         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
5743         get_line_y() to get_line_yrange(), to be a bit more generally
5744         useful.
5745
5746 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
5747
5748         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
5749           do stop_navigating_submenu, to clear last timeout properly.
5750           Also in gtk_menu_motion_notify move ignore_enter above
5751           the conditional to make it always happen as suggested by Owen
5752
5753 2000-09-07  Tor Lillqvist  <tml@iki.fi>
5754
5755         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
5756
5757         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
5758         w32api headers.
5759
5760         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
5761         declarations.
5762
5763         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
5764         (gdk_win32_get_colormap): A line had been deleted by mistake.
5765
5766         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
5767         (gdk_event_translate): Handle more virtual keycodes to be able to
5768         generate GDK events for Control-comma, Control-period, etc.
5769
5770         * gtk/gtk.def: Add some missing entry points.
5771
5772 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
5773
5774         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
5775         Doc comment fixing. (Mostly non-matching parameter names.)
5776
5777         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
5778         comments a little to avoid looking like a doc comment.
5779
5780         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
5781         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
5782         conversions be changed to GError?)
5783
5784         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
5785         Move private #defines into .c file.
5786
5787         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
5788         order of argument addition, remove duplicates.
5789
5790         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
5791         parent class is FrameClass, not BinClass.
5792
5793         * gtk/gtk.h: Add gtkinvisible, which was missing.
5794         (It's occasionalyl useful for client apps, if seldom.)
5795
5796         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
5797         #define.
5798
5799 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
5800
5801         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
5802         coordinates when creating window, instead of GDK-space
5803         coordinates. (Avoid BadValue on too large windows.)
5804
5805 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5806
5807         * configure.in (use_mmx_asm): Remove conftest* after use along the
5808         lines of AC_TRY_COMPILE.        
5809         
5810         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
5811         of g_dirname, which is deprecated.
5812         (gtk_rc_parse_any): Removed calls to
5813         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
5814
5815         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
5816         Removed calls to g_hash_table_{freeze,thaw}, as they are
5817         deprecated now.
5818
5819         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
5820         instead of g_basename.
5821         
5822 2000-09-04 Elliot Lee <sopwith@redhat.com>
5823         
5824         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
5825         ANSI warning.
5826
5827 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
5828
5829         * gtk/gtkwidget.h:  Add some documenting comments about 
5830           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
5831           just as owen said on irc.
5832
5833         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
5834           set HAS_DEFAULT.  Only set it if there isn't another window
5835           holding it (a focus window which RECEIVES_DEFAULT) and only unset
5836           it if the widget is not the focused window with RECEIVES_DEFAULT.
5837           This fixes weird double default bugs in dialogs which has things
5838           call gtk_window_set_default at times.
5839
5840 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
5841
5842         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
5843         Nils Barth and David Santiago to improve submenu
5844         navigation. The patch does this by creating a triangular
5845         region from the point where the pointer leaves the
5846         menu to the submenu.  While the pointer is in
5847         that region and a timeout has not expired, events 
5848         that would cause the active submenu to change are
5849         ignored.
5850
5851 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
5852
5853         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
5854         moving a toplevel window immediately after sizing it would
5855         result in it being sized back to the old size since 
5856         impl->width, impl->height aren't updated until we hear
5857         back from the server. There is still a (longstanding) bug
5858         here that gdk_window_get_size() will give the wrong size
5859         until we do hear back.
5860
5861 2000-08-31  Havoc Pennington  <hp@redhat.com>
5862
5863         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
5864         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
5865         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
5866         Rename GtkTextStyleValues to GtkTextAttributes
5867
5868 2000-08-31  Havoc Pennington  <hp@pobox.com>
5869
5870         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
5871         for rapid testing whether an iterator is the end iterator
5872         (gtk_text_btree_new): init end line cache
5873         (gtk_text_line_is_last): use fast cached line to 
5874         see if we're the last line.
5875         (get_last_line): use cached line here too, should 
5876         speed up some random unrelated code.
5877         
5878 2000-08-30  Havoc Pennington  <hp@pobox.com>
5879
5880         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
5881         signals.
5882
5883         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
5884         delete_text signals. This allows the signals to be used for
5885         implementing undo.
5886
5887         * gtk/gtktextbuffer.c: Change signal handler signatures; 
5888         provide "interactive" argument when emitting insert_text or
5889         delete_text signal.
5890         
5891 2000-08-30  Havoc Pennington  <hp@pobox.com>
5892
5893         * gtk/gtktextbuffer.c: Docs
5894
5895 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
5896
5897         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
5898         from switch statements, since Tor removed the enumeration
5899         value.
5900         
5901         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
5902         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
5903
5904 2000-08-29 Elliot Lee <sopwith@redhat.com>
5905         * */*.h: Use G_GNUC_CONST.
5906
5907 2000-08-27  Havoc Pennington  <hp@pobox.com>
5908
5909         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
5910         minor indentation fixes, inserted some FIXME about stuff I
5911         realized was broken while documenting it.
5912         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
5913         GTK convention  
5914
5915 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
5916
5917         * gtk/testgtk.c (create_styles): Fix double free of
5918         font desc.
5919
5920 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
5921
5922         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
5923         
5924         * gtk/testgtk.c (create_styles): Add a test for modifying
5925         the style through gtk_widget_modify_*.
5926
5927         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
5928         a function to get the current modifier style.
5929
5930         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
5931         of the passed in GtkRcStyle instead of ref'ing it.
5932
5933         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
5934
5935 2000-08-20  Tor Lillqvist  <tml@iki.fi>
5936
5937         * gdk/gdkimage.h
5938         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
5939         shared memory image+pixmap GdkImage type, or
5940         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
5941         I am dropping that.
5942
5943         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
5944         actually call gtk_init_abi_check(), passing also
5945         sizeof(GtkWindow). Ditto for gtk_init_check(). 
5946
5947         * gtk/gtk.def
5948         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
5949         New functions, used to check that the GTK+-using code has been
5950         compiled using the correct compiler and switches. In particular,
5951         with gcc one has to use the -fnative-struct switch as GTK+ is
5952         compiled with that.
5953
5954 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
5955
5956         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
5957         ->prev fields when merging lists. (Found simultaneously
5958         by Pawel Salek and Jakub Jelinek)
5959
5960 2000-08-12  Tor Lillqvist  <tml@iki.fi>
5961
5962         * gdk/gdk.def
5963         * gtk/gtk.def: Add missing entries.
5964
5965         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
5966         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
5967
5968         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
5969         function. Dummy implementation at this point.
5970
5971         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
5972         rules. Undefine GTK_COMPILATION when compiling the test programs.
5973         
5974         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
5975
5976 2000-08-11  Tor Lillqvist  <tml@iki.fi>
5977
5978         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
5979         to convert back and forth from UTF-8 and the "system" (or "current
5980         locale") charset when necessary. Indentation/spacing cleanup.
5981
5982 2000-08-10  Havoc Pennington  <hp@redhat.com>
5983
5984         * Makefile.am (snapshot): Change the format of the snapshot
5985         version to match glib
5986
5987         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
5988         from EXTRA_DIST since it doesn't seem to exist
5989
5990 2000-08-10  Tor Lillqvist  <tml@iki.fi>
5991
5992         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
5993         version of the directory name (not the UTF-8 one) when building
5994         the path name to stat().
5995
5996 2000-08-03  Elliot Lee  <sopwith@redhat.com>
5997
5998         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
5999         PANGO_ATTR_SHAPE set.
6000
6001 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6002
6003         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6004         Peter Osterlund to simplify the code while keeping the
6005         functionality the same.
6006
6007 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6008
6009         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6010         is_viewable() test further inside the function, since removing the 
6011         window from the redraw list without clearing ->update_area
6012         was also very broken.
6013
6014 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6015
6016         * configure.in: Check for <unistd.h>.
6017
6018 2000-08-01  Martin Baulig  <baulig@suse.de>
6019
6020         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6021         to display the message that this is a development version of GTK+.
6022
6023 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6024
6025         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6026         was depending on widget->allocation instead of the width of text_area,
6027         which was incorrect for subclasses like GtkSpinButton.
6028
6029         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6030         with width == 1 tests that should be width == -1.
6031
6032 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6033
6034         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6035         (broken, Elliot, every single window blank on X) custom code with call
6036         to gdk_window_is_viewable() which a) prevents code duplicate and
6037         b) works. 
6038
6039 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6040
6041         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6042         to get the GDK_PARENT_ROOT() macro to work.
6043         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6044         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6045         of, windows that aren't shown.
6046         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6047         pointer grab stuff.
6048
6049 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6050
6051         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6052           s/gtk_main_iteration/g_main_iteration/
6053
6054           Did this already in change:
6055                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6056           don't know how it got reverted.
6057
6058 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6059
6060         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6061         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6062
6063         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6064         not gdk_pixbuf.
6065
6066 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6067
6068         * configure.in,po/{sp,sr}.po: Added Serbian files
6069
6070 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6071
6072         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6073
6074         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6075         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6076         GIOChannel implementation.
6077
6078         * gdk/win32/gdkinput.c
6079         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6080
6081         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6082         definition to match prototype.
6083
6084         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6085
6086 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6087
6088         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6089         function, to allow handling image formats that cannot be detected
6090         by looking at content alone.
6091
6092 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6093
6094         * docs/tutorial/*.gif *.jpg *.eps
6095           Update these to the same look-n-feel.
6096           Why does including images in DocBook suck so badly?
6097
6098 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6099
6100         * gtk/gtktable.c: applied patch from Phil Thompson
6101         <phil@river-bank.demon.co.uk> that enables space settings for
6102         the last row/columns as well.
6103
6104 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6105
6106         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6107         updates the license headers to the GNU Lesser General Public License,
6108         as well as updating the copyright year to 2000.
6109
6110 2000-07-26  Robert Brady  <rwb197@zepler.org>
6111
6112         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6113           and po/Makefile, was installing and looking for them under gtk20
6114           and gtk2 respectively.
6115
6116 2000-07-25  Havoc Pennington  <hp@redhat.com>
6117
6118         * gtk/testtext.c: Comment out some stuff that depends on the rest
6119         of my patches.
6120
6121 2000-07-25  Havoc Pennington  <hp@redhat.com>
6122
6123         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6124         buffer
6125
6126 2000-07-25  Havoc Pennington  <hp@redhat.com>
6127
6128         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6129         widget changes.
6130
6131         * gtk/gtktextview.h: To be consistent with usage of "line"
6132         throughout the API to mean "newline-terminated thingy", change
6133         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6134         to MOVEMENT_LINE.
6135
6136         (GtkTextView): Add flags for default editability, and whether to
6137         show the cursor. Add functions to get/set that. Add 
6138
6139         (gtk_text_view_get_iter_location): new function
6140
6141         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6142         gtktextlayout.h
6143         (g_convert): Add g_convert temporarily, will go in glib in a bit
6144         
6145         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6146         GtkTextTagTableForeach instead of brokenly using GHFunc.
6147         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6148
6149         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6150         moved to public header.
6151
6152         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6153         "invisible", since "elide" was a bad name.
6154         (gtk_text_tag_get_priority): Added
6155
6156         (GtkTextStyleValues): put this in public header, along with
6157         functions to use it.
6158
6159         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6160         longer include gtktextbtree.h.
6161
6162         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6163         gtk_text_mark_deleted
6164
6165         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6166         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6167         to make this possible. Now we only need to install
6168         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6169         (However the Makefile.am isn't changed yet because of the
6170         logistics of merging gtk-hp-patches piecemeal)
6171
6172         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6173         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6174         gtk_text_iter_get_line is now used in the public API for a
6175         different purpose.
6176
6177         * gtk/gtktextiter.h: Clean up function names to be more
6178         consistent. Always call char offset "offset" and byte index
6179         "index". A "line" is always a line number. 
6180
6181         (gtk_text_iter_is_last): new function, more efficient than 
6182         the existing way to check
6183         (gtk_text_iter_is_first): new function, also more efficient
6184
6185         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6186
6187         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6188         gtk_text_iter_forward_char, etc.
6189
6190         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6191         forward_find_tag_toggle, since this isn't a linear search
6192
6193         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6194
6195         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6196         New functions, search for a buffer substring.
6197
6198         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6199         interactive and default editable (since we need to store that info
6200         until we receive the selection data).
6201
6202         Remove all the _at_char and at_line etc. versions of functions;
6203         only have iterator versions.
6204
6205         Add _interactive() versions of functions, that consider the
6206         editability of text. (FIXME add interactive flag to the 
6207         insert/delete signals per Darin's suggestion)
6208
6209         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6210         tag table if necessary
6211
6212         Remove declaration of gtk_text_buffer_get_iter_from_string
6213
6214         (_gtk_text_buffer_get_btree): private/internal function, added.
6215         
6216
6217         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6218         (gtk_text_line_is_last): new function
6219
6220 2000-07-25  Havoc Pennington  <hp@redhat.com>
6221
6222         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6223         using GtkProgressBar. See Changes-2.0.txt for details.
6224
6225         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6226         "pulse_step" which are the equivalent of
6227         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6228         Implement new API.
6229         
6230         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6231         (use_text_format) to mark whether text set on the progress bar is
6232         a format string. Deprecate entire GtkProgress interface.
6233
6234         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6235         (gtk_progress_build_string): make this a no-op if use_text_format
6236         is FALSE
6237
6238         * docs/Changes-2.0.txt: Describe progress bar changes.
6239
6240 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6241
6242         * Makefile.am: Include the build directory.
6243
6244         * configure.in: Generate build/Makefile, build/win32/Makefile,
6245         gdk/, gdk/win32/, and gtk/makefile.mingw.
6246
6247         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6248         Add GETTEXT_PACKAGE.
6249         
6250         * gdk/gdk.def
6251         * gtk/gtk.def: Updates.
6252
6253         * gdk/gdkfont.h
6254         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6255         need them any longer.
6256
6257         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6258
6259         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6260         PANGOWIN32_LIBS and gdk_pixbuf.
6261
6262         * gdk/win32: Compiles, but no doubt doesn't work at all.
6263
6264         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6265
6266         * gdk/win32/gdkinput.c: New file, temporarily.
6267         
6268         * gdk/win32/gdkinput-win32.h: New file
6269
6270         * gdk/win32/gdkinputprivate.h: Remove.
6271
6272         * gdk/win32/gdkpango-win32.c: New file.
6273
6274         * gtk/makefile.mingw.in: New file
6275
6276         * gtk/makefile.cygwin: Removed
6277         
6278         * gtk/Makefile.am: Update accordingly.
6279
6280         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6281         made externally visible.
6282
6283         * gtk/gtkmain.c: Use it.
6284         
6285         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6286         is enough.
6287
6288         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6289
6290 2000-07-24 Elliot Lee <sopwith@redhat.com>
6291         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6292         individual backends already.
6293         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6294         again. Yes, there really is a good reason for this, if you are using the gdkregion
6295         internals, and if you're not, why do you care?
6296         * gdk/gdkwindow.c: Fix inverted condition
6297         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6298         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6299         * gtk/gtkrange.c: Redraw trough when moving.
6300         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6301         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6302
6303 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6304
6305         * configure.in: Check for mkstemp and sigsetjmp. Output
6306         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6307
6308         More work on GDK for Win32. Still in an intermediate state.
6309
6310         * gdk/makefile.cygwin
6311         * gdk/win32/makefile.cygwin: Removed.
6312         
6313         * gdk/makefile.mingw.in
6314         * gdk/win32/makefile.mingw.in: New files.
6315
6316         * gdk/Makefile.am
6317         * gdk/win32/Makefile.am: Generate and distribute them.
6318
6319         * gdk/win32/gdkwindow-win32.h
6320         * gdk/win32/gdkdrawable-win32.h
6321         * gdk/win32/gdkpixmap-win32.h: New files.
6322
6323         * gdk/win32/gdkcolor-win32.c
6324         * gdk/win32/gdkcursor-win32.c
6325         * gdk/win32/gdkdrawable-win32.c
6326         * gdk/win32/gdkgc-win32.c
6327         * gdk/win32/gdkimage-win32.c
6328         * gdk/win32/gdkprivate-win32.h
6329         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6330         Rename fields and variables called xcursor, xid, etc (these names
6331         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6332
6333 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6334
6335         * gtk/gtkentry.[ch]: Fix some problems with vertical
6336         alignment.
6337
6338         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6339         char/byte confusion.
6340
6341 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6342
6343         * gtk/gtktextview.c (changed_handler): Fix bug where
6344         redraw wasn't being done properly when height of
6345         dirty region changed.
6346
6347         * demos/Makefile.am: Remove various references to
6348         -lgmodule
6349
6350 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6351
6352         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6353         PangoAttrShape to reserve space for pixmaps, add 
6354         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6355         in the display functions.
6356         
6357         * gtk/testgtk.c (create_layout): Set some more exotic
6358         scrolled window options
6359
6360         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6361         Add function to set the shadow type of a window, to allow
6362         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6363         which don't draw their own frame.
6364
6365 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6366
6367         * docs/tutorial/package-db-tutorial.sh: New file for
6368           packaging DocBook format tutorial
6369
6370 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6371
6372         * docs/tutorial/gtk-tut.sgml: Minor updates
6373
6374         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6375
6376 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6377
6378         * gtk/gtksignal.c: Fix C++ comment.
6379
6380         * gtk/gtkimmulticontext.c
6381         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6382         don't return value from void functions.
6383
6384         * gtk/gtk.def: Add gtk_rc_style_unref.
6385
6386 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6387
6388         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6389         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6390         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6391         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6392         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6393         gtk/gtktypeutils.h: Include files outside of the extern "C"
6394         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6395         <vakatov@peony.nlm.nih.gov>.
6396
6397 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6398
6399         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6400           Completes first pass. Hurrah!
6401
6402 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6403
6404         * docs/tutorial/gtk-tut.sgml: More clean ups.
6405
6406 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6407
6408         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6409         paint the background of the text area which was accidentally
6410         removed at some point.
6411
6412         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6413           
6414          - Move most of the functionality from the theme vtable
6415            into GtkRcStyleClass and GtkStyleClass. The moved
6416            vtable functions were changed a bit in the move to
6417            work better in their new home.
6418
6419          - Get rid of the engine and engine_data fields from
6420            GtkRcStyle and GtkStyle; instead the theme
6421            engine derives theme-specific subclasses of GtkRcStyle
6422            and GtkStyle
6423
6424          - Add extra dlsym() found entry point to themes,
6425            theme_create_rc_style().
6426
6427         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6428         in gtk_style_real_copy.
6429
6430         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6431         to register a type associated with an engine. (The engine
6432         won't be unloaded as there is an instance of the type.)
6433
6434
6435 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6436
6437         * docs/tutorial/gtk-tut.sgml: Clean ups.
6438
6439 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6440
6441         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6442           of cleaning up to do.
6443
6444 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6445
6446         * gdk/testgdk.c: New file, quick hack to test backends for
6447         pixel-by-pixel correctness of the most simple graphic operations.
6448
6449 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6450
6451         * Really release 1.3.1
6452         
6453         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6454         include structure.
6455
6456 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6457
6458         * Released 1.3.1
6459
6460 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6461
6462         * gtk/gtktextlayout.c: use FALSE for size_only most
6463         of the time when calling gtk_text_layout_get_line_display()
6464         to avoid causing double reshapes when a redraw follows
6465         immediately after.
6466
6467 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6468
6469         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6470         appropriate region and gdk_window_process_updates() so trough
6471         updating doesn't lag behind the window being scrolled.
6472
6473         * gdk/gdkgc.c: Make parent_class pointer static.
6474          
6475 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6476
6477         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6478         include <string.h>.
6479          
6480         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6481         cut-and-paste error in computing memory offset for 4 channels.
6482
6483 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6484
6485         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6486         gtk_rc_append_default_pixmap_path(), since it wasn't
6487         adding an interesting path and we don't have a meaningful
6488         default for this value.
6489
6490 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6491
6492         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6493         gtk-config to gtk-config-2.0 move gtk_.m4 to
6494         gtk-2.0.m4
6495
6496         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6497         gdk/Makefile.am demos/Makefile.am: Change 
6498         library names to libgtk-1.3.la, etc, so that we
6499         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6500
6501         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6502         gdk/Makefile.am gdk/x11/Makfile.am
6503         Move include files into /usr/include/gtk-2.0, 
6504         /usr/lib/gtk-2.0/include/
6505          
6506         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6507         gtk/gtkintl.h: Change package for gettext from 
6508         gtk+ to gtk20. Put hack in autogen.sh to modify
6509         po/Makefile.in.in after gettextize to make this
6510         possible.
6511
6512         * gtk+.spec: Some updates, not tested.
6513
6514         * gdk-pixbuf/Makefile.am: Move loaders into
6515         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6516
6517         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6518         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6519         to THEMENAME/gtk-2.0/. Move engine directory  to
6520         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6521         
6522 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6523
6524         Win32 changes, still doesn't build though.
6525
6526         * gdk/makefile.cygwin
6527         * gdk/win32/makefile.cygwin
6528         * gtk/makefile.cygwin: Updates.
6529
6530         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6531         default values for fg and bg pixel as X11 does (0 and 1), not
6532         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6533         Use 0 for pen width by default (treated as 1 anyway later, but for
6534         apps that might check the value in the GdkGC).
6535         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6536         interface to gdk_gc_predraw and _postdraw.
6537
6538         * gdk/win32/gdkwin32.h
6539         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6540
6541         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6542         extraneous semicolon.
6543
6544         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6545
6546         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6547         not the Win32 bitspixel value.
6548
6549         * gdk/win32/gdkcc-win32.c:
6550         * gdk/win32/gdkcolor-win32.c 
6551         * gdk/win32/gdkprivate-win32.h
6552         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6553         GDK object structure.
6554
6555 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6556
6557         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6558         * docs/tutorial/gtk_tut_it.sgml (name): 
6559         * docs/tutorial/gtk_tut_fr.sgml (name): 
6560         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6561         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6562
6563 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6564
6565         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6566           small changes.
6567
6568 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6569
6570         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6571         a bug here, never been here and never fixed anything ;(
6572         (don't segfault if tree->root_tree is NULL, which happens prior
6573         to widget realization, but puke instead).
6574
6575 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6576
6577         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6578         add the necessary tokens.
6579
6580         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6581         (gtk_rc_style_to_style): copy thicknesses.
6582         (gtk_rc_init_style): apply thicknesses.
6583         (gtk_rc_parse_style): parse xthickness and ythickness.
6584
6585         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6586
6587         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6588         (gdk_window_new): 
6589         (_gdk_windowing_window_init): 
6590         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6591         (gdk_pixmap_create_from_data): 
6592         (gdk_bitmap_create_from_data): 
6593         (gdk_pixmap_new): 
6594         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6595         (gdk_image_new): 
6596         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6597         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6598         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6599         (gdk_colormap_get_system): 
6600         (gdk_colormap_new): 
6601         * gdk/gdkwindow.c (gdk_window_init): 
6602         * gtk/gtkstyle.c (gtk_style_new):
6603         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6604         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6605         * gtk/gtkrc.c (gtk_rc_style_new):
6606         use g_object_new() instead of g_type_create_instance() which
6607         is a private function for fundamental type implementations.
6608
6609 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6610
6611         * configure.in: Add check for db2html
6612
6613 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6614
6615         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6616         hack to set glib_debug_objects based on gtk_debug_flags.
6617
6618 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6619
6620         * INSTALL.in: Update the Prerequisites section.
6621
6622         * Makefile.am demos/Makefile.am docs/Makefile.am
6623         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6624         gdk/linux-fb/Makefile.am: Dist fixes
6625
6626 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6627
6628         * NEWS: 10,000 foot view of 1.3.1 changes.
6629
6630 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6631
6632         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6633         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6634         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6635         gdk/x11/gdkmain-x11.c: 
6636
6637         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6638         as a return value of gdk_*_grab(). Previously, we just
6639         returned the X11 values directly.
6640
6641 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6642
6643         * gdk/x11/Makefile.am: Patch from George Lebl to 
6644         install all the headers in the right place.
6645
6646 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6647
6648         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6649           initial conversion to DocBook.
6650
6651 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6652
6653         * README.win32: Improve a bit.
6654
6655         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
6656         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
6657         Alt+0nnn on the numpad (used to enter characters by numeric code
6658         from current DOS or ANSI codepage) working correctly, as in other
6659         Windows apps.
6660
6661         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
6662         same argument validity tests as in X11 version.
6663         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
6664
6665         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
6666         definitions in case missing from headers.
6667
6668         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
6669         destroy the window-specific cursor.
6670         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
6671         calling GetModuleHandle(NULL).
6672         (gdk_window_set_cursor): Reworked to always copy the passed cursor
6673         with CopyCursor before setting it as the window-specific
6674         cursor. It is OK for the caller to destroy the GdkCursor (and thus
6675         also its Windows cursor) after calling this function. Destroy any
6676         previous window-specific cursor.
6677
6678 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
6679
6680         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
6681         font charset is iso8859-1, not iso-8859-1.
6682
6683 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
6684
6685         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
6686         Use g_get_charset() instead of g_get_codeset().
6687
6688         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
6689         Comment out some strdup'ing functions to keep timj
6690         happy until we finish fighting this out.
6691
6692 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
6693
6694         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
6695         <= width or height.
6696
6697         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
6698         from 1.2 for parent/child states.
6699
6700         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
6701         of typos.
6702
6703         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
6704         event structures, replace with a generic axes field. Replace 
6705         deviceid/sourec with GdkDevice *device.
6706
6707         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
6708         to extract particular axis use value from event. (Also
6709         can be used for normal X/Y.)
6710
6711         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
6712         allow for arbitrary number of axes, namespace everything
6713         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
6714         everywhere.
6715
6716         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
6717         Get rid of the gdk_input_vtable setup if favor of simply
6718         defining the functions in gdkinput-none/gxi/xfree.c in
6719         a similar fashion to the way that the port structure is 
6720         done.
6721
6722         * gtk/gtkdnd.c: Fix fields of synthesized button press event
6723         for new event structures. 
6724
6725         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
6726         new device interfaces.
6727
6728 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
6729
6730         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
6731         set the initial text.
6732
6733         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
6734         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
6735         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
6736         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
6737
6738         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6739         pango_layout_set_font_description to simplify.
6740
6741 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
6742
6743         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6744         pango_layout_set_font_description to simplify.
6745
6746 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
6747
6748         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
6749         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
6750         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
6751
6752         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
6753         PANGO_PIXELS() macro.
6754
6755 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
6756
6757         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
6758         that returns a PangoContext owned by the widget and updated to
6759         match future changes in the widget. Also, make 
6760         gtk_widget_create_pango_layout() use this context. If we ever
6761         add a ::changed signal to PangoContext, this will make things
6762         much more convenient. 
6763
6764         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
6765         in the appropriate places instead of destroying the layouts and
6766         creating new ones.
6767
6768         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
6769         in a few strategic places.
6770
6771 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
6772
6773         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
6774         gtk_widget_size_request() on reparented child, if one. Otherwise,
6775         queue_resize() on the child never results in it getting size-requested
6776         at all.
6777
6778         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
6779         in option menus, so that (with luck) people won't copy it into
6780         their apps in the future.
6781
6782         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
6783         to gtk_option_menu_calc_size. This isn't perfect, but should fix
6784         a lot of problems with changing the size of the menu's menu
6785         items after adding it to the option menu.
6786
6787         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
6788
6789         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
6790         the text direction for a widget changes.
6791
6792         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
6793         ::direction_changed to get rid of various hacks.
6794
6795 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
6796
6797         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
6798         name.
6799
6800 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
6801
6802         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
6803         flag to the structure. Do not call XFreePixmap on pixmaps created
6804         by gdk_pixmap_foreign_new().
6805
6806 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
6807
6808         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
6809         value using GdkRGB functionality given GdkColormap and GdkColor.
6810         (name not final, waiting for inspiration.)
6811         
6812         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
6813         set the foreground/background of a GC using the GC's colormap
6814         and GdkRGB. (name not final, waiting for inspiration.)
6815
6816         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
6817         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
6818
6819         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
6820         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
6821         purely a function of the corresponding colormap. Make
6822         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
6823
6824         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
6825         gdk_pixbuf_*create_from_xpm_* in terms of
6826         gdk_pixbuf_new_from_xpm_data(), move into platform independent
6827         code.
6828
6829         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
6830         advantage of the new draw_rgb_32_image_dithalign.
6831
6832         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
6833
6834         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
6835         on each created GC.
6836
6837         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
6838
6839         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
6840         which we initialize from the drawable when the GC is created,
6841         if the drawable has a colormap.
6842
6843         * gdk/x11/gdkgc-x11.c: include string.h for memset.
6844
6845         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
6846
6847         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
6848
6849 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
6850
6851         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
6852         actually returning expose events, make sure to set
6853         the count field properly.
6854
6855         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
6856         accidentally reintroced bug which always cleared
6857         the graphics_exposures value. 
6858
6859 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
6860
6861         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
6862
6863 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
6864
6865         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
6866
6867 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
6868
6869         * docs/faq/gtk-faq.sgml: Start of Section 6.
6870
6871 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
6872
6873         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
6874         
6875         (Fixes problem with drawing childless frames. Pointed out
6876         by and a first patch from Anders)
6877         
6878         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
6879         compute a child_allocation, even if we don't have a child.
6880
6881         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
6882         Always chain to the parent's impl, even if we don't have a child.
6883
6884 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
6885
6886         * gdk/gdkrgb.c: If possible, create only a single shm segment and
6887         use multiple parts of it instead of creating a bunch of separate
6888         segments, since the maximum number of segments per system is not
6889         large. (This might be worth backporting to GTK+-1.2.x if we make a
6890         new release )
6891
6892         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
6893         structure in preparation for per-colormap GdkRGB.
6894
6895         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
6896         to False when we get EINVAL from shmget so that the caller of
6897         gdk_image_new can retry with a smaller segment size.
6898
6899 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
6900
6901         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
6902
6903 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
6904
6905         * configure.in: make the current version number 1.3.1 (binary age 0,
6906         interface age 0).
6907         
6908         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
6909         gtkcompat.h is all we want.
6910
6911         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
6912         GLib primitive types. fixed g_type_register_fundamental() argument
6913         ordering.
6914
6915         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
6916         compiles.
6917
6918         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
6919         object code cleanup, comment trigraph fixes, etc...
6920
6921 2000-06-23  Havoc Pennington  <hp@redhat.com>
6922
6923         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
6924         instead of making up a bogus name for first_para_mark
6925
6926         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
6927         0 as a context ID
6928
6929 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
6930
6931         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
6932
6933 2000-06-21  Havoc Pennington  <hp@pobox.com>
6934
6935         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
6936         we didn't check window->bg_pixmap != GDK_NO_BG.
6937
6938         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
6939         gdk-pixbuf
6940
6941 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
6942
6943         * docs/faq/gtk-faq.sgm: Move file to here.
6944           TODO: Update Makfile.am 
6945
6946 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
6947
6948         * docs/gtk-faq.sgm: Add Section 2
6949
6950 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
6951
6952         * docs/gtk-faq.sgm: New file. Start of DocBook
6953           version of the FAQ.
6954
6955 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
6956
6957         * configure.in (GDK_PIXBUF_MAJOR): Define version
6958         numbers for GDK_PIXBUF_*, as they get substituted
6959         into a header file. Need to consider versioning
6960         for gdk-pixbuf more carefully later.
6961
6962 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
6963
6964         Work with srcdir != builddir.   
6965         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
6966         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
6967         * demos/testpixbuf.c: Likewise.
6968         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
6969         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
6970         <gdk/x11/gdkx.h>.
6971         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
6972         "gdk-pixbuf.h".
6973         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
6974
6975 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
6976
6977         * TODO.xml: Change 1.4 version numbers to 2.0.
6978
6979 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
6980
6981         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
6982         fixups to GTK+ standard.
6983
6984 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
6985
6986         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
6987         gdk-pixbuf.
6988
6989         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
6990         fixups for GObject.
6991
6992         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
6993         gdk-pixbuf with GDK dependencies moved into GDK.
6994         
6995         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
6996         move gdk-pixbuf-loader here until GObject has signals.
6997
6998         * demos/: New directory of demos. Move demos from
6999         gdk-pixbuf here.
7000
7001         * demos/pixbuf-init.c: Small bit of code to check for
7002         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7003         set GDK_PIXBUF_MODULEDIR appropriately.
7004
7005         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7006         define which no longer makes sense.
7007
7008 2000-06-21  Havoc Pennington  <hp@redhat.com>
7009
7010         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7011         gtk_get_default_language
7012
7013         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7014         new function to get the default language
7015
7016         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7017         s/gtk_text_view_style_values/gtk_text_style_values/
7018
7019         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7020         Add a "language" field to tags.
7021
7022         (gtk_text_tag_set_arg): Fix bug in setting
7023         "bg_full_height_set" tag.
7024
7025 2000-06-21  Havoc Pennington  <hp@redhat.com>
7026
7027         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7028         in the interfaces
7029
7030         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7031         stuff instead when possible.
7032
7033         * gtk/gtktexttypes.h: Delete some unused constants
7034
7035         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7036         testtextbuffer.c: use glib instead of custom unicode routines
7037
7038 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7039
7040         * docs/es/: Removed mistakenly added generated sgml
7041
7042         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7043         Remove outdated info files.
7044
7045         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7046         Moved tutorial files into subdir
7047
7048         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7049         subdir.
7050
7051         * docs/man/gtk_button.pod: Remove. (contents will be
7052         integrated into gtk-reference button page.)
7053
7054         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7055         docs/faq/Makefile.am: Adjust for new organization
7056
7057 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7058
7059         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7060         not $(MKINSTALLDIRS)
7061
7062 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7063
7064         * gtk/testgtk.c (create_text): Finish the job Elliot started
7065         of removing font setting test for text widget. (Since text widget
7066         and GdkFont are not deprecated, and cause portability problems.)
7067
7068 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7069
7070         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7071         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7072         Remove use of libunicode in favor of new GLib functions.
7073
7074         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7075         nano-x, framebuffer. The X11 include is just a hack until we get
7076         the necessary functions in gdkcolor.h, so there is no reason to
7077         add other includes of platforms.
7078
7079         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7080         window bigger than the screen change.
7081
7082         * gtk/testgtk.c: Revert some random changes from Elliot
7083         that had no particular point and were causing testgtkrc
7084         not to function correctly.
7085         
7086         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7087         because GdkSegment and GdkRegionBox have the same fields,
7088         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7089         results in clearer code.
7090
7091         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7092         gdk_input_translate_coordinates): Fix missed GdkObjectification
7093
7094 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7095
7096         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7097         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7098
7099 2000-06-20  Havoc Pennington  <hp@redhat.com>
7100
7101         * modules/linux-fb/Makefile.am: Make this compile
7102         without framebuffer enabled
7103
7104         * gdk/linux-fb/Makefile.am: Add conditional to not build
7105         framebuffer unless specified in configure
7106
7107         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7108         the size of the target instead of source if -1 was passed for
7109         width/height
7110
7111         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7112         width/height confusion.
7113
7114 2000-06-19  Havoc Pennington  <hp@redhat.com>
7115
7116         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7117         GDK_DRAWABLE_XID. In the future, we probably want to make it
7118         faster with G_DISABLE_CHECKS turned on.
7119
7120 2000-06-14  Havoc Pennington  <hp@redhat.com>
7121
7122         * gdk/Makefile.am: add gdkpixmap.c
7123
7124         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7125         s/gdk_image_init/_gdk_windowing_image_init
7126
7127         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7128         ref/unref
7129
7130         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7131
7132         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7133         GdkWindowType is now non-deprecated; 
7134         change gdk_window_get_type() compat to be
7135         gdk_window_get_window_type().
7136
7137         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7138
7139         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7140         virtual GObject. Make all functions call into the vtable.
7141         Move gdk_image_put() guts in here. Remove GdkDrawableType
7142         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7143         draw_image, get_depth, get_size, set_colormap, get_colormap,
7144         get_visual added to the vtable.
7145         
7146         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7147         GObject. Virtualize everything. 
7148         (gdk_gc_new_with_values): remove check for destroyed window,
7149         because now GdkWindow::create_gc will check this.
7150         (gdk_gc_set_values): New function to set GC values, this 
7151         was already implemented but wasn't in the header
7152
7153         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7154
7155         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7156         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7157         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7158         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7159         _gdk_windowing_window_init, rename gdk_image_init to
7160         _gdk_windowing_image_init.
7161         
7162         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7163         (gdk_draw_layout): Remove check for destroyed window, 
7164         because all the drawable methods already check it.
7165         
7166         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7167         Add gdkpixmap.c which contains implementation of GdkDrawable
7168         virtual table (by chaining to a platform-specific implementation
7169         object).
7170         
7171         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7172         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7173         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7174         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7175         GdkColormapPrivate. 
7176
7177         * gdk/gdktypes.h: #include <glib-object.h>
7178
7179         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7180         Move most functionality to platform-specific implementation
7181         object. GdkWindow itself now handles the backing store, then
7182         chains to the platform-specific implementation.
7183         (gdk_window_get_window_type): return GdkWindowType of the window.
7184         (gdk_window_peek_children): New routine, returns the children of 
7185         a GdkWindow
7186         (gdk_window_get_children): Was in X11-specific code and did 
7187         XQueryTree. Changed to simply return a copy of window->children; 
7188         so it can go in cross-platform code.
7189         
7190         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7191
7192         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7193         GdkColormap; just changed to use the new private data instead
7194         of casting to GdkColormapPrivate.
7195
7196         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7197         gdk_cursor_new().
7198
7199         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7200         (private data member in the GObject). 
7201         (xdnd_manager_source_filter): Function had broken 
7202         error handling, fix it (use gdk_error_trap_push).
7203
7204         * gdk/x11/gdkdrawable-x11.c: This file now implements
7205         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7206         base class is purely for the convenience of the X port,
7207         and not part of the interface to cross-platform GDK.
7208
7209         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7210         
7211         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7212         specific to X, and returned by the create_gc virtual method
7213         of GdkDrawableImplX11. 
7214         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7215         rather than gchar, this was also changed in the GdkGC vtable.
7216         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7217         mask is 0, return immediately, instead of checking every flag.
7218         This is faster, and keeps us from segfaulting if values is NULL
7219         and the mask contains some nonzero flags.
7220
7221         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7222         GdkWindow.
7223
7224         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7225         GdkWindowPrivate is gone.
7226
7227         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7228
7229         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7230         remove the image_put stuff that got transferred to GdkDrawable.
7231         
7232         * gdk/x11/gdkinput.c: renamings
7233
7234         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7235
7236         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7237
7238         * gdk/x11/gdkprivate-x11.h: indentation fixes
7239
7240         * gdk/x11/gdkproperty-x11.c: renamings
7241
7242         * gdk/x11/gdkselection-x11.c: renamings
7243
7244         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7245         implements the platform-specific "impl" object.
7246         Moved gdk_window_get_children to gdk/gdkwindow.c
7247
7248         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7249         that no longer exist. Add declaration of GdkGCX11 object here.
7250         Fix all the macros to still work. 
7251
7252         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7253         GdkDragContext from the boxed types since they are now GObjects.
7254
7255         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7256         moved xthickness/ythickness into the instance. GtkStyleClass
7257         functions are now in the standard vtable for GtkStyle, so you have
7258         to create a GObject subclass to write a theme engine.
7259         (gtk_style_copy): fixed a leaked PangoFontDescription
7260         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7261         can be the standard GObject function.
7262         
7263         * Throughout GTK:
7264         s/style->klass->[xy]thickness/style->[xy]thickness
7265         s/pango_layout_unref/g_object_unref/
7266
7267         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7268         
7269         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7270         accessing GDK internals.
7271
7272         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7273         accessing GDK internals.
7274
7275 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7276
7277         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7278
7279         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7280         problem by calculating event position relative to the trough
7281         rather than the slider.
7282         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7283
7284         * gdk/gdkgc.h: Add GDK_NOR.
7285
7286         * configure.in, Makefile.am: Add modules top level dir
7287         * configure.in: Only use pangox library if building x11 target.
7288         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7289
7290 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7291
7292         * gtk/gtkcolorsel.c: Change private class member to be named
7293         private_data throughout the file.
7294
7295         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7296         private_data to avoid clashing with keyword.
7297
7298 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7299
7300         * gdk/gdkdnd.h: Add comment to remove warning.
7301
7302 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7303
7304         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7305         Byelorussian language; changed the Makefile and file names 
7306         to reflect that.
7307
7308 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7309
7310         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7311         rather than gdk_window_hide; this makes things work
7312         correctly if the window is programmatically hidden while
7313         iconified.
7314
7315 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7316
7317         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7318         cut and paste typo where wrong pixmap was being
7319         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7320
7321 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7322
7323         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7324         Add helper function to compute format / bytes 
7325         relationship. Use in a couple places to fix up
7326         errors which assume 8 * format.
7327
7328         * gtk/gtkselection.c (gtk_selection_request): Use 32
7329         rather than 8 * sizeof (GdkAtom), to work correctly
7330         on Alpha.
7331
7332 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7333
7334         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7335         libgtk.la
7336         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7337         versions
7338
7339         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7340         checking macros return NULL since the function has a return value.
7341
7342 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7343
7344         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7345         GTK+ from building at all.
7346
7347         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7348
7349 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7350
7351         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7352         gtk/Makefile.am: make it possible to configure gtk for different
7353         targets on the same platform. The library name is now 
7354         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7355         flag. Only the x11 target compiles right now.
7356         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7357         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7358         * gdk/nanox/gdk*generic*: delete generic region code.
7359         * gdk/linux-fb/gdk*generic*: delete generic region code.
7360         * README.nanox: update information.
7361         
7362 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7363
7364         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7365         prepend not append. (Pointed out by Brett Hall.)
7366
7367 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7368
7369         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7370
7371 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7372
7373         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7374         need this later, and this makes sure that the atexit for
7375         glib gets called after that for GDK, so atexits are
7376         properly ordered for object leak checking.
7377
7378         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7379
7380         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7381         pango_x_shutdown_display()
7382
7383         * gtk/simple.c (main): Close window on destroy.
7384
7385 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7386
7387         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7388         to treat initial creation different from setting with 
7389         regards to the graphics-exposures parameter, so add a parameter
7390         indicating whether this is initial or not.
7391
7392 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7393
7394         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7395         to sort of work by adding an extra return_exposes arg
7396         to gdk_event_translate() - it might be better to simply
7397         deprecate the function altogether and force people to rewrite
7398         without it. gdk_window_scroll() handles most of it, and where
7399         gdk_window_scroll() doesn't work, simply redrawing more does.
7400
7401         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7402         assertion.
7403
7404         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7405
7406         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7407         bunch of pretty much useless /* Print debugging info */ comments 
7408         which had drifted away from the code they were commenting.
7409
7410 2000-06-02  Havoc Pennington  <hp@pobox.com>
7411
7412         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7413         is in working order.
7414         
7415         * gtk/testtext.c: Change to reflect anonymous mark API
7416
7417         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7418
7419         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7420         field, which was unused.
7421
7422         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7423         saves some typing.
7424
7425         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7426
7427         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7428         flag on the insertion point and selection bound
7429
7430         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7431         make mark-manipulation functions take a GtkTextMark* instead of a
7432         mark name.
7433         
7434         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7435         GtkTextMarkBody; will be used to detect attempts to delete
7436         the permanent marks (insert and selection bound)
7437
7438         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7439
7440 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7441
7442         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7443         flag to on.
7444
7445         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7446         Honor DOUBLE_BUFFRED_FLAG
7447
7448         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7449         function to set the DOUBLE_BUFFERED flag.
7450
7451         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7452         or not exposes done on the widget should be double-buffered.
7453
7454         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7455         to be what would be expected. (Fixes problem with a
7456         g_return_if_fail() validating a TextDirection enumeration)
7457
7458 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7459
7460         * gtk/gtkwidget.c: Remove all references to 
7461         offscreen flag which was no longer used.
7462
7463         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7464
7465         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7466         for non-null label_widget->parent.
7467
7468         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7469         which no longer was used.
7470
7471         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7472
7473         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7474         for null arguments.
7475
7476         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7477         check for destroyed windows.
7478
7479 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7480
7481         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7482         the slave context there.
7483
7484         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7485         identical to GtkWindow.
7486
7487 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7488
7489         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7490         pangox to here, so we can write them independent of rendering
7491         system, using GDK primitives.
7492
7493         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7494         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7495         since we have a rendering-system independent implementation in
7496         terms of draw_glyphs().
7497         
7498         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7499         function to render a single line.
7500
7501         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7502         into ../gdkpango.c, which simplifies things, since we
7503         don't have to deal with raw X gc's.
7504
7505 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7506
7507         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7508         get the logical attributes for a given GtkTextLine.
7509
7510 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7511
7512         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7513         g_locale_get_codeset() to g_get_codeset() change.
7514
7515 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7516
7517         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7518         descriptions.
7519
7520         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7521         the entry.
7522
7523         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7524         redoing (vastly simplifying) for Pango. Still needs quite
7525         a bit of work. (Size selection is currently poor. List of 
7526         predefined sizes is not a good idea, since all of these
7527         sizes won't necessarily be distinct.)
7528
7529 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7530
7531         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7532         CODESET results for LANG=C.
7533
7534 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7535
7536         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7537         which takes a stringized pango font description;
7538         ignore the older 'font' and 'fontset' declarations.
7539
7540         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7541         field with a GdkFont derived via gdk_font_from_description(),
7542         for compatibility. (Should we just remove it entirely?
7543         Probably too much compatibility breakage, but people
7544         should be migrating to the new Pango stuff as quickly
7545         as possible.)
7546
7547 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7548
7549         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7550
7551 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7552
7553         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7554         redoing; there are some bugs in size allocation right
7555         now, the semi-existant distinction between header / day
7556         fonts was removed, but, with Pango, could actually
7557         be made functional in a nice way.
7558         
7559         * gtk/testcalender: Move calender from examples into this
7560         directory as a test program. (We really need to restrcture
7561         testgtk into a whole directory full of tests for every
7562         widget or functionality group, separated into multiple .c
7563         files.)
7564
7565 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7566
7567         * gtk/testgtk.c (file_exists): Fix stupid typo that
7568         was keeping RC file from being loaded.
7569
7570         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7571         RC file font code.
7572
7573 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7574
7575         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7576         Add function to load a GdkFont from a PangoFontDescription.
7577
7578 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7579
7580         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7581         variable should be of type GdkEventPrivate.
7582
7583 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7584
7585         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7586         to have any widget for the label, use a GtkLabel widget
7587         to display the text. (Based partially on a patch from
7588         Anders Carlson.)
7589
7590         (Quite a bit of code reorganization - strip 90% of the
7591         guts out of gtkaspectframe and add a single virtual
7592         func to GtkFrameClass - compute_child_allocation.)
7593
7594 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7595
7596         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7597         (Removed clist->row_center_offset field because caching
7598         it wasn't saving time or code, added private function
7599         _gtk_clist_create_cell_layout()).
7600
7601 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7602
7603         * gtk/gtkaccellabel.c: Pangoized.
7604
7605         * gtk/[hv]ruler.c: Pangoized
7606
7607 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7608
7609         * gtk/gtkfilesel.c (gtk_file_selection_init):
7610         Use gtk_clist_set_column_auto_resize() to remove need
7611         need for manual column width computations.
7612
7613 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7614
7615         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7616         ensuring Pango correctness, and considerably simplifying the
7617         code.
7618         
7619         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7620
7621         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7622         getting of numbers of lines.
7623
7624         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7625         to the actual requested width of the lable, not to the wrap
7626         width we set.
7627
7628         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7629
7630         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7631           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7632
7633         * gtk/gtktextview.c: Fix structure inheritance.
7634
7635         * gtk/gtkprogressbar.c: Pangoize.
7636
7637 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7638
7639         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7640         in a function.
7641
7642         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7643         bug with computing line tops.
7644
7645         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7646
7647 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7648
7649         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7650         and y_offset coordinates to do what we need now. (The offset between
7651         buffer and layout coordinates has been reintroduced, but is a 
7652         bit different than before.)
7653
7654         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7655         handle the adjustments ourselves, and scroll as necessary using
7656         the new gdk_window_scroll().
7657         
7658         The advantage of this is that when we are incrementally revalidating,
7659         we are essentially rearranging things around the visible portion
7660         of the screen. With the old setup, the visible portion of the
7661         screen was moved around in the layout, so scrolling and redrawing
7662         to track that caused jumping of the display. Since we now
7663         control the scrolling ourselves, we can suppress this and
7664         only redraw when things actually change.
7665
7666 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
7667
7668         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
7669         the region not just redisplay it after-all, since we store the
7670         cursors in the LineDisplay. (Ugly interactions here between
7671         GtkLayout and GtkTextBTree here.)
7672         
7673         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
7674
7675 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
7676
7677         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
7678         Added function to scroll contents of a window while keeping the
7679         window constant. Works by XCopyArea or guffaw-scrolling depending
7680         on the details of how the window is set up. (guffaw-scrolling
7681         still needs to be filled in.)
7682
7683 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
7684
7685         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
7686         move the debugging that was tied to a global variable
7687         to that.
7688
7689         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
7690
7691         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
7692         validated flag, in line data instead of setting height/width to
7693         -1. This allows us to perform operations with partially invalid
7694         buffer (using the old size for invalid lines) and thus to do
7695         incremental vaidation. Keep height/width aggregates up to date
7696         when deleting text and rebalancing the tree.
7697
7698         * gtk/gtktextbtree.[ch]: Add functions validate a line
7699         (gtk_text_btree_validate_line), and to validate up
7700         to a number of pixels (gtk_text_btree_validate).
7701
7702         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
7703         that indicates that something is changed and a revalidation
7704         pass is needed. Change ::need_repaint to ::changed, and
7705         make it take old and new yranges instead of a rectangle.
7706
7707         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
7708         the line_data_destroy() function from 
7709         gtk_text_btree_add_view() to a virtual function in 
7710         GtkTextLayout
7711
7712         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
7713         since we are handling partial repaints in a different fashion
7714         now.
7715
7716         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
7717         of the selection instead of queueing a repaint on the
7718         entire widget.
7719
7720         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
7721         get_selection_bounds() down to btree, make the function
7722         in buffer a wrapper around the btree function.
7723
7724         * gtk/gtktextlayout.[ch]: Add functions to check if the
7725         layout is valid and to recompute either a range of pixels
7726         aroudn a line or a certain total number of pixels.
7727
7728         * gtk/gtktextlayout.[ch]: Cache a single line display;
7729         now that we only redraw the needed portions, the hit rate
7730         for this cache is quite high.
7731         
7732         * gtk/gtktextview.[ch]: Keep track of the first paragraph
7733         on the screen so that when re-laying-out the buffer, we can
7734         keep the same place. This requires connecting to ::value_changed
7735         on the adjustments
7736
7737         * gtk/gtktextview.[ch]: Add idle functions to revalidate
7738         the buffer after we receive an ::invalidated signal.
7739         
7740 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
7741
7742         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
7743         to max of allocation and layout size, not just to the
7744         layout size.
7745
7746         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
7747         Invalidate window so it gets redrawn properly.
7748
7749         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
7750         to mean the entire window.
7751
7752         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
7753         into public header.
7754
7755 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7756
7757         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
7758         to get the name of a mark.
7759
7760         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
7761         to find the paragraph from a y position.
7762
7763 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
7764
7765         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
7766         nodes have width/height >= 0, not > 0.
7767
7768 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
7769
7770         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
7771         Add a size_only flag, so when we only need the size, we don't create
7772         useless appearance attributes.
7773
7774         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
7775         duplicate setting of font description.
7776
7777         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
7778
7779 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7780
7781         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7782         EXTRA_DIST. It does not work well when the file that
7783         everything depends on is not in the tarball.
7784
7785 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7786
7787         * gtk/testgtk.c: Some hacks and fixes so that it basically
7788         works when not sitting in the GTK+ build tree.
7789
7790 2000-05-03  Havoc Pennington  <hp@redhat.com>
7791
7792         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7793         Properly determine the ordering of the tag root and the current
7794         line within the tree. Previous algorithm only worked if the tag
7795         root's immediate parent was the common root of both the current
7796         line and the tag root.
7797
7798 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
7799
7800         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
7801         alignment.
7802
7803         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
7804         the widget text directional dynamically.
7805
7806         * gtk/gtktextview.[ch]: Added functions to get and set default
7807         wrap mode.
7808
7809 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
7810
7811         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
7812         in cursor location computation.
7813
7814 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
7815
7816         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
7817         vadjusment values properly when layout gets smaller.
7818
7819         * gtk/gtktextview.c (need_repaint_handler): Areas being
7820         passed in are far completely inaccurate, and sometimes
7821         too small, so, for now, just queue a redraw on the
7822         whole visible region.
7823
7824 2000-04-25  Havoc Pennington  <hp@redhat.com>
7825
7826         * gtk/gtktextbtree.c (summary_destroy): new function to 
7827         destroy tag summary nodes
7828         (gtk_text_line_next_could_contain_tag): this function was 
7829         totally broken if the line passed in wasn't below the tag
7830         root. Fix it.
7831         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
7832         "wildcard" case, we have to do a linear scan. Blah.
7833         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
7834         we have to do the linear scan
7835         (tag_removed_cb): When a tag is removed from the tag table, 
7836         remove the GtkTextTagInfo node from the btree.
7837         (gtk_text_btree_spew): Implement the spew function, for 
7838         our debugging pleasure.
7839
7840 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
7841
7842         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
7843         a problem with referring to the wrong buffer.
7844
7845         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
7846
7847         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
7848         font description to gtk_style_new() - otherwise things
7849         don't work without a .gtkrc file.
7850
7851         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
7852         tags table if we create it ourself, too.
7853
7854         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
7855         it was conflicting with XKB modifiers.
7856
7857         * gtk/gtktextview.[ch]: Add simple support for 
7858         GtkIMContext.
7859
7860 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
7861
7862         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
7863         with deletion from last commit.
7864
7865 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
7866
7867         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
7868         in the context from the current locale.
7869         
7870         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
7871         context, not hardcoded value.
7872
7873         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
7874         not logical.
7875
7876 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7877
7878         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
7879         attributes - that doesn't handle partial-glyph selection
7880         properly. Instead use new pango_layout_line_get_x_ranges()
7881         functionality to draw the selection.
7882
7883         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
7884         now properly handles out-of-range coordinates.
7885
7886         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
7887
7888         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
7889         public.
7890
7891         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
7892         for paragraphs opposite to the base direction of the widget.
7893
7894         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
7895
7896         * gtk/gtktextlayout.c: Don't split segments on marks, since that
7897         causes Arabic words to reshape as you cursor through.
7898
7899         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
7900         cursor position when moving vertically with the arrow keys and
7901         scrolling with page-up/page-down. (Arrow keys save only the X,
7902         scrolling saves both X and Y.)
7903
7904         This means you can line-up / line-down or page-up / page-down
7905         without losing your place, and also that moving vertically
7906         with the cursor keys keeps the same X position, not the same
7907         character count:
7908
7909         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
7910         arrow keys move by display lines, not paragraphs.
7911
7912 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
7913
7914         * gtk/gtklayout.c: Make sure that the bin window is at least
7915         as big as the allocation. (Should we also make sure that the
7916         bin window is big enough to completely cover widget->window?)
7917
7918         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
7919         function to get the onscreen rectangle.
7920
7921         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
7922         for offsets in window coordinates.
7923
7924 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
7925
7926         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
7927         confusion.
7928
7929         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
7930         from the widget direction.
7931
7932         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
7933         Add a "direction" attribute.
7934
7935         * gtk/gtktextview.c: global s/tkxt/text_view/.
7936
7937         * gtk/testtext.c: Added long block of text in Arabic, to test out
7938         the direction attributes. (Some problems with the shaping system
7939         for arabic become obvious - like the fact the cursor splits words
7940         into unjoined pieces.)
7941
7942 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
7943
7944         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
7945
7946         * gtk/gtktextlayout.c: Fix up alignment.
7947
7948         * gtk/testtext.c: Add some tests for centering, wrapping.
7949
7950 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
7951
7952         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7953         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
7954         If we wrote GTK+-specific layout-render function this could just replace
7955         the draw_layout() operation in the vtable.
7956
7957         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
7958         pango_layout_get_cursor_pos() and use that function.
7959
7960         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
7961         is a non-static symbol.
7962
7963         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
7964         with gtk_text_btree_find_line_by_y()
7965
7966         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
7967         renderer that handles GtkTextAppearance attributes.
7968
7969         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
7970
7971           - Move the values in the style that don't affect geometry into a
7972             GtkTextAppearance structure.
7973           - Change underline to take a PangoUnderline and "font" a string
7974             representation of a font description
7975           - Add a "font_desc" attribute which takes a FontDescription structure.
7976
7977         * gtk/gtktextlayout.[ch]:
7978
7979           - Get rid of the display-line list per each line. Instead, we
7980             generate, on demand, a GtkTextLineDisplay structure which]
7981             contains a PangoLayout * and other necesary information
7982             (offsets, cursor locations) for displaying a paragraph.
7983           - Get rid of the code to wrap lines, create display chunks,
7984             etc. Instead, we just go through a paragraph and convert
7985             it into the necessary inputs to a PangoLayout.
7986           - Implement a new attribute type, GtkTextAttrAppearance. This
7987             holds a GtkTextAppearance, and is used to pass colors, 
7988             stipple, etc, through from the layout to the display without
7989             having to use lots and lots of individual attributes.
7990           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
7991             in terms of PangoLayout functions.
7992         
7993         * gtk/gtktextview.c: 
7994          
7995           - Handle passing the necessary PangoContext to the layout
7996           - Some fixups in painting to deal with the automatic backing store
7997             and offsetting of GTK+-1.4
7998           - Add a style_set handler so that the default style reacts
7999             properly to theme changes.
8000         
8001         * gtk/gtktext?*.[ch]: Random code-style fixes.
8002
8003         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8004
8005 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8006
8007         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8008         in original form preparatory to Pango-ization and gdkimcontext-ization.
8009
8010 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8011
8012         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8013         so that we can derive from gtkimcontext in language bindings properly.
8014
8015 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8016
8017         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8018         Add a compose table including (almost) all the compose combinations
8019         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8020         data in the XIM implementation.
8021
8022         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8023         Moved functions to convert keyvalues from and to unicode here from
8024         the win32 port and made them public.
8025
8026 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8027
8028         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8029
8030 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8031
8032         * gtk/gtkimcontext.[ch]: Base class for new input context system
8033
8034         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8035         the real input context implementation to be loaded from modules
8036         and switched on the fly.
8037
8038         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8039         context that just does direct keysymbol => unicode translation.
8040
8041         * gtk/gtkentry.[ch]: Start switching editing over to using
8042         GtkInputContext. (No handling of preedit yet.)
8043
8044 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8045
8046         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8047         many substitutions. (klass should not be subsituted.)
8048
8049 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8050
8051         * configure.in: Add checks for Pango
8052
8053         * configure.in docs/Makefile.am: Add test for sgml2html
8054         and allow 'make dist' without building html, but print out
8055         warnings in that case. (For making snapshots)
8056
8057         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8058         Add Pango libraries and C flags
8059
8060         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8061         Add function (gdk_draw_layout) to draw a pango layout.
8062
8063         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8064         for getting Pango contexts for GDK.
8065
8066         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8067
8068         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8069         editing.
8070
8071         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8072         keysym => unicode translations. More languages can be added
8073         here, but real input-method support is needed.
8074
8075         * docs/Changes-1.4.txt: Added note about entry behavior.
8076         
8077         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8078         to set the reading direction for a widget and the global direction.
8079         Add test which allows toggling the global direction. Two private
8080         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8081
8082         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8083           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8084
8085         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8086
8087         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8088         underlining now handled by Pango.
8089
8090         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8091         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8092         is temporary.)
8093
8094         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8095         convenience functions for creating contexts and layouts for widgets.
8096
8097         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8098
8099 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8100
8101         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8102         titles to be active, even if they aren't visible.
8103         (gtk_clist_column_titles_passive):  Ditto.
8104
8105 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8106
8107         * gtkmenu.c:
8108         * gtkmenu.h:
8109         * gtktypeutils.h: Spelling/grammar fixes in comments.
8110
8111 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8112
8113         * gdk/nanox/*.h: add missing header files.
8114
8115 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8116
8117         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8118         send_event to TRUE.
8119         (gtk_drawing_area_size): queue a resize.
8120
8121 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8122
8123         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8124         the handlers, also invalidate them. bug nailed down by Karl Nelson
8125         <kenelson@ece.ucdavis.edu>.
8126
8127 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8128
8129         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8130         "(nil)" foundries, patch from Grigorios Magklis.
8131
8132         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8133         on non-available fonts, based on a patch by Grigorios Magklis
8134         <maglis@cs.rochester.edu>.
8135
8136 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8137
8138         * gdk/x11/gdkregion-generic.c: If a region does not have any
8139         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8140         instead of GDK_OVERLAP_RECTANGLE_IN.
8141
8142 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8143
8144         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8145         OFFSCREEN, as it is no longer necessary.
8146
8147 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8148
8149         * gtk/gtkcolorsel.c: Patch from David Santiago
8150         <mrcooger@cyberverse.com> to change things so that the 
8151         indicator of the active palette entry is done independently,
8152         not via the focus, since it should always be visible.
8153
8154 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8155
8156         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8157         refcount leaks as in the X11 backend.
8158
8159         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8160         cosmetics.
8161
8162         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8163         backend. Add _gdk_windowing_window_destroy().
8164
8165         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8166         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8167         either, but these probably do exist on nanox?)
8168         
8169         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8170         which isn't necessarily defined by <math.h>.
8171
8172         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8173         ancestry past GtkObject.
8174
8175         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8176         from DLL on Win32.
8177
8178         * gtk/gtk.def: Update corresponding to recent changes.
8179
8180         * gtk/makefile.{cygwin,msc}: Updates.
8181
8182 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8183
8184         * docs/Changes-1.4.txt: A bit of editing.
8185
8186         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8187         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8188         to clear the update area for the window, and clear it
8189         when hiding a window.
8190
8191         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8192         if window destroyed.
8193
8194         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8195
8196         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8197         gdk_window_destroy() to the generic code, since there was a lot of 
8198         window-system-independent logic it in. Add a function:
8199         
8200          _gdk_window_destroy() 
8201
8202         to the internal API to destroy a window without unreferencing it.
8203         Add a function:
8204
8205          _gdk_windowing_window_destroy()
8206
8207         That does the windowing-system-dependent part of destroying 
8208         the window.
8209
8210 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8211
8212         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8213
8214 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8215
8216         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8217         Make gtk_widget_shape_combine_mask() keep a reference count on
8218         the pixmap since it keeps it around.
8219
8220 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8221
8222         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8223         leak.
8224
8225         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8226         leak with event filters.
8227
8228 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8229
8230         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8231         signal handlers with the right data arguments. (Fixes
8232         some warnings when a widget was repeatedly set as a drag
8233         destination.)
8234
8235         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8236         window so we can avoid avoid setting the DND properties on the
8237         toplevel window repeatedly.
8238
8239 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8240
8241         * gdk/win32/gdkwin32.h: Define more message types missing from
8242         mingw headers.
8243
8244         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8245         call gdk_window_destroy_notify(). It was never called. This
8246         probably meant that the GdkWindow was never freed. Thanks Owen for
8247         noticing (!).
8248
8249         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8250         window as destroyed before calling DestroyWindow(). DestroyWindow()
8251         causes a call to the window procedure (gdk_WindowProc), which
8252         calls gdk_event_translate(), which calls
8253         gdk_window_destroy_notify(), which gets confused unless the window
8254         is set as destroyed.
8255
8256         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8257         this function to indicate it's win32 only. Put inside #ifdef
8258         G_ENABLE_DEBUG.
8259
8260         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8261         debugging function. (gdk_event_translate:) Add a default branch
8262         that uses the above function to print debug messages with all
8263         Windows messages symbolically.
8264
8265         * gdk/win32/gdkprivate-win32.h: Declare it, and
8266         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8267
8268 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8269
8270         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8271         public header file.
8272
8273 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8274
8275         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8276
8277         * gtk/gtktext.c: made the adjustments no-construct args, simply
8278         provide default adjustments.
8279         (gtk_text_destroy): release adjustments.
8280
8281         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8282         adjustment argument non-construct.
8283
8284         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8285         instead of in finalize.
8286         (gtk_progress_get_text_from_value): 
8287         (gtk_progress_get_current_text): 
8288         (gtk_progress_set_value): 
8289         (gtk_progress_get_percentage_from_value): 
8290         (gtk_progress_get_current_percentage): 
8291         (gtk_progress_set_percentage): 
8292         (gtk_progress_configure): ensure an adjustment is present.
8293
8294 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8295
8296         * gtk/gtkcolorsel.[hc]:
8297         * gtk/gtkcolorseldialog.[hc]:
8298         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8299         their parent implementation, use bit fields for boolean values, don't
8300         create unused widgets, usage of glib types, braces go on their own
8301         lines, function argument alignment, #include directives etc. etc. etc..
8302
8303         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8304
8305 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8306
8307         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8308
8309         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8310         of NULL.
8311
8312         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8313         to freed data.
8314         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8315
8316         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8317         to NULL when the toplevel is getting destroyed.
8318         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8319         (gtk_menu_destroy): 
8320         (gtk_menu_init): store the information of whether we have to
8321         readd the initial child ref_count during destruction in a new
8322         GtkMenu field needs_destruction_ref_count.
8323
8324         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8325         here, those reading: learn from my mistake! ;)
8326         in order for set_?adjustment to support a default adjustemnt if
8327         invoked with an adjustment pointer of NULL, the code read (pseudo):
8328         if (v->adjustment) unref (v->adjustment);
8329         if (!adjustment) adjustment = adjustment_new ();
8330         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8331         now imagine the first unref to actually free the old adjustment and
8332         adjustment_new() creating a new adjustment from the very same memory
8333         portion. here, the latter comparision will unintendedly fail, and
8334         all hell breaks loose.
8335         (gtk_viewport_set_hadjustment):
8336         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8337         after unreferencing it.
8338
8339         * gtk/gtkcontainer.[hc]: removed toplevel registration
8340         functions: gtk_container_register_toplevel(),
8341         gtk_container_unregister_toplevel() and
8342         gtk_container_get_toplevels() which had wrong semantics
8343         anyways: it didn't reference and copy the list.
8344
8345         * gtk/gtkwindow.c: we take over the container toplevel registration
8346         bussiness now. windows are registered across multiple destructions,
8347         untill they are finalized. the initial implicit reference count
8348         users are holding on windows is removed with the first destruction
8349         though.
8350         (gtk_window_init): ref & sink and set has_user_ref_count, got
8351         rid of gtk_container_register_toplevel() call. add window to
8352         toplevel_list.
8353         (gtk_window_destroy): unref the window if has_user_ref_count
8354         is still set, got rid of call to
8355         gtk_container_unregister_toplevel().
8356         (gtk_window_finalize): remove window from toplevel list.
8357         (gtk_window_list_toplevels): new function to return a newly
8358         created list with referenced toplevels.
8359         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8360
8361         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8362         adjustment a non-construct arg.
8363         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8364         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8365         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8366
8367         * gtk/gtkrange.c: added some realized checks.
8368         (gtk_range_destroy): get rid of the h/v adjustments in the
8369         destroy handler instead of finalize. remove timer.
8370         (gtk_range_get_adjustment): demand create adjustment.
8371
8372         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8373         we simply create them on demand now and get rid of them in
8374         the destroy handler.
8375         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8376         destroy handler instead of finalize.
8377         (gtk_viewport_get_hadjustment): 
8378         (gtk_viewport_get_vadjustment): 
8379         (gtk_viewport_size_allocate): demand create h/v adjustment
8380         if required.
8381
8382         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8383         gtk_widget_real_destroy () functionality.
8384         (gtk_widget_real_destroy): reinitialize with a new style, instead
8385         of setting widget->style to NULL.
8386
8387 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8388
8389         * gtk/gtkcalendar.c:
8390         * gtk/gtkbutton.c: ported _get_type() implementation over to
8391         GType, either to preserve memchunks allocation facilities,
8392         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8393
8394         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8395         over. prepare for ::destroy to be emitted multiple times.
8396         removed reference tracer magic. chain into GObjectClass.shutdown()
8397         to emit ::destroy signal.
8398
8399         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8400         fundamental.
8401
8402         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8403         cludge.
8404
8405         * gtk/gtksocket.c:
8406         * gtk/gtkplug.c:
8407         * gtk/gtklayout.c:
8408         * gtk/gtklabel.c:
8409         * gtk/gtkargcollector.c:
8410         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8411         not being a fundamental anymore, and to work with the new
8412         type system (nuked fundamental type varargs clutter).
8413
8414         * gtk/*.c: install finalize handlers in the GObjectClass
8415         part of the class structure.
8416         changed direct GTK_OBJECT()->klass accesses to
8417         GTK_*_GET_CLASS().
8418         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8419
8420         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8421         GType. made most of the GTK_*() type macros and Gtk* typedefs
8422         simple wrappers around macros and types provided by GType.
8423         most notably, a significant portion of the old API vanished:
8424         GTK_TYPE_MAKE(),
8425         GTK_TYPE_SEQNO(),
8426         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8427         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8428         GTK_TYPE_ARGS,
8429         GTK_TYPE_CALLBACK,
8430         GTK_TYPE_C_CALLBACK,
8431         GTK_TYPE_FOREIGN,
8432         GtkTypeQuery,
8433         gtk_type_query(),
8434         gtk_type_set_varargs_type(),
8435         gtk_type_get_varargs_type(),
8436         gtk_type_check_object_cast(),
8437         gtk_type_check_class_cast(),
8438         gtk_type_describe_tree(),
8439         gtk_type_describe_heritage(),
8440         gtk_type_free(),
8441         gtk_type_children_types(),
8442         gtk_type_set_chunk_alloc(),
8443         gtk_type_register_enum(),
8444         gtk_type_register_flags(),
8445         gtk_type_parent_class().
8446         replacements, where available are described in ../docs/Changes-1.4.txt.
8447         implemented compatibility functions for the remaining API.
8448
8449         * configure.in: depend on glib 1.3.1, use gobject module.
8450
8451 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8452
8453         * TODO.xml: Various updates to current status.
8454
8455 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8456
8457         * gtk.m4: Print out version when test succeeds.
8458
8459 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8460
8461         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8462         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8463         
8464         (Original triangle color selector from Simon Budig
8465         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8466         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8467         Santiago <mrcooger@cyberverse.com>)
8468
8469         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8470         out into a separate widget.
8471
8472         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8473         and opacity controls.
8474
8475 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8476
8477         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8478         snuck in prematurely.
8479
8480 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8481
8482         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8483         had deleted a ! operator by mistake, which caused
8484         GDK_SELECTION_CLEAR events never to be generated, which caused
8485         only the first copy to the clipboard from an gtkeditable to
8486         actually cause a copy to the Windows clipboard.
8487
8488 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8489
8490         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8491         compilation, too. Current mingw gcc distributions include the
8492         necessary headers. Also the necessary IIDs are now in mingw
8493         headers/libraries, and own definitions unnecessary.
8494
8495         More hacking on OLE2 DND, still doesn't work though, and thus
8496         ifdeffed out.
8497
8498         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8499         here, too.
8500
8501 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8502
8503         * gdk/nanox/*: nano-X port work in progress.
8504         * gdk/simple.c: simple test for Gdk.
8505         * README.nanox: notes about the port: read this first!
8506         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8507         with nano-X.
8508
8509 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8510
8511         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8512         gdk_window_clear() into common code, implement in terms of
8513         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8514         not redirected to the backing rectangle.
8515
8516 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8517
8518         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8519         EXTRA_DIST. It does not work well when the file that
8520         everything depends on is not in the tarball.
8521
8522 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8523
8524         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8525         with recursion where process_updates() is called from
8526         an expose handler. (GtkTextView is highly broken in
8527         doing this, but it should work, so it is a nice test
8528         case.)
8529
8530 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8531
8532         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8533         handle the case where updates are queued during processing of
8534         updates.
8535
8536 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8537
8538         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8539         window is on gdk_display - use that instead of segfaulting.
8540
8541 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8542
8543         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8544         broken and require an empty arg, give it to them.
8545
8546 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8547
8548         * gtk/gtklabel.h: indentation fixes.
8549
8550 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8551
8552         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8553         draw too narrow or too low arcs, they seem to fail, at least with
8554         some display drivers.
8555
8556         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8557
8558         Large changes to the Win32 backend, partially made necessary by
8559         the changes to the backend-independent internal
8560         structures. Attempts to implement similar backing store stuff as
8561         on X11. The current (CVS) version of the Win32 backend is *not* as
8562         stable as it was before the no-flicker branch was merged. A
8563         zipfile with that version is available from
8564         http://www.gimp.org/win32/. That should be use by "production"
8565         code until this CVS version is usable. (But note, the Win32
8566         backend has never been claimed to be "production quality".)
8567
8568         * README.win32: Add the above comment about versions.
8569
8570         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8571
8572         * gdk/gdk.def: Update.
8573
8574         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8575         presumably be replaced by some more better mechanism as 1.4 gets
8576         closer to release shape.
8577
8578         * gdk/makefile.{cygwin,msc}: Update.
8579
8580         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8581         internal headers. Change code according to changes in these. Use
8582         gdk_drawable_*, not gdk_window_* where necessary.
8583
8584         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8585         our old DND.
8586
8587         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8588         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8589         Use correct function name in warning messages.
8590
8591         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8592         GSourceFuncs gdk_event_prepare and gdk_event_check.
8593         (gdk_event_get_graphics_expose): Do implement, use
8594         PeekMessage. Thanks to Hans Breuer.
8595         (event_mask_string): Debugging function to print an GdkEventMask.
8596         (gdk_pointer_grab): Use it.
8597
8598         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8599         (old) book I used claimed was Hangul actually is CJK Unified
8600         Ideographs Extension A. Also, Hangul Syllables were missing.
8601         Improve logging.
8602
8603         * gdk/win32/gdkgc-win32.c: Largish changes.
8604
8605         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8606         g_win32_getlocale() from GLib, and not setlocale() to get current
8607         locale name.
8608
8609         * gdk/win32/gdkprivate-win32.h
8610         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8611         gdkwin32.h, similarily as in the X11 backend.
8612
8613         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8614         assignment was used instead of equals in if test. Thanks to Hans
8615         Breuer.
8616
8617         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8618         the X11 version.
8619
8620         * gdk/win32/makefile.{cygwin,msc}
8621         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8622         path to the Win32 headers that works also with the mingw compiler.
8623
8624         * gtk/gtkstyle.c: Include <string.h>.
8625
8626 2000-04-26  Havoc Pennington  <hp@redhat.com>
8627
8628         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8629         replacing the broken gtk_label_get ()
8630
8631 2000-04-15  Havoc Pennington  <hp@pobox.com>
8632
8633         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8634         this keeps scanner scripts from getting confused.
8635
8636         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8637         data, rather than void
8638
8639 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8640
8641         * gtk/gtkclist.c (gtk_clist_motion)
8642         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8643         with is_hint FALSE, get x and y from the event. They used to be
8644         used uninitialised. The Win32 backend never sends motion events
8645         marked as hints. This for instance fixes the annoying file and
8646         font selector behaviour in the Win32 version.
8647
8648 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8649
8650         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8651         gtk_private_n_signals variables, they are used by some software,
8652         sigh.
8653
8654         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8655         installation directory from the Registry, where the installer
8656         should have put it.
8657
8658 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
8659
8660         * gdk/x11/Makefile.am: Fix problem with installation directory for
8661         gdkx.h
8662
8663         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
8664         <mrcooger@cyberverse.com> so that when selecting menus with the
8665         mouse, the first item will not be selected, but when selecting
8666         with an accelerator, or navigating left-right on a menubar with
8667         the menus popped up, the first item will be selected.
8668
8669 2000-04-05  Dan Damian  <dand@dnttm.ro>
8670
8671         * configure.in: Added "ro" to ALL_LINGUAS.
8672
8673 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
8674
8675         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
8676         indentation.
8677
8678         * Makefile.am (EXTRA_DIST): Fix typo.
8679
8680         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
8681         to catch gdkconfig.h
8682
8683         * gtk/gtkitemfactory.c: Added FIXME.
8684
8685 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
8686
8687         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
8688         s/return_if_fail/return_val_if_fail/g and add a return value.
8689
8690 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8691
8692         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
8693         merge slipup.
8694
8695         * gdk/gdkinput.h: Fix missing line from merge.
8696
8697 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
8698
8699         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
8700         instead of gdkprivate.h.
8701
8702 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
8703
8704         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
8705         parent class to correctly be GtkDialogClass.
8706
8707 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
8708
8709         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
8710         toplevel windows and their immediate children by their parents,
8711         since the size of toplevel windows is out of our immediate
8712         control and we don't get any real benefit from trying to track
8713         this size for clipping.
8714
8715         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
8716         for input_only windows.
8717
8718         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
8719         to fix some hacks and make sure that we don't try to set the
8720         background of input only windows.
8721
8722 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
8723
8724         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
8725         the _really_ internal stuff, and leave gdkprivate.h for the fake private
8726         stuff that we've traditionally exposed.
8727
8728         * gdk/**.c: Use gdkinternals.h where appropriate.
8729
8730         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
8731         not include gdkprivate-x11.h, move all stuff of conceivable public
8732         interest into gdkx.h; keep all really private stuff in
8733         uninstalled header gdkprivate-x11.h.
8734
8735         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
8736         image->image_put on windows through a new function _gdk_window_draw_image()
8737         to allow us to do backing store for images. (Sort of ugly)
8738
8739         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
8740         contexts locally so that we can offset them properly when drawing 
8741         onto backing pixmaps.
8742
8743         * gdk/gdkinput.h: Reindented
8744
8745         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
8746         pixmap or color for the window, so we can properly initialize
8747         our double-buffer pixmaps, and also so that we temporarily set
8748         a background of None while scrolling.
8749
8750         * gdk/gdkregion.h: Revise region boolean operators to have an
8751         interface that is actually convenient - switch from creating new
8752         regions on every op, to "methods" that modify existing regions
8753         (A = A OP B). 3 argument forms which allow dest == src, would also
8754         be possible, but the current interfaces seem to map nicely
8755         onto what needs to be done. (There is quite a lot of region
8756         code in GDK now.)
8757
8758         * gdk/gdkregion.h: Add constructor from rectangle and a copy
8759         operator.
8760
8761         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
8762         gdkpoly-generic.h: Copy region code from Xlib, switch it over
8763         to 32 bit coordinates, modify it to be mostly GTK+ style
8764         and to have interfaces that match gdkregion.h.
8765
8766         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
8767         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
8768         create a backing pixmap and redirect all drawing to
8769         that backing pixmap until a matching gdk_window_end_paint().
8770
8771         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
8772         Create a special drawable class for GtkWindow's that 
8773         redirects the drawing to the backing pixmap as necessary
8774         and then calls the real operations in _gdk_windowing_window_class.
8775
8776         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
8777         Store invalid region for each window. Generate expose events for invalid
8778         region in an idle. This replaces both the expose compression
8779         and the redrawing queuing in GTK+. It is both more efficient and
8780         simpler than either one individually and far more so then the
8781         combination.
8782
8783         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
8784         Emulate 32 bit coordinates for windows with 16 bit coordinates
8785         by offsetting drawing, guffaw scrolling techniques and
8786         mapping/unmapping child windows as necessary.
8787
8788         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
8789         where, when invalid regions are processed, the region is stored,
8790         and if expose events come in that are detectably duplicate
8791         the processed exposes (by comparison of event serial numbers),
8792         the stored region is subtracted out of those exposes.
8793
8794         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
8795         regions newly exposed when scrolling or resizing windows.
8796         This, combined with forcing processesing of queued invalidated
8797         regions, gives nice flicker-free scrolling.
8798
8799         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
8800         invalidated regions after every scroll.
8801
8802         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
8803         emulation in GDK. Its, for all practical purposes just a
8804         GtkViewport/GtkFixed hybrid now.
8805
8806         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
8807         (16-bit) structures as necessary instead of just casting.
8808
8809         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
8810         in terms of the structures from gdkregion-generic.c, using appropriate
8811         offsets from GDK to X11 coordinates. Cache clip mask and
8812         origin and ts origin locally and only flush to the server
8813         when drawing, to avoid constantly setting and resetting these
8814         values when offsetting GC's for scrolling and backing pixmaps.
8815
8816         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
8817
8818         * gtk/gtkcontainer.c: Call process_all_updates at end
8819         of resizing to reduce flicker. (Avoids having redraw
8820         lag arbitrarily behind resize under some circumstances)
8821
8822         * gtk/gtkentry.c: Remove old backing store code, and simply take
8823         advantage of the new backing store capabilities of GDK.
8824
8825         * gtk/gtkmain.c: Simple implementation of widget backing
8826         store - simply push a paint while handling each expose.
8827         (Should really be configurable widget for widget.)
8828         
8829         * gtk/gtkwidget.c: Remove all the old complicated redraw
8830         code, and simply invalidate the GDK windows from
8831         gdk_window_queue_clear(), etc. (Sigh, so much carefully
8832         debugged complexity ... gone to the winds.)
8833
8834         Remove all the code for suppressing expose events while
8835         resizes are pending; this isn't needed since the invalid
8836         areas won't be processed until after the resizes are
8837         processed, since they are in a lower priority idle.
8838
8839 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
8840
8841         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
8842         and height of dest rectangle for non-intersecting rectangles.
8843
8844 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
8845
8846         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
8847         for GdkRectangle.
8848
8849 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
8850
8851         * gdk/gdk{events,image,private,types,window}.h
8852          gdk/x11/gdkinputprivate.h: Change all coordinates
8853          from int16 to int. Also, Change width and height from
8854          unsigned to signed to avoid all the stupid C 
8855          signedness bugs.
8856
8857 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
8858
8859         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
8860         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
8861         Add some more detailed checking.
8862
8863         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
8864         New function to retrieve the depth of a drawable.
8865
8866         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
8867         field, reorder fields to save memory. 
8868
8869 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
8870
8871         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
8872         of the background image instead of scaling the background down to
8873         a line.
8874
8875         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
8876         which temporarily set slider to wrong size.
8877
8878         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
8879         queue_clear().
8880
8881 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
8882
8883 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
8884
8885         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
8886
8887 2000-03-17  Tor Lillqvist  <tml@iki.fi>
8888
8889         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
8890         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
8891
8892         * gdk/win32/gdkfont-win32.c
8893         * gdk/win32/gdkproperty-win32.c
8894         * gdk/win32/gdkselection-win32.c
8895         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
8896         now declared such.
8897
8898 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
8899
8900         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
8901
8902 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
8903
8904         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
8905         is called without trapping X errors.
8906
8907 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
8908
8909         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
8910         way into the fontset lists.
8911
8912 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
8913
8914         * gtk/gtkthemes.h: add extern "C" scope.
8915
8916 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
8917
8918         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
8919         to make appends to the list constant. (gtk-guy-990901-0.patch)
8920
8921 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
8922
8923         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
8924         for the typename hash table.
8925
8926 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
8927
8928         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
8929         to make sure we never divide by zero. 
8930         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
8931
8932 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
8933
8934         * gtk/gtkfontsel.c: Apply patch from
8935         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
8936         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
8937
8938         Also, some cleanups in atom handling.
8939
8940 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
8941
8942         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
8943         not GtkWidget.
8944
8945 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
8946
8947         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
8948         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
8949         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
8950         more guint wrap-around bugs before going to bed.
8951
8952 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
8953
8954         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
8955         guint wrap arounds in allocation.width.
8956
8957         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
8958         process untill we fit the allocation given.
8959
8960 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
8961
8962         * gtk/gtkwidget.c:
8963         (gtk_widget_unrealize): guard widget access with ref/unref
8964         around signal emission.
8965         (gtk_widget_hide): same here, but also check its destroyed
8966         state before queueing a resize.
8967
8968 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
8969
8970         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
8971         of gtk_default_insensitive_bg as insensitive base color.
8972
8973         * gtk/gtktext.c (gtk_text_style_set): set the background color according
8974         to the widget's state.
8975         (gtk_text_realize): same here.
8976         (gtk_text_state_changed): same here.
8977         (draw_bg_rect): compare background color against base[] from
8978         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
8979
8980 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
8981
8982         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
8983         grabs are active, unless a delete event is send to the toplevel
8984         of the currently grab holding widget.
8985
8986 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
8987
8988         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
8989         debugging g_print's.
8990
8991 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
8992
8993         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
8994         ever make the scrolled-window requisition ever depend on the 
8995         visibility state of the scrollbars for the AUTOMATIC policy. 
8996         This breaks the GTK+ requisition model, and causes loops.
8997
8998 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
8999
9000         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9001         the default font to avoid problems with XFree86-4.0 where the
9002         default charset is iso10646-1, not iso8859-1.
9003
9004 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9005
9006         * acinclude.m4
9007         * config.guess
9008         * config.sub
9009         * ltconfig
9010         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9011
9012         * gtk/Makefile.am: minor cosmetic consistency tweak
9013
9014 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9015
9016         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9017         the activate_time to 0, so that we handle a quick
9018         press/release press/release properly and don't suppress
9019         the second release. (Red Hat bug #7545)
9020
9021 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9022
9023         * gtk/gtkctree.c (row_delete):
9024         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9025         bugs with destruction notifier, *always* update internal
9026         structures *before* calling user code.
9027
9028 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9029
9030         A few more fixes for bug #5487, #2051, #2677.
9031         * gtk/gtkclist.c : 
9032         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9033         not GDK_BUTTON_PRESS.
9034         (resync_selection): resync only if selection_mode is
9035         GTK_SELECTION_EXTENDED
9036         * gtk/gtkctree.c (resync_selection): same here
9037
9038 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9039
9040         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9041         gdk_drag_get_selection() and gtk_menu_detach().
9042
9043         [ From Jeroen Ruigrok/Asmodai ]
9044
9045 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9046
9047         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9048         page->tab_label can be NULL.
9049
9050 2000-01-25  Havoc Pennington  <hp@pobox.com>
9051         
9052         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9053         arg is boolean
9054
9055         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9056
9057         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9058
9059         * gdk/gdkproperty.c (gdk_property_get): return boolean
9060
9061         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9062
9063         * gdk/gdkim.c (gdk_im_ready): return boolean
9064
9065         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9066
9067         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9068         glib clash, should fix glib)
9069
9070         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9071         (gdk_get_show_events): return gboolean, and canonicalize 
9072         to TRUE/FALSE
9073
9074         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9075         colormap is private
9076         (gdk_colors_alloc): gboolean whether to be contiguous
9077         (gdk_color_equal): return gboolean since we are a predicate
9078         and not a qsort() (this looks semi-wrong due to glib breakage,
9079         IMO glib should be fixed)
9080         
9081         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9082         (gdk_get_use_xshm): return gboolean
9083         (gdk_pointer_is_grabbed): return gboolean
9084
9085         * gdk/gdk.h: Change prototypes to match all the above changes,
9086         and re-run egtk-format-protos as required.
9087
9088 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9089
9090         * gtk/gtkctree.c (resync_selection): 
9091         * gtk/gtkclist.c (resync_selection):
9092
9093         Return immediately if clist->drag_pos < 0. This is a workaround
9094         for the corrupt state that the clist gets into when a
9095         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9096
9097         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9098         
9099         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9100         variable from recent commit.
9101
9102 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9103
9104         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9105
9106 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9107
9108         * gtk/Makefile.am: prefix all autogenerated source that get build in
9109         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9110         in builddir. since we subsequently cd into srcdir for autogeneration,
9111         the paths have to be stripped from the target file names, thusly we
9112         use $(@F) as target names now.
9113         put a comment about configure.in's --disable-rebuilds option,
9114         which can be used for non-writable source directories, for development
9115         setups though, srcdir has to be *writable*.
9116
9117 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9118
9119         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9120           Finish the job of allowing event to be NULL.
9121           (Fixes bug #4283, reported by Chris Blizzard)
9122
9123         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9124           things so that the cursor appears on screen, properly
9125           take into account INNER_BORDER.
9126           (Fixes bug #4754, reported by Antonio Campos)
9127
9128 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9129
9130         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9131           show the tab_label unless it itself is visible.
9132
9133           gtk/gtknotebook.c (gtk_notebook_size_request):
9134           Do a better job of making sure that the visibility
9135           of the tab label corresponds to whether it should
9136           be mapped or not.
9137
9138 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9139
9140         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9141           Use the requisition, not the allocation, since the
9142           allocation has not necessarily been computed yet.
9143           (Pointed out by Eugene Osintsev)
9144
9145 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9146
9147         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9148           style/base[GTK_STATE_INSENSITIVE] both to
9149           gtk_default_insensitive_bg!
9150           (Bug #2187, reported by Jonathan Blandford)
9151
9152         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9153           Add Alt_L, Alt_R to list of invalid accelerators.
9154           (Bug #3736, reported by Vlad Harchev)
9155
9156 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9157
9158         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9159         bugs which occured after an attempt to open 
9160         invalid home directory left cmpl_state->reference_dir == NULL.
9161
9162          - completion on files in home directory didn't work
9163          - completion on an empty string caused  segfault
9164
9165          (Bug #3678, reported by Steve Ratcliffe)
9166
9167         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9168         cut and paste error that was causing scales to
9169         be incorrectly positioned.
9170         (Bug #2956,
9171          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9172
9173 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9174
9175         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9176         when checking for dcgettext, if we've found we needed
9177         it for dgettext.
9178 +
9179 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9180
9181         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9182         queue_clear on NO_WINDOW widgets during a reparent,
9183         since at that point the window and widget heirarchies
9184         are out of sync. This stops crashing in some cases
9185         (the scrolled window reparent test, for instance), and
9186         _probably_ won't cause drawing errors.
9187
9188         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9189         test do what it was supposed to do and be robust against
9190         window closings, etc. (Bug #2443)
9191
9192 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9193
9194         * gtk/gtkentry.c: Fix return values on mouse events.
9195         (Bug #2686, Sky <seb_sky@yahoo.com>)
9196
9197         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9198         (pointed out by George Lebl)
9199
9200         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9201         (From Ettore Perazzoli  <ettore@helixcode.com>)
9202  
9203 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9204
9205         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9206         clicks between rows or outside calender area correctly.
9207         (Patch from Damon Chaplin)
9208
9209         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9210         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9211           Call destroy function when overwriting existing data. 
9212           (Pointed out by Damon Chaplin)
9213
9214 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9215
9216         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9217           which was causing problems on various systems with Xmu.
9218           This hasn't been needed for a very long time.
9219           (Fixes #1185 3167)
9220
9221 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9222
9223         * gdk/gdki18n.h: Include <ctype.h> when defining
9224           gdk_isw* in terms of is* as a fallback.
9225           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9226
9227 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9228
9229         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9230           realize the widget when it is size allocated!
9231           (old, old bug)
9232
9233         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9234           Removed unused call to gdk_window_get_size() that
9235           showed up when the above was fixed.
9236
9237 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9238
9239         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9240           fix up widget->window when the widget is a
9241           NO_WINDOW container widget.
9242
9243 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9244
9245         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9246           to account for the fact that feof() does _not_ 
9247           return TRUE on errors, and thus avoid infinite loops
9248           when trying to use gdk_pixmap_create_from_xpm()
9249           on unreadable values.
9250
9251 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9252
9253         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9254
9255 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9256
9257         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9258           gdk_gc_set_dashes to take gint8 instead of gchar to
9259           make it clearer that it is _not_ a NULL terminated string.
9260
9261         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9262           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9263           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9264           arguments.
9265
9266 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9267
9268         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9269         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9270         background size relative to our allocation, guard against small
9271         allocations, we may have not yet been size allocated.
9272
9273 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9274
9275         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9276         not just version == 3. We implement all 3 + most of 4 - 
9277         (we don't support matching text/plain;charset=iso-8859-1
9278         to a dest that expects text/plain). We'll still advertise
9279         3 to be safe, but any client implementing version >= 3
9280         must interoperate with 3.
9281         
9282 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9283
9284         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9285         background and gc members, add a warning in gtk_tooltips_set_color()
9286         indicating that this function is deprecated.
9287
9288 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9289
9290         * docs/gtkfaq.sgml: FAQ Update:
9291           - Minor cleanups (Emmanuel, me)
9292           - New questions:
9293                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9294                 How can I retrieve the text from a GtkMenuItem? (timj)
9295                 How do I validate/limit/filter the input to a GtkEntry? (me)
9296                 Memory does not seem to be released when I free the list
9297                         nodes I've allocated (timj)
9298
9299 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9300
9301         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9302         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9303         for which it is no use to call GetLastError onWin9x.
9304         (gdk_other_api_failed) New function, for general error
9305         reporting without calling GetLastError.
9306         (gdk_win32_api_failed) OTOH, this function always calls
9307         GetLastError. (gdk_win32_last_error_string) Remove this function,
9308         GLib has the equivalent now.
9309
9310         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9311         call them with function name, file name and line number in the
9312         arguments.
9313
9314         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9315         functions.
9316         
9317         * gtk/gtk.def: Add some missing entry points.
9318
9319         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9320         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9321         
9322         Fixes by Hans Breuer:
9323
9324         * gdk/makefile.msc: Update for debugging.
9325
9326         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9327         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9328         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9329         in the dash_list.
9330
9331         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9332         the x11 backend.
9333
9334         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9335
9336         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9337
9338 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9339
9340         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9341         just pixel value of background colour.
9342
9343         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9344         containing code snippet previously duplicated in a couple of
9345         places.
9346         
9347         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9348         gdk_colormap_color.
9349
9350         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9351         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9352         events for autorepeated Shift, Control and Alt keys. Use
9353         gdk_colormap_color.
9354
9355         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9356         pointer is inside the window the cursor of which we are setting,
9357         call SetCursor immediately.
9358
9359         * gdk/win32/makefile.cygwin
9360         * gtk/makefile.cygwin: If we don't have the build number stamp
9361         file, use zero.
9362
9363         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9364         gtk_paned_set_gutter_size as empty.
9365
9366         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9367         
9368 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9369
9370         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9371           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9372           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9373           docs/gtk_tut.sgml docs/gtk.texi TODO:
9374
9375           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9376
9377 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9378
9379         * gtk/gtkcalendar.c: Implement num_marked_dates,
9380           and don't emit mutiple day_selected signals on
9381           month_prev.
9382
9383 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9384
9385         * docs/make-todo (lineno): let title and logo be configurable so
9386         that GNOME can use this script too.
9387
9388         * TODO.xml: added logourl and a title
9389
9390 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9391
9392         * TODO.xml: Added some UI items, and an explanatory
9393         comment at the top of the file.
9394
9395 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9396
9397         * TODO.xml: some updates, added abunch of new entries.
9398         a note for those fiddeling with this file, when done
9399         with it, invoke:
9400         $ ./docs/make-todo TODO.xml >/dev/null
9401         and correct output errors before comitting changes.
9402
9403 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9404
9405         * TODO.xml: Added XML-structured TODO file.
9406         * docs/make-todo: python script to turn TODO.xml into
9407           pretty XML output. 
9408
9409 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9410
9411         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9412         the function to let it draw the seven dots, instead of the old,
9413         much maligned, method.
9414         (draw_dot): New function to draw a dot.
9415
9416         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9417         to draw the handle inside the border width as opposed to outside.
9418         Use paint function instead of gdk_draw_point.
9419
9420         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9421         to draw the handle inside the border width as opposed to outside.
9422         Use paint function instead of gdk_draw_point.
9423
9424         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9425         Change indenting to be more GTK like.
9426
9427 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9428
9429         * docs/gtk_tut.sgml: New section on GtkCalendar
9430         * examples/calendar: Update example code
9431
9432 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9433
9434         * docs/gtkfaq.sgml: FAQ Update
9435
9436 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9437
9438         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9439         to prevent the scroll event to be propagated upwards.
9440
9441 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9442
9443         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9444         OwnerGrabButtonMask from button entries for
9445         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9446
9447         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9448         to the event mask (which will result in button/press release
9449         being added to the event mask on Unix) so scrolling works
9450         for layouts in scroll windows.
9451
9452         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9453
9454         Patch from Anders Carlsson  <andersca@gnu.org> to add
9455         a scroll event.
9456
9457         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9458         scrolling to the "Test Scrolling" part of testgtk.
9459  
9460         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9461  
9462         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9463         it against GDK_SCROLL.
9464  
9465         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9466         way of mouse wheel scrolling.
9467  
9468         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9469  
9470         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9471  
9472         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9473  
9474         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9475         gdk_event_mask_table.
9476  
9477         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9478         GdkEventScroll handler.
9479  
9480         * gdk/gdkevents.h: Added GdkEventScroll structure.
9481  
9482 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9483
9484         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9485         and Anders Carlsson to change the Paned widgets so that they
9486         can be dragged from anywhere along the length. Also change
9487         the way that this is drawn to make this apparent.
9488
9489         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9490         from George Lebl to check that option_menu->menu is present
9491         before getting history.
9492
9493 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9494
9495         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9496         before the assertion for non-NULL segment list.
9497
9498         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9499         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9500         machine, but it might be display driver dependent. Sigh, so make
9501         sure the stipple is that size. Does Windows suck or what?
9502
9503         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9504         places.
9505
9506 2000-02-13  Havoc Pennington  <hp@pobox.com>
9507
9508         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9509         refcount to 1
9510         (gdk_cursor_new): init refcount to 1
9511
9512         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9513
9514 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9515
9516         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9517         so that we don't have to do unnecessary settings to the HDC.
9518
9519         * gdk/win32/gdkdrawable-win32.c
9520         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9521         gdk_gc_predraw.
9522
9523         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9524         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9525         GDI paths, call WidenPath to get the outline of the stroken path,
9526         and then fill the outline (with the brush that was built from the
9527         stipple).
9528
9529         * gdk/win32/gdkgc-win32.c: Factor out common code from
9530         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9531         gdk_win32_gc_values_to_win32values. Use correct colour for
9532         SetBkColor() (Until now the code actually used a random colour in
9533         the call to SetBkColor()... but that didn't show up as not many
9534         GDI APIs use the background colour. Pattern (opaque stippled)
9535         brushes do.)
9536
9537         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9538         gdk_win32_api_failed): New functions for error logging.
9539
9540         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9541         WIN32_API_FAILED to call them, passing function or file name and
9542         line number.
9543
9544         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9545
9546         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9547         GdkColor for foreground and background in GdkGCWin32Data.
9548
9549         * gdk/makefile.cygwin: Link in the resource object separately.
9550
9551         * gdk/win32/rc/gdk.rc
9552         * gtk/gtk.rc (New file)
9553         * gdk/win32/makefile.cygwin
9554         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9555         as in GLib.
9556
9557 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9558
9559         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9560         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9561         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9562         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9563         parameters given and cursor->ref_count. coding style fixups.
9564
9565         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9566         not GtkWidget.
9567         
9568         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9569         fix up widget macros and add _GET_CLASS() variant.
9570         
9571         * gtk/*.c: some GtkType fixups.
9572
9573 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9574
9575         * gdk/win32/gdkproperty-win32.c
9576         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9577         were reversed.
9578
9579 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9580
9581         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9582         g_filename_to_utf8 to convert the font names Windows gives us from
9583         whatever is the default codepage to UTF-8.
9584         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9585         in the other direction.
9586
9587         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9588         error in debugging output.
9589
9590 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9591
9592         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9593         and height parameters to gdk_window_clear_area(). Not minus one.
9594
9595 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9596
9597         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9598         checks if the widget passed to gtk_drag_get_data() was not the
9599         dest widget.
9600
9601 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9602
9603         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9604         g_filename_from_utf8 functions (which were added a moment ago to
9605         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9606         size buffers.
9607
9608         gtk_file_selection_get_filename returns the filename in the C
9609         runtime encoding. It calls g_filename_from_utf8, but copies the
9610         returned string to a static buffer, which is returned. I think
9611         this is better than returning the result from g_filename_from_utf8
9612         directly, which would mean all apps that use it would have to free
9613         the return value. Or should this function care about this issue at
9614         all? Maybe a new function with clearly defined semantics.
9615
9616         * gtk/gtkfilesel.h: Add comment about
9617         gtk_file_selection_get_filename returning the filename in the C
9618         runtime's encoding.
9619
9620         * README.win32
9621         * gdk/gdk.def
9622         * gdk/makefile.{cygwin,msc}
9623         * gtk/gtk.def: Updates.
9624
9625         * gdk/gdkcursor-win32.c: Initialise refcount.
9626
9627 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9628
9629         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9630
9631 2000-01-30  Havoc Pennington  <hp@pobox.com>
9632
9633         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9634         destroy
9635
9636         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9637
9638         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9639         implemented in platform-specific code
9640
9641         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9642
9643         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9644         underscore in front
9645
9646         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9647         put an underscore in front
9648
9649         * gdk/gdkcursor.c: new file, implements
9650         gdk_cursor_ref/gdk_cursor_unref
9651
9652         * gdk/gdkcursor.h: Refcount GdkCursor
9653
9654         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9655
9656 2000-01-29  Tor Lillqvist  <tml@iki.fi>
9657
9658         * gdk/gdkwindow.h
9659         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
9660
9661 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9662
9663         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
9664         structures to properly inherit from GtkWidget not GtkBin.
9665
9666 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
9667
9668         * gtk+.spec.in: Added lib/gtk+/include/* to %files
9669         (bug #5178 - Peter Wainright)
9670         
9671         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
9672         so that it will be installed.
9673         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
9674
9675 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
9676
9677         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
9678         for the GtkStyleClass vtable const.
9679
9680         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
9681         take a const string argument like GtkTranslateFunc. This will
9682         require changes in use code.
9683
9684 2000-01-19  Tor Lillqvist  <tml@iki.fi>
9685
9686         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
9687         semantics (to mimic the X11 backend, which just calls XClearArea)
9688         is to check for zero width (and height), and in that case use the
9689         window's width minus x (height minus y). This fixes for instance
9690         some redraw problems with gtkclist, which were easily noticeable
9691         in the gtk file selection widget.
9692
9693         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
9694         windows.
9695
9696 2000-01-13  Tor Lillqvist  <tml@iki.fi>
9697
9698         * configure.in
9699         * gdk/Makefile.am
9700         * gdk/x11/Makefile.am
9701         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
9702         (bug #5177).
9703         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
9704         out later.
9705
9706 2000-01-09  Tor Lillqvist  <tml@iki.fi>
9707
9708         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
9709         WM_MOVE for iconified or invisible windows. This fixes various
9710         problems when minimising windows. Thanks to Bernd Herd.
9711
9712 2000-01-05  Tor Lillqvist  <tml@iki.fi>
9713
9714         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
9715         backend's draw_lines method, not draw_points.
9716
9717 2000-01-02  Tor Lillqvist  <tml@iki.fi>
9718
9719         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
9720         before Owen's reorganisation: Don't have queued_events and
9721         queued_tail statics in this file, but use gdk_queued_events and
9722         gdk_queued_tail. This makes exposure event compression work again.
9723
9724         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
9725         seem to be needed?
9726
9727 1999-12-30  Tor Lillqvist  <tml@iki.fi>
9728
9729         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
9730         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
9731         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
9732         doesn't do anything.
9733
9734         * gdk/gdk.def: Add gdk_xid_table_insert.
9735
9736         * gdk/win32/gdkprivate-win32.h
9737         * gdk/win32/gdkevents-win32.c
9738         * gdk/win32/gdkinput-win32.c
9739         
9740         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
9741         extension_events field in the GdkWindowWin32Data struct. Use only
9742         the extension_events field in GdkWindowPrivate. Previously one was
9743         set, and the other one tested, which broke tablet
9744         functionality. Thanks to Keishi Suenaga for pointing this out.
9745
9746 1999-12-18  Tor Lillqvist  <tml@iki.fi>
9747
9748         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
9749         When handling a single character (text length == 1), don't handle
9750         it as if it was UTF-8.
9751
9752 1999-12-11  Tor Lillqvist  <tml@iki.fi>
9753
9754         * Makefile.am: Distribute README.win32.
9755         
9756         * gdk/Makefile.am
9757         * gdk/win32/Makefile.am: Distribute Win32 files.
9758
9759         * gdk/makefile.msc: New file.
9760
9761         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
9762         after label).
9763
9764         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
9765         gdk_error_code as GDKVAR, as they are referred outside GDK.
9766
9767         * gdk/win32/makefile.msc: Update.
9768
9769         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
9770         tweaks. Check only if at least one of those Unicode subrange bits
9771         we care for is set. If no code page bits are set, guess (wildly)
9772         based on the charset.
9773
9774         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
9775
9776         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
9777         non-NULL.
9778
9779         * gtk/gtkdnd.c
9780         * gtk/gtklayout.c
9781         * gtk/gtkplug.c
9782         * gtk/gtkselection.c
9783         * gtk/gtksocket.c
9784         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
9785         appropriate. There must be a cleaner way to handle this?
9786
9787         * gtk/gtkrc.c: Must include windows.h on Win32.
9788
9789         * gtk/testgtk.c: No need to include gdkx.h.
9790
9791         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
9792
9793 1999-12-07  Tor Lillqvist  <tml@iki.fi>
9794
9795         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
9796         the rbearing is set to the same as the width, but this should be
9797         fixed.
9798
9799 1999-12-06  Tor Lillqvist  <tml@iki.fi>
9800
9801         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
9802         function. If Windows doesn't tell us what Unicode subranges a font
9803         covers, guesstimate based on the codepages it covers. This will
9804         hopefully help those Windows versions or fonts that don't give us
9805         any useful Unicode subrange information with GetTextCharsetInfo.
9806         Call this function in gdk_font_load_internal.
9807
9808         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
9809         minor changes.
9810
9811 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
9812
9813         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
9814         New function, long needed.
9815
9816 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
9817
9818         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
9819         only_if_exists argument of gdk_atom_intern to
9820         bool.
9821
9822 1999-11-25  Tor Lillqvist  <tml@iki.fi>
9823
9824         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
9825         Fix two copy&paste errors.
9826
9827         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
9828         win32 has changed.
9829
9830         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
9831         GdkWin32SingleFont struct.
9832
9833         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
9834         subranges of loaded fonts. Clear font signature first, in case
9835         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
9836         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
9837
9838         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
9839         Unoffset clip region.
9840
9841 1999-11-23  Tor Lillqvist  <tml@iki.fi>
9842
9843         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
9844         event->any.window before calling filter functions.
9845
9846 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
9847
9848         * gtk/gtkgamma.h: Adapt cast macros to standard.
9849
9850 [ Merges from 1.2 ]
9851
9852 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
9853
9854         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
9855         If translation does not include a '/', use entire
9856         translation instead of crashing.
9857
9858 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
9859
9860         * docs/gtk_tut.sgml:
9861         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
9862
9863 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
9864
9865         * gtk/gtkselection.c (gtk_target_list_remove): Use
9866         g_list_remove_link, not g_list_remove.
9867
9868         [ From Geert Bevin <gbevin@thunderstorms.org> ]
9869         
9870 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
9871
9872         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
9873         statement upon unselection (how the heck did that slip in?).
9874
9875 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
9876
9877         * gtk/gtktext.c (gtk_text_freeze): 
9878         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
9879         in frozen state (and aparently crashes). patch provided by Anders
9880         Melchiorsen <and@kampsax.dtu.dk>.
9881
9882 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
9883
9884         * fix insensitive default/focus widget activation,
9885         reported by Matt Goodall <mgg@isotek.co.uk>.
9886
9887         * gtk/gtkwindow.c (gtk_window_key_press_event): 
9888         (gtk_window_activate_default):
9889         (gtk_window_activate_focus):
9890         return handled=FALSE for actiavtion of insensitive default
9891         widgets. return handled=TRUE for activation of insensitive
9892         focus widgets. don't activate in either case.
9893
9894 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
9895
9896         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
9897         and $glib_cflags to match library order and in the
9898         theory that an old version of GLib is more likely to
9899         be in the include directory for X then vice-versa.
9900         (Bug #2776)
9901
9902 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
9903
9904         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
9905         to determine the locale for fontsets, not LC_MESSAGES;
9906         the user may want English messages with a handling
9907         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
9908         will still be broken) (Bug #2891)
9909
9910 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9911
9912         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
9913
9914 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9915
9916         * gtk/gtkrc.ko: Changed the Korean default fontset.
9917
9918 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
9919
9920         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
9921         where when scrolling to the left or top double exposes
9922         were done, causing major slowdowns.
9923
9924 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
9925
9926         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
9927         names to lowercase and alphanumeric, before looking
9928         them up.
9929
9930         * gtk/Makefile.am: Install codeset variant gtkrc files
9931         with normalized names.
9932
9933 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
9934
9935         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
9936         popup menus when the menu is already visible, but its parent
9937         is still hidden, (happens after tornoff window got hidden).
9938
9939 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
9940
9941         * gtk/Makefile.am (install-data-local): Fix
9942         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
9943         deleted, causing error messages on install.
9944
9945 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
9946
9947         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
9948         the handle as well, since we now sometimes ignore
9949         exposes on the handle while resizing.
9950
9951 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
9952
9953         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
9954         extra g_free introduced in one of the last one or two 
9955         commits.
9956
9957 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
9958
9959         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
9960         consistent, put each style that a gtkrc.* file creates
9961         in a unique namespace, remove old files before installing.
9962
9963 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
9964
9965         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
9966         gtk_rc_init is called multiple times. (Yes, people who
9967         do that have bugs in their code.)
9968
9969 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
9970
9971         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
9972         Remove it since it's generated by the Makefile anyway
9973
9974 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
9975
9976         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
9977         device->info.axes for core pointer.
9978
9979 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
9980
9981         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
9982         idle_id, to deal with obsolete, broken C libraries.
9983
9984 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
9985
9986         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
9987         allocation->x/y twice!
9988
9989         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
9990         consistent with gtk_vscale_pos_trough().
9991
9992 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
9993
9994         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
9995         be queueing a resize on a toplevel container between
9996         the time we show it and when we map it. So, we need
9997         to test GTK_WIDGET_VISIBLE() for toplevels, and only
9998         use GTK_WIDGET_DRAWABLE() for child windows.
9999
10000 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10001
10002         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10003         (fixes bug #2144)
10004
10005 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10006
10007         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10008         container DRAWABLE (instead of VISIBLE), so we don't queue
10009         resizes on non-toplevel containers.
10010
10011 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10012
10013         * gtk/gtkselection.[ch]: Make the data argument
10014         const guchar *.
10015
10016 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10017
10018         * gtk/gtkwindow.c: Try to behave sensibly if 
10019         the focus widget is the window itself. (Should
10020         we allow this at all?)
10021
10022 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10023
10024         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10025         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10026         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10027         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10028         in prototypes and implementations consistent (Tomas Ogren).
10029
10030         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10031         before the widget is unparented (reported by damon).
10032
10033         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10034         since we provide unsigned data anyways.
10035
10036 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10037
10038         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10039         the call to gtk_tooltips_layout_text() until later.
10040
10041         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10042         Call gtk_widget_ensure_style() before using the style.
10043
10044 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10045
10046         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10047         for old widgets that don't propagate draws to all
10048         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10049
10050 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10051
10052         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10053         for a redraw but just the widget that requested the resize.
10054
10055 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10056
10057         * gtk/gtkcontainer.c: added new widget level method
10058         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10059         reallocate_redraws : 1 to reflect the setting, exported this through
10060         the argument system as a boolean ::reallocate_redraws.
10061
10062         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10063         on the widget because the allocation changes, do so as well for
10064         widget->parent if the parent has reallocate_redraws set to TRUE.
10065         with that containers requesting reallocation redraws get automatically
10066         redrawn if their children changed allocation (this unfortunately
10067         affects also other children that didn't change allocation, but we
10068         cannot work around that before 1.3).
10069
10070 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10071
10072         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10073         _and_ height are >0 (not _or_).
10074
10075         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10076         instead of gtk_container_queue_resize(), which is a core gtk internal
10077         function (must have been on crack when i queued that).
10078
10079         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10080         we can check more reliably if we want to discard expose events.
10081         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10082         flag.
10083         
10084         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10085         we simply trust these events. for deciding whether to discard exposes,
10086         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10087         
10088 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10089
10090         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10091         queues of areas that are completely off screen.
10092
10093         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10094         logic for handleboxes.
10095
10096         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10097         check on width/height.
10098
10099 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10100
10101         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10102         we are fine with using $@ the way we do (if we actually encounter
10103         brokeness with $@ in VPATH builds because of additional path prefixes,
10104         we need to use $(@F) actually).
10105
10106 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10107
10108         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10109         short lived bugs, that would allow language bindings to do surgeries
10110         to our guts.
10111
10112 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10113
10114         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10115         where comparison was being done against an uninitialized
10116         value causing intermittant results depending on
10117         compiler flags. Also make it clearer that we aren't
10118         ever initializing the child as 0x0 (though this will
10119         be caught in gtk_widget_size_allocate())
10120
10121 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10122
10123         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10124         gtk_window_unset_transient_for() call after we do checks
10125         involving the old transient parent.
10126         [ From Lance Capser <lmc@cyberhighway.net> ]
10127
10128 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10129
10130         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10131         an empty file.
10132
10133 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10134
10135         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10136         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10137
10138 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10139
10140         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10141         `$@' is valid only in the build dir, not after we've done 
10142         `cd $srcdir'.  Also use `test -f' instead of less portable
10143         `test -e'.
10144
10145 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10146
10147         * gtk/gtktext.c (correct_cache_insert): Rewrite
10148          for simplicity, and hopefully correctness.
10149          (Fixes bug #1322, which was a segfault when
10150           on some insertions with the properties around
10151           the insertion set up just wrong.)
10152
10153         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10154          a "changed" signal, clamp the new value to the adjustment
10155          bounds to avoid segfaulting if someone tries to change
10156          the adjustment to a bogus value. (Bug #1795)
10157
10158 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10159
10160         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10161         for children, for toplevel windows handle them
10162         like delete_event.
10163
10164         * gtk/gtkplug.c: Add an unrealize handler so that
10165         we unref plug->socket_window when we are done
10166         with it.
10167
10168 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10169
10170         * gtk/gtktext.c (clear_area): Fix stupid signedness
10171          problem that was causing background to sometimes
10172          be misaligned.
10173
10174 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10175
10176         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10177         
10178         * gtk/gtkmenu.c (gtk_menu_position): Make
10179          sure we never position menus with negative x, y,
10180          since gtk_widget_set_uposition() can't handle that.
10181
10182         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10183          Modify the positioning code a bit so that we always
10184          put the top-left corner onscreen. (This is for
10185          UI reasons, gtk_menu_position() now takes care of
10186          gtk_widet_set_uposition() brokeness.)
10187
10188 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10189
10190         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10191
10192 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10193
10194         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10195           RC style that is passed in. The lack of the ref
10196           before was a bug. If people worked around this
10197           bug, this will introduce a slight memory leak
10198           in their code. The code should typically look like:
10199
10200             rc_style = gtk_rc_style_new ();
10201             [...]
10202             gtk_widget_modify_style (widget, rc_style);
10203             gtk_rc_style_unref (rc_style);
10204
10205         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10206           the style if it was already set.
10207
10208         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10209           style if it was set before.
10210
10211 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10212
10213         * gtk/testgtk.c (main): Add a check to see if we
10214           are being run from the correct directory and
10215           to quit nicely if we are not.
10216
10217         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10218           static.
10219
10220 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10221
10222         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10223
10224         * gtk/gtkwindow.c:
10225         queue resizes unconditionally (gtk_widget_queue_resize will figure
10226         what to do if the window is not realized).
10227         (gtk_window_move_resize): only recenter the window
10228         for GTK_WIN_POS_CENTER_ALWAYS.
10229         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10230         the same way as GTK_WIN_POS_CENTER.
10231
10232 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10233
10234         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10235         with (!(info->last_flags & GDK_HINT_POS)) instead of
10236         (!info->last_flags & GDK_HINT_POS).
10237
10238         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10239         new_height unconditionally, because we use these values even if
10240         !default_size_changed && !hints_changed.
10241         comented the (default_size_changed || hints_changed) case with
10242         respect to resize rejects from the window manager.
10243
10244         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10245         in the zvt condition hack, since this includes the window hints, set
10246         the hints after the handling_resize case.
10247
10248         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10249         window is initially shown with to the geometry.
10250
10251 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10252
10253         * gtk/gtkwindow.c (gtk_window_move_resize):
10254         s/size_changed/default_size_changed/g so i know what's
10255         really going on (frying brain on smaller flame now).
10256
10257 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10258
10259         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10260         we have size_changed upon handling_resize. this is a gross
10261         workaround for the broken zvt widget and should be removed in
10262         1.3 again (search for FIXME).
10263         Owen provided an accurate comment for this:
10264
10265         /* We could be here for two reasons
10266          *  1) We coincidentally got a resize while handling
10267          *     another resize.
10268          *  2) Our computation of size_changed was completely
10269          *     screwed up, probably because one of our children
10270          *     is broken. It's probably a zvt widget.
10271          *
10272          * For 1), we could just go ahead and ask for the
10273          * new size right now, but doing that for 2)
10274          * might well be fighting the user (and can even
10275          * trigger a loop). Since we really don't want to
10276          * do that, we requeue a resize in hopes that
10277          * by the time it gets handled, the child has seen
10278          * the light and is willing to go along with the
10279          * new size. (this happens for the zvt widget, since
10280          * the size_allocate() above will have stored the
10281          * requisition corresponding to the new size in the
10282          * zvt widget)
10283          *
10284          * This doesn't buy us anything for 1), but it shouldn't
10285          * hurt us too badly, since it is what would have
10286          * happened if we had gotten the configure event before
10287          * the new size had been set.
10288          */
10289
10290 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10291
10292         * gtk/gtkrc.c: deal properly with the fact that RC
10293           style lists may include rc styles more than once.
10294
10295         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10296           unused static function.
10297
10298         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10299           stack of directories of RC files currently being
10300           parsed and implicitely add them to pixmap path.
10301           
10302           This fixes a bug where the directory would get
10303           appended then overwritten by pixmap_path declarations.
10304
10305           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10306
10307         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10308           theme's exit function. (Patch from Peter Wainwright,
10309           bug #1454)
10310
10311         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10312           Add a destroy() handler to take care of removing
10313           group for menu item. (Fixes bug #1197)
10314
10315         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10316           in warning message.
10317
10318 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10319
10320         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10321         roundtrip to figure window's width and height, since we know that
10322         anyways from widget->allocation.
10323
10324 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10325
10326         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10327           the hints after we request the new size.
10328
10329 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10330
10331         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10332           GTK_WIDGET_REALIZED() assertion - we can compute the
10333           hints before we are realized.
10334
10335         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10336           hint changing so that we have a value of hints_changed
10337           when we decide whether to constrain the window size.
10338
10339         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10340
10341         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10342         change back to G_MAXINT.
10343
10344 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10345
10346         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10347         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10348         contain uncluttered values.
10349         (gtk_window_compute_hints): simply assert that window is realized
10350         and that geometry_info is valid, since we rely on this anyways.
10351         (gtk_window_constrain_size): major cleanups to the code.
10352         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10353         for the base size, instead of the minimums. use 32767 as max width
10354         and height (like in gtkwindow.c) instead of G_MAXINT.
10355
10356 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10357
10358         * cleaned up the GtkContainer.need_resize flag handling mess, we
10359         only need to force resize requests when we were prematurely
10360         realized, or our widget tree was modified when we were temporarily
10361         hidden. handling these cases directly upon showing the window (i.e.
10362         while the GdkWindow is still unmapped) avoids the need to wait for
10363         a configure event response and therefore makes the GUI more snappier
10364         and avoids blank windows during the roundtrip.
10365
10366         * gtk/gtkwidget.c:
10367         (gtk_widget_hide): 
10368         (gtk_widget_show): don't queue resizes on toplevels, they know how
10369         to deal with matters.
10370
10371         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10372         flag directly for not visible resize containers and spare us unecessary
10373         signal emissions.
10374
10375         * gtk/gtkwindow.c:
10376         (gtk_window_realize): if we need to enforce premature size allocation,
10377         queue a container resize so we are correctly resized later on.
10378         (gtk_window_init):
10379         (gtk_window_size_request):
10380         don't freak around with the ->need_resize flag,
10381         gtk_container_queue_resize() will care about that.
10382         (gtk_window_show):
10383         handle initial resizing issues here, we can handle matters better in
10384         this place, especially since we know that our GdkWindow is still
10385         unmapped.
10386         (gtk_window_move_resize):
10387         don't care about ->need_resize at all.
10388         handle size changes properly that occoured while we waited for a
10389         configure event.
10390
10391 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10392
10393         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10394         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10395         Move the hint setting code from gtk_widget_set_uposition
10396         to here; set the hints so that we respect any previously
10397         set geometry hints.
10398
10399         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10400         change the window hints here or move the window here,
10401         let that happen in gtk_window_move_resize().
10402
10403 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10404
10405         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10406         to already queued resizes (and therefore redraws) on a widget, check
10407         its anchestry as well.
10408
10409         * gtk/gtkcontainer.c:
10410         (gtk_container_queue_resize): clear resize widgets for resize
10411         containers before aborting prematurely. this is especially important
10412         for toplevels which may need imemdiate processing or their resize
10413         handler to be queued.
10414         (gtk_container_dequeue_resize_handler): added new internal function for
10415         gtkwindow.c.
10416
10417         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10418         configure event, take possible changes in window position into account
10419         as well.
10420         if we request a new window size, queue up a resize handler that will
10421         last until the configure event response arrives.
10422         combined the ->need_resize case (initial show) with the general size
10423         (hints) changed case and added even more comments.
10424         if !auto_shrink, only revert to the old allocation if the new size
10425         is smaller than the current allocation.
10426
10427 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10428
10429         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10430                            gtk_window_set_geometry_hints
10431                            gtk_window_set_default_size):
10432         When hints are set, queue a resize so that the hints will
10433         be eventually reset on the toplevel.
10434
10435         * gtk/gtkwindow.c (gtk_window_show): Use
10436         gtk_window_compute_default_size(). Clear the need_resize flag
10437         on the initail map so that we don't unnecessarily trigger the
10438         resize code.
10439
10440         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10441         into separate functions. Compare the hints we are setting
10442         with what we set last time so that we can accurately
10443         tell when we need to reset the hints.
10444
10445         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10446         function to figure out the size from requisition
10447         and default_size.
10448
10449         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10450         from fvwm to constrain a size to the geometry hints.
10451
10452         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10453         to compare two sets of geometry hints.
10454
10455         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10456         from gtk_window_set_hints(), just compute the hints,
10457         don't set them.
10458
10459         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10460         code from gtk_window_move_resize() to separate function,
10461         rationalize a bit.
10462
10463 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10464
10465         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10466         structure into a new private structure.
10467
10468         * gtkrc.c: Split GtkRcStyle into public/private.
10469         In the private part, add a list of pointers to the
10470         RcStyle lists this RcStyle participates in.
10471
10472         * gtkrc.c: When a RcStyle is free, remove all
10473         lists referencing it from the 
10474         realized_style_ht hash, and free those lists.
10475         
10476         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10477         gtk_rc_init(), since that adds the default styles
10478         to the list of parsed RC files again.
10479
10480         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10481         
10482 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10483
10484         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10485         checks that ensure that a widget's allocation is at least 1 in width
10486         and height. (GNOME note: this doesn't affect old panel code anymore,
10487         because GtkSocket will request width and height of at least 1 since
10488         Fri Jul 23).
10489
10490         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10491         allocated yet (happens if the user realizes the window prematurely),
10492         size request and allocate it.
10493         (gtk_window_size_allocate): guard against guint underflows.
10494
10495 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10496
10497         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10498         in gtk_built_sources, so gtk.defs gets built prior to all other
10499         sources.
10500
10501 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10502
10503         * gtk/Makefile.am:
10504         invoke indent on gtkmarshal.*. 
10505         rewrote source generation rules, use COPYING as oldest source tag for
10506         a piggyback rule to generate all sources from (don't touch it ;).
10507         major cleanups, strip spaces on build rules for GNU Make.
10508
10509         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10510         source and target files from commandline arguments. don't invoke indent.
10511
10512 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10513
10514         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10515         notebook after switch to avoid drawing problems.
10516         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10517         
10518         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10519         show them instead. 
10520         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10521
10522 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10523
10524         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10525         notebook after switch to avoid drawing problems.
10526         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10527         
10528         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10529         show them instead. 
10530         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10531
10532 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10533
10534         * gtk/gtkwindow.c:
10535         we use window->need_resize from configure_event now, to indicate that
10536         the gtkwindow should keep its allocation (e.g. because the user resized
10537         the window through window manager handles). resize_count is now reliably
10538         used to figure whether we got the allocation we requested from the
10539         window manager.
10540         configure events get queued as resizes now, the real stuff (size
10541         computation and allocation) now only goes on in gtk_window_move_resize().
10542         GtkWindow's requisition now contains its *real* requisition (like all
10543         other widgets), *not* taking usize into account.
10544         geometry_info->last_{width|height} is now updated from set_hints() only
10545         so it always contains the last hints we set for the window manager.
10546         made some event handlers return TRUE instead of FALSE.
10547         the overall code should be much more straight forward now, and the
10548         significant code portions are accompanied by comments now.
10549         (gtk_window_set_hints):
10550         removed requisition argument and made it
10551         fetch the requisition through gtk_widget_get_child_requisition.
10552         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10553         does that now.
10554         (gtk_window_show):
10555         ensure that the widget is realized before calling 
10556         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10557         ensure that we got properly size requested and allocated before
10558         realization.
10559         (gtk_window_configure_event):
10560         ignore plain window moves, or reallocate the widget tree through the
10561         resize queue otherwise.
10562         (gtk_window_move_resize):
10563         mostly rewrote this function to figure window manager hints more
10564         reliably, coalesce window moves and resizes to reduce configure events
10565         and do actuall size allocations.
10566
10567 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10568
10569         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10570         that have a resize pending, because a redraw is already queued for them.
10571
10572         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10573         hack to clear resize_widgets.
10574
10575         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10576         for resize containers prior to size allocation. (this is also a bit
10577         ugly, but avoids side effects for stopped emissions and is thus more
10578         reliable).
10579         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10580
10581         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10582         function from gtk_tooltips_expose, as we connect to ::expose_event
10583         *and* ::draw now.
10584
10585 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10586
10587         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10588         checks.
10589         (gtk_target_list_unref): Likewise.
10590
10591         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10592
10593 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10594
10595         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10596         guard against division by zero. (Fixes bug #1339)
10597
10598 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10599
10600         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10601         Prevent the trivial leak of information of allowing
10602         word motion when the entry is not visible.
10603
10604 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10605
10606         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10607         modality to error dialog as well as confirmation dialogs.
10608         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10609
10610 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10611
10612         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10613         tree->view_lines.
10614         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10615
10616         * gtk/Makefile.am (install-data-local): Solaris apparently
10617         has various troubles with ln -f; use rm first instead.
10618         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10619
10620 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10621
10622         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10623         use `cp' followed by `rm' (the `rm' was already there).
10624
10625 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10626         
10627         * configure.in: Fix autoconf warnings about cross compilation by
10628         trying to provide sane defaults for AC_TRY_RUN.
10629         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10630         put them into $(srcdir) when generated. Also add a dependency of
10631         gtksignal.h on gtkmarshal.h for -j builds. 
10632         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10633
10634 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10635
10636         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10637         GDK_THREADS_{LEAVE,ENTER} pair.
10638         (From Paul Fisher <pnfisher@redhat.com>)
10639
10640 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10641
10642         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10643         width and height are always >0 (owen).
10644
10645 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10646
10647         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10648         change that assured that a widget's allocated with and height are
10649         always >1, since this breaks *buggy* panel code. unfortunately this
10650         back-breaks the gimp's color selector.
10651
10652         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10653         allocation is always >0 in width and height, before sending the
10654         configure event; this is a *gross* hack to get the gimp back to work.
10655         
10656         * marked both cases with TODO-1.3
10657
10658 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
10659
10660         * gtk/gtktext.c: Don't display wrap indicators when
10661         text is not editable and word wrap is on.
10662
10663 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
10664
10665         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
10666         option menus here as they are not derived from menu shell, assure that
10667         the option menu has a menu we can add items to.
10668
10669 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
10670
10671         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
10672         width/height to (gint) before calculations and check against < 0 to
10673         avoid guint wraparounds.
10674
10675 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
10676
10677         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
10678         width and height is never zero. sanity check both dimensions against
10679         32767 and issue a warning if the allocation is greater than that.
10680
10681 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
10682
10683         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
10684         to g_main_pending() as well.
10685
10686 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
10687
10688         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
10689         call to g_main_iteration() - since that will regrab
10690         GTK+ lock to process events.
10691
10692 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
10693
10694         * gtk/gtkwindow.c
10695         - Regularize with the rest of GTK+ by making widget->requisition
10696           not reflect the set_usize()
10697         - Always recompute geometry hints, then check if they
10698           changed before sending them to the X server. The
10699           previous checks for changes would fail in a number
10700           of circumstances. 
10701
10702 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
10703
10704         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
10705
10706 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
10707
10708         * gtk/gtkdnd.c:
10709         - Code cleanups
10710         - Instantaneously update on modifier key presses
10711         - Allow cancellation of the drag with Escape.
10712
10713 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
10714
10715         * gtk/testgtk.c (create_handle_box): Set the policy
10716         to auto_shrink - otherwise the appearance is rather
10717         strange when flipping between horizontal and vertical.
10718
10719 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
10720
10721         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
10722         (gtk_window_set_default_size): don't change a value if it's < 0.
10723         queue a resize.
10724
10725 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
10726
10727         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
10728
10729 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
10730
10731         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
10732         add an extra "/" when concating "/" + filename.
10733         (From Matt Grossman <mattg@oz.net>)
10734
10735 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
10736
10737         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
10738         for fg_gc if we set it for drawing pixmap.
10739
10740 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
10741
10742         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
10743         
10744         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
10745         already set, call old engine's destroy function and
10746         unref the old engine.
10747
10748 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
10749
10750         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
10751
10752 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
10753
10754         * gtk/gtkaccelgroup.h: mark certain functions as internal.
10755
10756 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
10757
10758         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
10759         expand behaviour changed.
10760
10761         * gtk/gtklabel.c (gtk_label_set_pattern):
10762         (gtk_label_set_justify):
10763         (gtk_label_set_line_wrap):
10764         don't bother invoking queue_clear, the reallocation does
10765         that for us, always free_words so the upcoming resize will
10766         relayout the label's contents.
10767
10768 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
10769
10770         * applied argument implementation patches from Elena Devdariani
10771         <elena@cogent.ca>.
10772
10773         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
10774         ::space_style, ::relief
10775         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
10776         * gtk/gtkpreview.c: ::expand
10777         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
10778         * gtk/gtknotebook.c: ::homogeneous
10779         * gtk/gtklabel.c: ::wrap
10780         * gtk/gtklist.c: ::selection_mode
10781         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
10782         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
10783         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
10784         * gtk/gtkclist.c: ::sort_type
10785         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
10786         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
10787
10788 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
10789
10790         * gtk/gtkstyle.c: Removed ill-thought-out part of last
10791         comment.
10792
10793 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
10794
10795         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
10796         counting right when we have to attach a new style
10797         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
10798
10799         * gtk/gtkstyle.c: Documented the refcounting
10800         peculularities of gtk_style_attach.
10801
10802 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10803
10804         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
10805         window types.
10806
10807         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
10808         of GTK_TOPLEVEL for creating the window.
10809
10810 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10811
10812         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
10813         the last argument (reported by Per Winkvist).
10814         
10815 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
10816
10817         Fixes for invisible XOR lines (Frank Loemker
10818         <floemker@TechFak.Uni-Bielefeld.DE>)
10819         
10820         * gtk/gtkclist.c (gtk_clist_realize): Always use
10821         a non-zero pixel for GDK_XOR.
10822
10823         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
10824         Use GDK_INVERT instead of GDK_XOR.
10825
10826 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
10827
10828         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
10829         signals if h/voffsets differ from adjustment values.
10830         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
10831
10832 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
10833
10834         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
10835         ::selection-done emissions up to the topmost menu shell.
10836
10837 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
10838
10839         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
10840         the user data on the window before destroying it.
10841
10842         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
10843         unrealize handler to take care of destroying 
10844         notebook->panel properly. 
10845         (Bug #1198 - Morten Welinder <terra@diku.dk>)
10846
10847         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
10848         of g_new and g_realloc to stop memory leak. (Actually,
10849         we could just use g_realloc(), but I'm not 100% sure
10850         that is portable).
10851         (Bug #1196 - Morten Welinder <terra@diku.dk>)
10852
10853 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
10854
10855         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
10856
10857         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
10858         for fontsets.
10859
10860         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
10861         with bin/button confusion.
10862
10863 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
10864
10865         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
10866         and show how preselection of radio items is done.
10867
10868 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
10869
10870         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
10871         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
10872         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
10873         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
10874         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
10875         * gtk/gtktable.c (gtk_table_attach): 
10876         * gtk/gtklist.c (gtk_list_insert_items): 
10877         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
10878         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
10879         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
10880         * gtk/gtkbin.c (gtk_bin_add): 
10881         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
10882         * gtk/gtkfixed.c (gtk_fixed_put): 
10883         * gtk/gtklayout.c (gtk_layout_put):
10884         general fixups to container_add logic. always realize child if
10885         child->parent is realized, only map the child and queue a resize
10886         if child and child->parent are both visible.
10887
10888 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
10889
10890         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
10891         instead of gtk_container_foreach to walk and unrealize children, so
10892         composite children get also unrealized.
10893         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
10894         (gtk_widget_map): assert that the widget is visible (basic constrain).
10895         (gtk_widget_real_map): assert that the widget is realized (basic
10896         constrain).
10897
10898 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
10899
10900         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
10901
10902 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
10903
10904         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
10905         file for iso-8859-2 locales.
10906
10907         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
10908
10909 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
10910
10911         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
10912          (Pointed out by andy@rz.uni-karlsruhe.de and others).
10913          Remove some suspicious and useless lines. 
10914
10915 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
10916
10917         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
10918         width,height = 0, 0 to mean - here to edge of window,
10919         instead of -1, -1, since the former is all we support.
10920
10921 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
10922
10923         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
10924         when removing from quit_functions list.
10925
10926 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
10927
10928         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
10929
10930 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
10931
10932         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
10933          When redrawing characters on non-visible entry, use appropriate
10934          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
10935
10936 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
10937
10938         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
10939         from drag coordinates.
10940         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
10941         use drag_dest_cell.
10942
10943         * gtk/gtktree (drag_dest_cell)
10944         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
10945         (Bug #1129)
10946
10947 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
10948
10949         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
10950         translate_* fields.
10951         (gtk_item_factory_finalize): invoke translate_notify independant from
10952         translate_data.
10953         (gtk_item_factory_set_translate_func): likewise.
10954         (gtk_item_factory_destroy): only remove ifactory pointer from those
10955         widgets that belong to us (stupid me).
10956
10957 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
10958
10959         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
10960         rc_style list when lookup succeeeds.
10961
10962 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
10963
10964         * gtk/gtkctree.c (resync_selection): 
10965         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
10966         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
10967         bug.
10968
10969 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
10970
10971         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
10972         Add some missing GDK_THREADS_ENTER()/LEAVE around
10973         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
10974
10975 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
10976
10977         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
10978         rather than emit_by_name.
10979
10980         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
10981         on the widget across multiple signal emissions.
10982         (gtk_editable_delete_text): same here.
10983         (gtk_editable_class_init): set widget_class->activate_signal after
10984         editable_signals[ACTIVATE] has been created.
10985
10986 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
10987
10988         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
10989         position here prematurely -- we might not have the
10990         right ->min_position and ->max_position yet.
10991
10992 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
10993
10994         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
10995         Add error traps so if the other end of the connection
10996         dies, we survive.
10997
10998         * gtk/gtkselection.c (gtk_selection_notify): Clean
10999         up properly when selection property retrieval fails.
11000         
11001         * gtk/gtkselection.c (gtk_selection_request): Correctly
11002         reject SelectionRequest notifies where the handler
11003         returns no data.
11004
11005 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11006
11007         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11008         when we've previously highlighted.
11009
11010         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11011         emit two "drag_leave" signals for Motif drops.
11012
11013         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11014         back the correct status messages when dropping from
11015         Motif onto a proxy window that is rejecting the
11016         drop.
11017
11018 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11019
11020         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11021         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11022         to compare two argument values. added gtk_arg_to_valueloc() to set a
11023         variable from an arg through its location (pointer).
11024
11025         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11026         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11027         as gfloat*, uchars are collected as guchar*, ints are collected as
11028         gint*, etc...
11029
11030 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11031
11032         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11033         Include <string.h> instead of <strings.h>.
11034
11035         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11036         (actually, a lot more duplicate includes occur if
11037          you trace through the sequence of #include's)
11038         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11039         
11040 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11041
11042         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11043         gtk-a-higuti-990322-[0-3]
11044
11045         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11046         that was causing -DX_LOCALE not to work.
11047
11048         * gtk/gtkrc.c (gtk_rc_init):
11049         X_LOCALE will never have LC_MESSAGES defined
11050
11051 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11052
11053         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11054         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11055
11056         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11057         left/right as well (gtk-michael-980726-0.patch.gz).
11058
11059         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11060         for pointer values, use gchar instead of char. fixed uline allocation
11061         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11062         chunks instead of G_ALLOC_ONLY.
11063         (gtk_label_size_request): always alter requisition as passed and leave
11064         widget->requisition alone.
11065         (gtk_label_set_text): allow NULL strings.
11066         (gtk_label_new): likewise.
11067
11068 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11069
11070         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11071
11072 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11073
11074         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11075         *and* mapped (i.e. drawable).
11076         (gtk_bin_expose): only send exposes to drawable children.
11077
11078         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11079         (gtk_box_expose): only send exposes to drawable children.
11080
11081         * gtk/gtkhscale.c (gtk_hscale_draw): 
11082         * gtk/gtkvscale.c (gtk_vscale_draw):
11083         hm, this is an ugly one. we first compute the size of our trough area
11084         here (window relative) and then check intersection with the draw_area
11085         which is parent relative because we're a NO_WINDOW widget, so we need
11086         to offset the trough area by allocation.x and allocation.y before the
11087         check. (this must not be done for the background area though, since
11088         that's already computed parent relative).
11089
11090 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11091
11092         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11093         unrealize title buttons.
11094
11095 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11096
11097         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11098         (gtk_clist_column_title_active): 
11099         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11100
11101         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11102         zero initialize event, removed superfluous gdk_window_get_pointer call
11103
11104         * gtk/gtklist.c (gtk_list_vertical_timeout)
11105         (gtk_list_horizontal_timeout): removed superfluous
11106         gdk_window_get_pointer call
11107
11108 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11109
11110         * plugging problems reported by "Bruce Mitchener, Jr."
11111         <bruce@puremagic.com> due to a purify session.
11112
11113         * gtk/gtkstyle.c:
11114         (gtk_style_ref): 
11115         (gtk_style_unref): assert ref_count to be > 0.
11116
11117         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11118         the requisition.
11119         (gtk_clist_set_shift): likewise.
11120
11121         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11122         adjustments.
11123
11124         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11125         event before sending it and set send_event to TRUE (which needs to
11126         be done for *all* synthesized events).
11127         (gtk_list_vertical_timeout): likewise.
11128
11129         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11130         leaks.
11131
11132         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11133         to TRUE when synthesizing events.
11134
11135 [ *** end of merges from 1.2 *** ]      
11136         
11137 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11138
11139         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11140         (or copied from gdkconfig.h.win32 on Win32, sigh).
11141
11142         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11143
11144         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11145
11146         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11147
11148         * gdk/gdkconfig.h.win32: New file.
11149
11150         * gdk/win32/makefile.cygwin: Build just a static archive here.
11151
11152         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11153         for the DLL from the static archive built above.
11154
11155         * gdk/gdk.def: Moved here from the win32 subdirectory.
11156
11157         * gdk/win32/*: Adapt for the changed private struct organisation.
11158
11159         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11160
11161 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11162
11163         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11164         for wheel mice (buttons 4 and 5).
11165
11166 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11167
11168         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11169         drawables use just the pixel field in the foreground and
11170         background GdkColor of the GdkGC.
11171
11172         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11173         GdkColors containing uninitialized (red,green,blue) fields, and
11174         just the pixel field filled in, and furthermore in the
11175         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11176         It thus turns out that we really don't need to have the full
11177         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11178         it later to have just the pixel values.
11179
11180 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11181
11182         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11183
11184 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11185
11186         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11187         New question on GtkLabel background colors.
11188
11189         * docs/gtk_tut.sgml:
11190           - Correct the example code callback
11191             function definitions.
11192           - Update the gtkdial example code, from Frans van Schaik.
11193           - Update setselection.c to current API.
11194
11195         * examples/Makefile examples/*/*.c: Update to code
11196         listed in tutorial.
11197
11198 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11199
11200         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11201         subrange table (from the "Developing International Software for
11202         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11203         block... Get the loaded font's charset correctly.
11204
11205         (Note that this, and the other *-win32.c files, still really are
11206         the old ones, the win32 subdirectory is not ready for compilation
11207         yet after the reorg.)
11208
11209 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11210
11211         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11212         check.
11213
11214 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11215
11216         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11217         on results of XQueryDeviceState().
11218
11219 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11220
11221         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11222         we need to accesss only ->children. We need an accessor
11223         for the children.
11224
11225         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11226         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11227         to get rid of gdkx.h include.
11228         
11229         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11230         and random references to 'None'.
11231
11232         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11233         Get rid of unused #include <gdk/gdkx.h>
11234
11235         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11236         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11237         gdkconfig.h.
11238
11239 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11240
11241         * gdk/win32/gdkdraw.c
11242         * gdk/win32/gdkfont.c
11243         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11244         following yesterday's changes. (Unrelated to Owen's reorg.)
11245
11246 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11247
11248         * gdk/x11/gdkinput-gxi.c: Add missing include,
11249           fix GdkWindowPrivate => GdkDrawablePrivate.
11250
11251         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11252
11253         * gdk/x11/Makefile.am (xinput_sources): Add missing
11254         backslash to fix building with --with-xinput=none
11255
11256 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11257
11258         Move all X specific code into the x11/ directory.
11259         Aside from shuffling things around, did the following:
11260
11261        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11262          gdk_arg_context_* - a simple argument parsing system
11263          in the style of popt.
11264
11265        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11266          gdk/x11/gdkprivate-x11.h:
11267          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11268          add ->klass and ->klass_data fields. The klass_data
11269          field points to an auxilliary structure that is
11270          windowing system dependent.
11271
11272        * gdk/gdkfont.c: Make most of the measurement functions
11273          simply wrappers around gdk_text_extents().
11274
11275        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11276          _gdk_font_strlen() function that hides the weird
11277          behavior in gtk+-1.[02] where a string is interpreted
11278          differently for 8-bit and 16-bit fonts.
11279
11280        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11281          to store common code for synthesizing double/triple
11282          press events.
11283         
11284        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11285          Make all the function that modify an existing GC
11286          simply wrappers around gdk_gc_set_values().
11287          
11288        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11289          for throwing out later.
11290
11291        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11292          GdkImagePrivate and GdkColormapPrivate to have a
11293          windowing system dependent part (GdkFontPrivateX etc.)
11294          that "derives" from the system-independent part.
11295
11296        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11297          Got rid of the included-source-files for XInput in
11298          favor of automake conditionals. (Which didn't exist
11299          when XInput support was originally added.)
11300
11301        * gdk/gdkrgb.c: Remove the visual id from the debugging
11302          statements since that is X11 specific; print out
11303          type/depth info instead.
11304          
11305
11306 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11307
11308         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11309         loading duplicates of hashed fonts.
11310
11311         * gdk/gdk.c (gdk_keysym_convert_case): rename
11312         gdk_XConvertCase to gdk_keysym_convert_case, allow
11313         results to be NULL in the GTK+ style.
11314
11315         * gdk/gdkcompat.h: Started compatibility header
11316         for renames.
11317
11318 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11319
11320         * gdk/win32/gdkprivate.h: New font private structures, related to
11321         fontsets.
11322
11323         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11324         gdk_font_list_free(). On X11, will just be wrappers to
11325         XListFonts() and XFreeFontNames(). On Win32, the code previously
11326         in gtkfontsel.c is now here.
11327
11328         New function gdk_font_xlfd_create(). On X11 will get the FONT
11329         property of the font (for GDK_FONT_FONTs), or call
11330         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11331         builds a XLFD style name from the font information in the LOGFONT
11332         struct(s).
11333
11334         New function gdk_font_xlfd_free(), which correspondingly frees the
11335         string returned by gdk_font_xlfd_create().
11336
11337         Implement fontsets on Win32. Add a function that iterates over a
11338         wide char string and calls a callback function for each substring
11339         of wide chars from the same Unicode subrange (and thus probably
11340         available in the same real font).
11341
11342         Improve the XLFD emulation a bit.
11343
11344         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11345
11346         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11347         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11348         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11349         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11350         ImmGetCompositionStringW() to get the composed Unicode chars.
11351
11352         * gdk/win32/gdkgc.c
11353         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11354         struct changes.
11355
11356         * gdk/win32/gdk.def: Add the new functions.
11357
11358 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11359
11360         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11361         get the Platform SDK to get <dimm.h>.
11362
11363         * gdk/win32/gdkevents.c: More event handling fixes and
11364         simplification. Never generate motion events with is_hint true. We
11365         used to do that on bogus grounds earlier. Windows sends
11366         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11367         moved, ignore these.
11368
11369         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11370
11371         * gdk/win32/gdkglobals.c
11372         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11373         the TrackMouseEvent function, and use it.
11374
11375         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11376         char before calling WideCharToMultiByte in order to get a string
11377         for the window title.
11378
11379         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11380
11381         * gdk/win32/gdk.def: Remove obsolete functions.
11382
11383         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11384         /nodefaultlib and /defaultlib switches.
11385
11386         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11387
11388 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11389
11390         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11391         EuroSign).
11392
11393         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11394         same type as GdkWChar, especially on Win32.
11395
11396         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11397
11398         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11399         before passing to Windows GDI for drawing etc. Convert to the
11400         system default codepage before passing to Windows as window
11401         titles.
11402
11403         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11404         support changing input locale on the fly.
11405
11406         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11407         on-the-fly changes. Convert incoming characters from the current
11408         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11409         on the current input language. Use keysym<->Unicode mapping tables
11410         and functions borrowed from xterm sources.
11411
11412         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11413         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11414         Manager) if available. IMEs and the Active IMM are available under
11415         the disguise of Chinese, Korean and Japanese support for IE and
11416         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11417         support is present in all editions (as long as you install it).
11418
11419         Call DispatchMessage from gdk_events_queue() (and thus
11420         gdk_WindowProc()), instead of duplicating the code in
11421         gdk_WindowProc().
11422
11423         Reworked the grab handling and propagation code, factored out
11424         duplicated code snippets into separate functions. Other cleanups,
11425         too.
11426
11427         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11428         the <dimm.h> header describing the Active IMM.
11429
11430         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11431         just do the same as for "single" fonts.
11432
11433         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11434         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11435         the new keysyms from gdkkeysyms.h.
11436
11437         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11438         fontset, so that gtkentry uses wide characters.
11439
11440         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11441         GTk+'s system directory "gtk+", not "gtk".
11442
11443 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11444
11445         * docs/gtkfaq.sgml: FAQ update
11446
11447 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11448
11449         * gdk/win32/gdkprivate.h: Add more font private data.
11450
11451         * gdk/win32/gdkfont.c
11452         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11453         fonts and strings. Now works much better. You still have to
11454         have a correct font selected, though. No fontset emulation yet.
11455
11456 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11457
11458         * gtk/maketypes.awk: Use G_OS_WIN32.
11459
11460         * gtk/gtk.def: Add some missing entry points. Also some non-public
11461         ones, but PyGTK porter claims to need them.
11462
11463         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11464         built-in type generation.
11465
11466 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11467
11468         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11469         GDK_FONT_FONT fonts (which is all we have for now, we don't
11470         emulate fontsets). The X11 version uses plain XDrawString in that
11471         case, too. The string passed to gdk_draw_text_wc seems to be in
11472         fact (at least, when used by gtkentry and gtktext) either in a
11473         single-byte charset, or a DBCS. Not Unicode.
11474
11475         This fixes the problem in gtkfontsel, where even if you had
11476         selected a font with a non-Latin1 charset (windows-greek, for
11477         instance), the preview still used Latin-1 glyphs.
11478
11479         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11480         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11481         (gdk_font_load): Recognize the demibold etc weights, even if we
11482         don't have the corresponding constants in the headers.
11483         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11484         version. Should save font resources a bit, when we don't have
11485         multiple HFONTs for the same font.
11486
11487         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11488         version.
11489
11490 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11491
11492         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11493         X values
11494
11495 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11496
11497         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11498         layout support (as mentioned on
11499         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11500
11501 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11502
11503         * gtk/fnmatch.c
11504         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11505
11506 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11507
11508         * configure.in (ALL_LINGUAS): Added Galician (gl)
11509
11510 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11511
11512         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11513
11514         * gdk/win32/gdkcompat.c: New file, actually provide an
11515         implementation for the deprecated functions. (Just temporarily.)
11516
11517         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11518
11519         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11520
11521         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11522
11523 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11524
11525         * configure.in: Added "uk" to ALL_LINGUAS.
11526         
11527 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11528
11529         * configure.in: correct checking for BeOS check
11530
11531         * gdk/gdktypes.h
11532         * gtk/fnmatch.c
11533         * gtk/gtkfilesel.c
11534         * gtk/gtkitemfactory.c
11535         * gtk/gtkmain.[ch]
11536         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11537
11538 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11539
11540         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11541         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11542         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11543         by Bulgarian). 
11544
11545 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11546
11547         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11548         Fix a reference to window_private->destroyed.   
11549
11550         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11551         (ugly) setting of an internal GdkWindow member to use
11552         a _slightly_ cleaner macro.
11553
11554         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11555         GdkDrawablePrivate and GdkWindowPrivate.
11556         Add extra macros for accessing GDK_DRAWABLE_ components.
11557
11558         * *.[ch]: Massive adjustments for the above, use the
11559         new macros in a lot of places.
11560
11561 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11562
11563         * gdk/gdktypes.h: Make GdkDrawable the base type,
11564         not GdkWindow.
11565
11566 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11567
11568         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11569
11570 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11571
11572         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11573
11574 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11575
11576         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11577         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11578
11579         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11580
11581         * docs/gtk-config.1: Now autogenerated.
11582         * docs/Changes-1.4.txt: started
11583         
11584 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11585
11586         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11587         to #ifdef also here.
11588
11589         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11590         Owen did to the X11 backend.
11591
11592         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11593         ScrollWindowEx when blitting inside a window, it can't be correct
11594         in the general case.
11595
11596         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11597         WM_GETMINMAXINFO is easier.
11598
11599         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11600         depth equal to the bitspixel value, not the visual's depth.
11601
11602         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11603         to 24 even if the bitspixel value is 32.
11604
11605         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11606         need to check for depth==32 when bpp==32, depth will always be 24.
11607
11608 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11609
11610         * docs/Changes-1.4.txt: Started
11611         
11612         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11613
11614         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11615         
11616         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11617         into C file.
11618         
11619         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11620         header to gdkinputprivate.h.
11621
11622         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11623         unused since before 1.2.
11624
11625 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11626
11627         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11628         expand possible hex escapes in the font family (put there by
11629         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11630         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11631         On Win32, add hex escapes here, too.
11632
11633 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11634
11635         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11636         to #ifdef GDK_WINDOWING_X11.
11637
11638 [ Merges from gtk-1-2 ]
11639
11640 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11641
11642         * configure.in: fixed "GNU Make" check to pass with new make version
11643         3.77.95.
11644
11645 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11646
11647         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11648         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11649         AM_PATH_GTK() macros don't get confused by the -pre1.
11650
11651 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11652
11653         * configure.in (REBUILD): Change check for perl5
11654           to check explicitely for v >= 5.002. (5.001
11655           does not work with our scripts.)
11656
11657 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
11658
11659         * configure.in: evaluate $PERL for the perl version check. added
11660         --disable-rebuilds to give the user an option to completely disable
11661         any source autogeneration rules.
11662
11663 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
11664
11665         * configure.in: evaluate $ac_make when checking for GNU Make.
11666
11667 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11668
11669         * docs/Makefile.am: added generation.txt.
11670
11671         * Makefile.am: require automake 1.4, build README from README.in and
11672         INSTALL from INSTALL.in in dist-hook.
11673         
11674         * README.in:
11675         * INSTALL.in: new files to autogenerate README and INSTALL from.
11676
11677         * configure.in: figure whether we have GNU Make
11678
11679         * docs/generation.txt: minor additions/corrections.
11680
11681 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11682
11683         * docs/gtkfaq.sgml: FAQ Update
11684
11685 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11686         
11687         * configure.in: Fix autoconf warnings about cross compilation by
11688         trying to provide sane defaults for AC_TRY_RUN.
11689
11690 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
11691
11692         * ltconfig
11693         * ltmain.sh: upgrade to libtool 1.3.3
11694
11695 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
11696
11697         * INSTALL: Indicate that the --with-glib= configure
11698         time flag is unsupported.
11699
11700 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
11701
11702         * docs/generation.txt: Added a file that gives
11703         documenation about the autogeneration process for
11704         various autogenerated files.
11705         
11706 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11707
11708         * configure.in (LIBS): Look for libgmodule in the
11709         right location.
11710
11711 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
11712
11713         * docs/gtk_tut.sgml: Removed references to
11714         code examples in my directory on gtk.org as
11715         they should all be in the tutorial now.
11716
11717         * docs/gtk_tut.sgml: Added sources for dial-test
11718         and scribble-xinput programs that were previously
11719         missing.
11720
11721 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
11722
11723         * TODO: Added entry about menu keyboard navigation, removed
11724         some finished items.
11725
11726 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
11727
11728         * acinclude.m4: Standardize on func_dgettext
11729         not func_gettext, so that the checks for dgettext
11730         actually are paid attention to.
11731
11732 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
11733
11734         * configure.in (LIBS): Add $INTLLIBS into $LIBS
11735         directly, rather than repeating the checks for
11736         gettext.
11737
11738         * INSTALL: Added information about gettext and
11739         NLS support.
11740
11741         * acinclude.m4 (LIBM): Check for dgettext, not
11742         just gettext. This should hopefully fix things wrt
11743         systems with old versions of GNU gettext installed.
11744
11745 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11746
11747         * configure.in (LIBS): Look for libgmodule in the
11748         right location.
11749
11750 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11751
11752         * autogen.sh: add --enable-maintainer-mode
11753
11754         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
11755
11756 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
11757
11758         * docs/gtk-config.1.in:
11759           docs/Makefile.am:
11760           configure.in: gtk-config is now generated.
11761
11762         * docs/gtk-config.1: Removed, now generated.
11763
11764 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
11765
11766         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
11767         handle CreateNotify itself, still put out a debuging message for
11768         --gdk-debug=events. made the ReparentNotify debugging message more
11769         verbose.
11770         wrap xcoords translation for ConfigureEvents into an error trap,
11771         a destroy event may already be pending, and in that case, the
11772         actuall coordinate values are not at all critical.
11773
11774 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
11775
11776         * gdk/gdkcc.c: Stop leaking the color_hash all over
11777         the place. Simplify and improve the logic.
11778
11779 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11780
11781         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
11782         for prototypes and function implementations consistent (reported
11783         by Tomas Ogren).
11784
11785 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11786
11787         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
11788         send_event set in debugging output.
11789         (gdk_compress_exposures): default initialize the event so we don't
11790         operate on bogus values (namely send_event).
11791
11792 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11793
11794         * gdk/gdkwindow.c: When we receive an unexpected
11795         destroy notify on one of our windows, don't just
11796         warn about it, also mark our windows as destroyed.
11797
11798 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
11799
11800         * gdk/gdkfont.c (gdk_font_hash_insert): Add
11801           name => font and name => fontset hashes. The 
11802           name => fontset hash is a _big_ win since we
11803           weren't previously caching fontsets at all and loading
11804           fontsets is expensive. The name => font hash
11805           is less of a win, but it does save us from doing
11806           repeated XQueryFont calls on the same font.
11807
11808         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
11809           list so we can remove font/fontset from hash.
11810
11811 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11812
11813         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
11814           and slightly confusing test. [ XInternAtom (,,TRUE)
11815           will never return None ].
11816
11817 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
11818
11819         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
11820           gdk/gdkwindow.c (gdk_window_set_hints):
11821
11822         Don't omit setting the properties if flags == 0 -
11823         there may be an existing set of properties there
11824         already. (Very old bug. Would it be better to
11825         delete the property instead?)
11826
11827         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
11828           spelling error in comment.
11829
11830 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
11831
11832         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
11833           to avoid stomping over gdk_error_warnings.
11834
11835         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
11836           as (bits_per_pixel + 7) / 8. This gives the same
11837           result as before for multiples of 8, but actually
11838           a "reasonable" value for 1bit or 4bit displays.
11839
11840 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11841
11842         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
11843         GNU Make.
11844
11845 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11846
11847         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
11848         discarding configure events.
11849
11850 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11851
11852         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
11853         refcount is greater than zero.
11854
11855         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
11856
11857         * gdk/gdkfont.c (gdk_font_unref): Likewise.
11858
11859         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
11860
11861         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
11862
11863 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11864
11865         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
11866         that format 32 => sizeof(item) == 4. It really is
11867         sizeof(long).
11868
11869 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
11870
11871         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
11872         core dump at all on X IO errors, only core dump
11873         if --enable-debug for X errors.
11874
11875 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
11876
11877         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
11878         unknown window:" message. disabled ConfigureNotify discarding code,
11879         because it led to events being processed out of order.
11880
11881 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
11882
11883         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
11884
11885         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
11886         we export this function, supress error warnings and don't reset the
11887         error code in the first half of this function.
11888
11889         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
11890         code (instead of just -1) so gdk_error_trap_pop() reveals something
11891         actually informative about the error that happened.
11892
11893         * gdk/*.c:
11894         don't rely on gdk_error_code being -1 if an error occoured, but just
11895         gdk_error_code != 0.
11896
11897 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
11898
11899         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
11900         pointer *before* invoking the filter function, so we at least don't
11901         crash if a filter is removed that is currently executed. window filters
11902         *really* need to be made truely reentrant at some point.
11903
11904 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
11905
11906         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
11907         PropertyNotify debug messages.
11908
11909 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
11910         
11911         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
11912         
11913         * gdk/gdkim.c: Fix cut-and-paste errors for 
11914         x/y and PreeditAttributes/StatusAttributes.
11915
11916 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11917
11918         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
11919         G_MAXINT to 2^16 to alleviate overflow problems in
11920         various window managers.
11921
11922 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11923
11924         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11925         for fontsets.
11926
11927 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
11928
11929         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
11930         Initialize size_hints.x and size_hints.y because kwm
11931         brokenly pays attention to them.
11932         (Bug #1181 -  Lars Heete <hel@admin.de>)
11933
11934 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
11935
11936         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
11937         return value of gdk_list_visuals(). 
11938         (Bug #1193 - Morten Welinder <terra@diku.dk>)
11939
11940 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
11941
11942         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
11943         XSetIMValues to (void *) when comparing to NULL, to workaround
11944         the problem of some compilers barfing since older X headers don't
11945         have the prototype for it.
11946
11947 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
11948
11949         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
11950         for pseudocolor where colormap->colors was double
11951         allocated.
11952
11953         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
11954         color value in the hash table with the pixel filled
11955         in so when we do later hash table lookups, the color
11956         value is correct.
11957         
11958 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
11959
11960         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
11961         making the call
11962
11963 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
11964
11965         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
11966         pointed out by Morten Welinder <terra@diku.dk>.
11967
11968 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11969
11970         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11971           default filter from the list
11972
11973 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11974
11975         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11976           default filter from the list
11977
11978 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
11979
11980         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
11981
11982         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
11983         g_strdup_printf instead of calcing the length separately
11984
11985 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
11986
11987         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
11988         that we don't do in many other places. (Fixing duplicate 
11989         #include of config.h)
11990
11991         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
11992         Otherwise, #ifndef XINPUT_NONE check in the latter
11993         doesn't work. (Bug #546)
11994
11995 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
11996
11997         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
11998         "None" case insensitive.
11999
12000 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12001
12002         * gdk/gdkselection.c: 
12003         Add error traps so if the other end of the connection
12004         dies, we survive.
12005
12006 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12007
12008         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12009         dest_xid field into two fields - one for the window
12010         to send in messages, one to indicate the last looked
12011         up window for caching purposes. This is needed, so
12012         that Leave messages get the correct window.
12013
12014 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12015
12016         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12017         Fix warning created by people mucking around
12018         with the gsource API.
12019
12020         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12021         Change mapping between GIOCondition and GdkInputCondition
12022         to match the way the Linux kernel does it. This should
12023         fix problems where closed pipes were no longer signalling
12024         GDK_INPUT_READ on systems with a native poll().
12025
12026 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12027
12028         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12029         explicitly for the string "None" - it is in the XPM
12030         spec and some servers treat unknown colors in odd ways
12031         (like asking the user!)
12032
12033 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12034
12035         * gdk/gdkevents.c: made "->" into a "." of previous change so
12036         it compiles
12037
12038 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12039
12040         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12041         window field of the event structure before calling
12042         user filters.
12043
12044 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12045
12046         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12047         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12048
12049 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12050
12051         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12052         intermediate text property - prevents major memory
12053         leak when gdk_use_mb.
12054         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12055
12056 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12057
12058         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12059         gtk-a-higuti-990322-[0-3]
12060
12061         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12062         sizeof(wchar_t) != sizeof (GdkWChar)
12063
12064         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12065         that was causing -DX_LOCALE not to work.
12066
12067         * gtk/gtkrc.c (gtk_rc_init):
12068         X_LOCALE will never have LC_MESSAGES defined
12069
12070         * gdk/gdk.c (gdk_init_check):
12071         Remove --xim-preedit and --xim-status from argv properly.
12072
12073         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12074         that the client window is present on the X server
12075         before we pass it to the input method.
12076
12077 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12078
12079         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12080         if --display is specified on the command line, than
12081         the drag window will not be created on that display.
12082         
12083 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12084
12085         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12086         lookups with only_if_exists == TRUE were inserting
12087         bogus values into the atom cache.
12088
12089 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12090
12091         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12092         then reset it to NULL.
12093
12094         * gdk/gdkcolor.c:
12095         (gdk_colors_free): 
12096         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12097         key for g_hash_table_remove() in both functions, this prevents us
12098         from accessing possibly uninitialized portions of a GdkColor structure
12099         where we are only interested in its pixel value.
12100
12101 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12102
12103         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12104         font hash table, if we have a GdkFontPrivate entry for this font
12105         already, simply increment its reference count, provided by Olaf Dietsche
12106         <olaf.dietsche+list.gtk@netcologne.de>.
12107
12108 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12109
12110         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12111         just to be sure.
12112
12113         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12114         unused variables, leftovers from the X11 version.
12115
12116         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12117
12118         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12119         downcase fields on X11.
12120
12121 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12122         
12123         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12124         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12125
12126 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12127
12128         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12129
12130         * gtk/makefile.msc: Correct path to libintl.
12131
12132         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12133         use of gint vs. int, and gint vs. gboolean in headers and
12134         definitions. Use GtkType for the *_get_type functions. Note that
12135         these changes preserve binary compatibility.
12136
12137         * gdk/gdk.c
12138         * gdk/win32/gdk.c
12139         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12140
12141         * gtk/gtkmain.c
12142         * gtk/gtkclist.c
12143         * gtk/gtkmenufactory.c
12144         * gtk/gtknotebook.c
12145         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12146         vs. gboolean.
12147
12148         * gtk/gtkcolorsel.[ch]
12149         * gtk/gtkcombo.[ch]
12150         * gtk/gtkdrawingarea.[ch]
12151         * gtk/gtkgamma.[ch]
12152         * gtk/gtkhandlebox.[ch]
12153         * gtk/gtkhpaned.[ch]
12154         * gtk/gtkhruler.[ch]
12155         * gtk/gtkplug.[ch]
12156         * gtk/gtkpreview.[ch]
12157         * gtk/gtkruler.[ch]
12158         * gtk/gtksocket.[ch]
12159         * gtk/gtkstatusbar.[ch]
12160         * gtk/gtktoolbar.[ch]
12161         * gtk/gtkvbbox.[ch]
12162         * gtk/gtkvpaned.[ch]
12163         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12164         functions.
12165
12166         * gtk/gtkgamma.h: Fix bug, missing () in call of
12167         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12168
12169 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12170
12171         * gdk/gdkcolor.c (gdk_colormap_new)
12172         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12173         colormap->colors was allocated twice.
12174
12175         * gdk/win32/gdk.c: Remove some unused stuff.
12176
12177         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12178         colormap.
12179
12180         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12181         * gtk/gtklabel.h (gtk_label_get_type)
12182         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12183         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12184         in a couple of places, not guint.
12185
12186 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12187
12188         * configure.in,po/et.po: added Estonian language file
12189
12190 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12191
12192         * configure.in,po/da.po: added Danish file
12193
12194 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12195
12196         * docs/gtkfaq.sgml: Minor FAQ Update
12197
12198 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12199
12200         * docs/gtkfaq.sgml: FAQ update
12201
12202 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12203
12204         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12205         way to get window contents continually refreshed while resizing. I
12206         didn't like the effects myself, so it's not on by default.
12207
12208         * gdk/win32/gdkprivate.h: New flag variable
12209         gdk_event_func_from_window_proc, FALSE by default.
12210
12211         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12212         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12213         are passed --gdk-event-func-from-window-proc.
12214
12215         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12216         and we have am event_func, call it instead of enqueing the event.
12217
12218 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12219
12220         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12221         Kelley: Set expose_count in GdkEventExposes correctly.
12222
12223         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12224         MULTIPLE_WINDOW_CLASSES).
12225
12226         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12227         for bug in NT, apparently NT *does* draw the end pixel, too, in
12228         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12229
12230 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12231
12232         Improvements by Hans Breuer: 
12233
12234         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12235
12236         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12237         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12238         window contents while dragging" is turned on. Allocate at least
12239         one unique class for every GdkWindowType. If support for single
12240         window-specific icons is ever needed (eg. Dialog specific), every
12241         such window should get its own class.
12242
12243 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12244
12245         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12246         error that caused crashes.
12247
12248 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12249
12250         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12251         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12252         bugs when for instance part of the window was outside the
12253         display. Thanks to Philippe Colantoni for finding and fixing this.
12254
12255 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12256
12257         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12258         endpoint calculations which were totally wrong. (A little RTFMing
12259         helps a lot ;-)
12260
12261         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12262         from a separate directory, not from gettext, because of licensing
12263         issues (we want to use the LGPL version).
12264
12265         * README.win32: Mention the intl from glibc vs from gettext issue.
12266
12267 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12268
12269         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12270         in the key event handling: Now AltGr chars work again. Also,
12271         now Alt-digits are passed up as well as Control-digits.
12272         Pass keypad plus and minus as normal plus and minus.
12273
12274 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12275
12276         * docs/gtkfaq.sgml: FAQ Update
12277
12278 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12279
12280         * README.win32
12281         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12282         the Wintab SDK.
12283
12284         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12285         OK, but getting closer. Guard against bogus tilt data from Wacom
12286         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12287         enable easier building without Wintab.
12288
12289         * gdk/win32/gdkinput.h
12290         * gdk/win32/gdkevents.c 
12291         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12292         
12293         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12294         code. As we have just one visual on Win32, no sense to have it in a
12295         table, and no need for the hash table.
12296
12297         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12298         better on white background.
12299
12300 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12301
12302         * README.win32: Update gcc build instructions. Mention gettext is
12303         GPL.
12304
12305         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12306         supported cursor size with GetSystemMetrics.
12307
12308         * gdk/win32/gdkfont.c
12309         * gtk/gtkfontsel.c: Guard against some font weight and charset
12310         symbols being undefined (in mingw32 headers).
12311
12312         * gdk/win32/makefile.cygwin
12313         * gtk/makefile.cygwin
12314         * gtk/gtkthemes.c: No longer need to have differently named
12315         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12316
12317 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12318
12319         * docs/gtkfaq.sgml: Long awaited FAQ update.
12320
12321 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12322
12323         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12324         it. Obscure bit manipulation needed.
12325
12326         * gdk/win32/gdkevents.c: Logging.
12327         
12328         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12329         style (file name include compiler name) for theme engines.
12330
12331 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12332
12333         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12334
12335         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12336         events. The key.string wasn't zero-terminated, still we strdup'ed
12337         it in gdk_event_copy(). Synthesize crossing events for button
12338         events before possible propagation.
12339
12340         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12341
12342         * gdk/win32/makefile.cygwin
12343         * gtk/makefile.cygwin: Use new DLL naming style for the
12344         GCC-compiled ones.
12345
12346         * gdk/win32/makefile.msc
12347         * gtk/makefile.msc: Cosmetics mostly.
12348
12349         * gtk/gtk.def: Add missing entry points.
12350
12351         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12352
12353 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12354
12355         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12356         or height is zero. Don't print a warning if Pie or Arc fails, they
12357         always fail (?) for very narrow ellipses.
12358
12359         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12360         the part or the destination window corresponding to source area
12361         outside of the source drawable's boundary.
12362
12363         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12364         anything if less than two points.
12365
12366         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12367         return NULL. Gtk cut-and-paste inside a single program works
12368         better this way. (It always gets the clipboard contents from
12369         Windows, not from its own copy, which is cleared anyway. I can't
12370         say I fully understand what happens... Emulating the X selection
12371         and property stuff is a bit of a mess.)
12372
12373         * gdk/win32/gdkevents.c
12374         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12375
12376         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12377         that never got deleted). Revamp gdk_region_shrink.
12378
12379         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12380         after use.
12381
12382         * gtk/gtk.def: Add some missing entry points.
12383
12384         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12385         component.
12386
12387 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12388
12389         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12390         Control-digits specially.
12391
12392 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12393
12394         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12395
12396 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12397
12398         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12399         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12400         finding this.)
12401
12402 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12403
12404         * gtk+.spec.in: Corrected some typos in files section.
12405         
12406 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12407
12408         * README.win32: Mention using GNU gettext.
12409         * config.h.win32: Enable NLS stuff.
12410         * gtk/makefile.msc: Use GNU gettext.
12411         * gdk/win32/gdkdnd.c: Minor header reorg.
12412         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12413         cosmetics.
12414         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12415         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12416
12417 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12418
12419         * acinclude.m4
12420         * config.guess
12421         * config.status
12422         * ltconfig
12423         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12424
12425 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12426
12427         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12428         SafeAdjustWindowRectEx. Don't override all calls to
12429         AdjustWindowRectEx by it, but use it only in two places: When
12430         creating a new top-level window and when moving a top-level
12431         window.
12432
12433         Use screen coordinate rectangle, not client rectangle, in
12434         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12435         when we try to place a window so that the decoration (mainly,
12436         title bar) isn't visible.
12437
12438         These changes fix the bug that showed up for instance as the
12439         GIMP's saved top-level windows moving right and down (by an amount
12440         equal to the window decoration) for each session. This bug showed
12441         up also in testgtk's "Saved Position".
12442
12443         gdk_window_resize also redone a bit.
12444
12445 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12446
12447         * gtk/testgtkrc: Add (commented out) Windows-style theme
12448         include line.
12449
12450         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12451
12452 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12453
12454         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12455         gdkx.h to a gdk subdirectory, so that applications can include
12456         these with <gdk/*.h> without trouble.
12457
12458         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12459         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12460         have their bitmap destroyed.
12461
12462         * gdk/win32/gdk.def: Add gdk_root_parent.
12463
12464 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12465
12466         * configure.in
12467           gtk-config.in
12468           ltconfig
12469           ltmain.sh     
12470           gtk/Makefile.am: changes to compile nicely (with xlib) 
12471           on BeOS
12472
12473 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12474
12475         * acinclude.m4
12476         * config.guess
12477         * config.sub
12478         * ltconfig
12479         * ltmain.sh: upgrade to libtool 1.3
12480
12481 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12482
12483         * gtk/gtkclist.c:
12484         * gtk/gtkctree.c: merges from gtk-1-2
12485
12486 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12487
12488         Support added for building using a GNU toolchain on Win32,
12489         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12490
12491         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12492         * config.h.win32: Changes for gcc.
12493         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12494         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12495         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12496         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12497         Protect shl stuff unavaiilable with mingw32 headers.
12498         * gdk/win32/gdkevents.c: Fix typo.
12499         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12500         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12501         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12502         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12503         the mingw32 headers.
12504         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12505         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12506         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12507         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12508         Test for NATIVE_WIN32, not _MSC_VER.
12509         * gtk/gtkmain.c: No use warning about developer version on Win32,
12510         there aren't any non-developer versions anyhow.
12511         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12512         * gtk/makefile.msc: Use pthread from another directory. Minor other
12513         changes. 
12514
12515 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12516
12517         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12518           default filter from the list
12519
12520 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12521
12522         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12523          when gtk_widget_grab_default() is called for a widget that
12524          is not within a GtkWindow.
12525
12526 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12527
12528         * docs/gtk_tut.sgml, examples/clist.c: use a
12529           scrolled window in the clist example. Minor
12530           tutorial fixes.
12531
12532 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12533
12534         * docs/gtk_tut.sgml: Style check from David King
12535           <dking@youvegotmail.net>
12536
12537 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12538
12539         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12540         compile with unknown value of GDK_WINDOWING
12541
12542 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12543
12544         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12545         after the rule is fired.
12546         (install-exec-local): Install gdkconfig.h only if the contents are
12547         different from the currently installed gdkconfig.h.
12548
12549 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12550
12551         * gdk/Makefile.am (configexecincludedir): Rename from 
12552         configincludedir so that gdkconfig.h will be installed 
12553         as part of `make install-exec'. 
12554
12555 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12556
12557         * acinclude.m4
12558         * config.guess
12559         * config.sub
12560         * ltconfig
12561         * ltmain.sh: upgrade to libtool 1.2f
12562
12563         * autogen.sh: libtool is not required to autogen gtk+
12564
12565         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12566         needed)
12567
12568 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12569
12570         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12571         declaring gdk variables exported/imported from the DLL. New image
12572         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12573         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12574         GDK_DRAG_PROTO_OLE2.
12575
12576         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12577         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12578         declared only for the Win32 version, but could be in the X11
12579         version as well. (Needed for a Xlib-less gdk_imlib.)
12580         gdk_color_hash should have only one parameter. Declare
12581         gdk_threads_mutex with GDKVAR.
12582         
12583         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12584         just one parameter.
12585
12586         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12587         per pixel, not bits.
12588
12589         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12590         Fetch bpp (which means bits-per-pixel here) from another place on
12591         Win32. Accept also depth==32 (which we might get on Win32) with
12592         bpp==32.
12593
12594         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12595         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12596         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12597         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12598         in the backend-dependent directory, not in the common gdk
12599         directory.
12600
12601         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12602         headers.
12603
12604 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12605
12606         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12607         want to use the Gtk+ devel version (which is true, and yes - even i am
12608         currently working with the 1.2.x branch). so everyone reading this, you
12609         probably want to issue
12610         cvs checkout -r glib-1-2 glib
12611         and
12612         cvs checkout -r gtk-1-2 gtk+
12613         as your next two comands.
12614
12615 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12616
12617         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12618         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12619
12620         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12621         file. strongly deprecated the GTK_HAVE_* macros, we provide
12622         GTK_CHECK_VERSION() for people that need to check for certain
12623         Gtk+ versions.
12624
12625         * gtk/gtkcompat.h: removed this from CVS.
12626         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12627         idea right from the start, it just didn't seem like that back then.
12628
12629 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12630
12631         * merges from gtk-1-2:
12632
12633 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12634
12635         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12636         item factory class has been created.
12637         (gtk_item_factory_parse_rc): likewise.
12638
12639         * gtk/gtkmenu.c:
12640         keep proper references for old_active_menu_item.
12641         (gtk_menu_reparent): unset the usize of the new parent,
12642         so the menu can sanely be size requested and we don't get nasty screen
12643         artefacts upon next reparentation.
12644         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12645         enter notify. only synthesize enter notifies if the pointer really is
12646         inside the event window.
12647         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12648         (gtk_menu_popup): move the background setting stuff into
12649         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12650
12651         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12652         gtk_menu_shell_select_item() to select the new item.
12653         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12654         do the right thing for deselection as well.
12655
12656 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
12657
12658         * gtk/gtkwidget.[hc]:
12659         (gtk_widget_accelerators_locked): return whether a widget's accelerators
12660         are locked.
12661
12662         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
12663         existing accelerators if the widget's accelerators are locked.
12664
12665 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
12666
12667         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
12668
12669         * gtk/gtkmenu.c: truely forward key press and key release events to
12670         the menu widget from the toplevel or tearoff window. we can't simply
12671         connect to that, we need to stop further processing of the events as
12672         well.
12673
12674 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
12675
12676         * gtk/gtkmenu.c:
12677         (gtk_menu_key_press): pass event->keyval, event->state to
12678         gtk_accelerator_valid, instead of event->keyval twice.
12679         refuse to install single letter accelerators for menus that use
12680         single letter shortcuts.
12681
12682         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
12683         gtk_menu_ensure_uline_accel_group().
12684
12685         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
12686         which will always return an uline accel group, made
12687         gtk_menu_get_uline_accel_group() return NULL if the group isn't
12688         yet created.
12689
12690 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
12691
12692         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
12693
12694         * gtk/gtkclist.c (gtk_clist_column_title_passive):
12695         Leave button sensitive, trap  button_press, button_release,
12696         motion_notify, enter_notify and leave_notify events instead.
12697         (gtk_clist_column_title_active): disconnect event handler.
12698         (gtk_clist_drag_data_get): fixed memory leak. Reported by
12699         Guillaume Laurent <glaurent@worldnet.fr>
12700
12701 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
12702
12703         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
12704         width/height mixups.
12705
12706         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
12707         if needed.
12708
12709 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
12710
12711         * gtk/testgtk.c (create_item_factory): unref the item factory after
12712         window's destruction.
12713
12714         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
12715         count on the menu shell around the menu item's activation, since the
12716         signal emission may cause menu shell destruction.
12717
12718         * gtk/gtkitemfactory.c:
12719         the previous code leaked one accel group per menu. we use
12720         gtk_menu_get_uline_accel_group() now to fix that, and with that
12721         also create the underline accelerator group of the menus only if
12722         required (i.e. an underline accelerator has been specified).
12723         (gtk_item_factory_construct):
12724         (gtk_item_factory_create_item): removed code that would create an
12725         extra accel group for the menu (and leak references).
12726         (gtk_item_factory_create_item): adapted the underline accelerator
12727         installation code to properly feature gtk_menu_get_uline_accel_group().
12728
12729         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
12730         menu->accel_group, this may return NULL if the accelerator group
12731         hasn't been set yet.
12732         added gtk_menu_get_uline_accel_group() to retrive the underline
12733         accelerator group of the menu, this will be created on demand
12734         and proper care is taken about its reference count.
12735
12736         * gtk/gtkitemfactory.h:
12737         * gtk/gtkitemfactory.c:
12738         dumped the approach of keeping a widgets by action list on the
12739         factory since the factory<->widget destroy negotiation didn't work
12740         and would be hard to get going at all. instead we keep a list of
12741         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
12742         persistant throughout a program's life time).
12743         also, i removed the static const gchar *key_* variables, and made
12744         them inline strings (they weren't actually used anyways).
12745         (gtk_item_factory_add_item): update ifactory->items.
12746         (gtk_item_factory_destroy): destroy ifactory->items (and remove
12747         the item factory pointer from the remaining ifactory widgets).
12748         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
12749         list to find the widget.
12750         (gtk_item_factory_get_item): new function that works around
12751         gtk_item_factory_get_widget() limitations, this function will only
12752         return menu items, even for <Branch> entries.
12753
12754 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12755
12756         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12757         font hash table, if we have a GdkFontPrivate entry for this font
12758         already, simply increment its reference count, provided by Olaf Dietsche
12759         <olaf.dietsche+list.gtk@netcologne.de>.
12760
12761         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12762         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12763
12764 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
12765
12766         * gtk/gtkcontainer.c:
12767         (gtk_container_add_with_args):
12768         (gtk_container_addv):
12769         (gtk_container_add): before adding a child to a conatiner, make sure
12770         it is (default) constructed, this is neccessary because under certain
12771         circumstances the child will get relized and mapped immediatedly, in
12772         which case it has to be constructed already.
12773
12774 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
12775
12776         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
12777         values > 1 as TRUE also.
12778
12779 1999-03-16  Tor Lillqvist  <tml@iki.fi>
12780
12781         * README.win32: New file.
12782                 
12783         * configure.in: Check for lstat.
12784
12785         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
12786         completeness.
12787
12788         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
12789
12790         * gtk/gtk.def: Removed CRs.
12791
12792         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
12793         ..\gdk\win32).
12794
12795         * gdk/win32/makefile.msc: Correct upwards relative paths.
12796         
12797 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
12798
12799         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
12800           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
12801           it was connecting a void function to expose_event and the int
12802           returning function to the draw signal
12803
12804 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
12805
12806         * configure.in:
12807         Use correct path to libgmodule.la when ref'ing uninstalled copy
12808         of glib.  (Already in stable branch, Bug #417)
12809
12810 1999-03-15  Tor Lillqvist  <tml@iki.fi>
12811
12812         Win32 merge and general portability stuff:
12813                 
12814         * acconfig.h,configure.in: Check for <sys/time.h>.
12815
12816         * gdk/win32: New directory (actually, been there for a while).
12817         
12818         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
12819         NATIVE_WIN32, and use these. Always case fold on Win32. No
12820         backslashed escapes on native Win32.
12821
12822         * gtk/{gtk.def,makefile.msc}: New files.
12823
12824         * gtk/Makefile.am: Add above new files.
12825         
12826         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
12827         instead of <strings.h>.
12828
12829         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
12830         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
12831         <unistd.h> appropriately.
12832
12833         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
12834         Use ABS() (from <glib.h>) instead of abs().
12835         
12836         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
12837         of gtk (and thus glib) headers, so that WIN32 will be
12838         defined. With MS C, include <direct.h> for mkdir prototype.
12839
12840         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
12841         some casts, needed by MS C.
12842
12843         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
12844         implemented).
12845
12846         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
12847         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
12848         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
12849
12850         * gtk/gtkmain.h: Mark variables for export/import on Win32.
12851                 
12852         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
12853         the event is not a hint, or its window is not the slider. Needed
12854         on Win32, at least.
12855
12856         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
12857         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
12858         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
12859         a subdirectory of the Windows directory as gtk system
12860         configuration directory.
12861
12862         * gtk/gtkselection.c: No chunks on Win32.
12863
12864         * gtk/gtksocket.c: Not implemented on Win32.
12865
12866         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
12867
12868         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
12869
12870         * gtk/maketypes.awk: Declare variables with a macro that expands to
12871         necessary export/import magic in the case of Win32.
12872                 
12873         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
12874
12875 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
12876
12877         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
12878         since those were meant only for gdki18n.h.  
12879         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
12880         for widechar tests.
12881         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
12882
12883 1999-03-13  Tor Lillqvist  <tml@iki.fi>
12884
12885         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
12886         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
12887
12888         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
12889         installed) to CFLAGS.
12890
12891         * gdk/Makefile.am: Add rules for gdkconfig.h.
12892
12893         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
12894         APIs.
12895
12896         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
12897         gdkx.h anyway when compiling for X11.
12898         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
12899         general): Merge in Win32 version.
12900         
12901         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
12902         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
12903         expansion (if we don't have HAVE_PWD_H), allow for drive
12904         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
12905         included code from Craig Setera's port to Win32 (the one that uses
12906         X11, and the cygwin dll), even if it probably will be abandoned.
12907
12908         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
12909         the user entered one herself.  This way one can complete *.h and
12910         don't get matches on any .help files, for instance.
12911         
12912 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12913
12914         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12915         font hash table, if we have a GdkFontPrivate entry for this font
12916         already, simply increment its reference count, provided by Olaf Dietsche
12917         <olaf.dietsche+list.gtk@netcologne.de>.
12918
12919         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12920         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12921
12922 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12923
12924         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
12925         the number of calls to gdk_draw_point() (and thus to X) by
12926         clipping the points by hand.
12927
12928         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
12929         the clip parameter.
12930         (gtk_handle_box_paint): Only paint the handle if the expose area
12931         intersects it.
12932
12933 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12934
12935         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
12936
12937 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
12938
12939         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
12940         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
12941
12942 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12943
12944         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
12945          textmode (O_TEXT) for OS/2 version.
12946
12947 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
12948
12949         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
12950         GtkSpinButton, "input" and "output", to make the output more flexible.
12951         The user has to provide a mapping between adjustment->value and the
12952         output string (and vice versa, if the spin button is editable). 
12953         See testgtk for examples.
12954
12955 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
12956
12957         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
12958         new one.
12959         
12960         * configure.in: set gtk+ version to 1.3.0.