]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
f4dae8b51aa673efad0a403e1f907222d793d687
[~andy/gtk] / ChangeLog.pre-2-10
1 2001-02-28  Havoc Pennington  <hp@redhat.com>
2
3         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
4         draw_default
5         (gtk_widget_draw_focus): remove this function; we could instead
6         make it just gtk_widget_draw(), but in most cases I think the
7         result would be broken user code, so think it's better to have
8         that code not compile and get fixed
9         (gtk_widget_draw_default): ditto
10
11         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
12         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
13         
14         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
15         widgets lose/get the default, instead of calling draw_default
16         
17         * docs/Changes-2.0.txt: note about all this
18
19         Then fixed every widget in GTK, I won't list all the filenames.
20
21 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
22
23         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
24         _gtk_tree_row_reference_deleted.
25         (inserted_callback): Proxy out to
26         _gtk_tree_row_reference_inserted.
27         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
28         get around signal emission ordering problem.
29
30         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
31         fix to work with SINGLE 
32         (_gtk_tree_selection_internal_select_node): Major sanitization on
33         selections.  SINGLE now seems to work.
34
35         * tests/Makefile.am: add testtreecolumn.c:
36
37         * tests/testtreecolumn.c: New test.  Mostly points out selection
38         bugs currently, but will test columns later.
39
40         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
41         selection bug.  I hate touching this code -- it's scary.
42
43 2001-02-26  Havoc Pennington  <hp@redhat.com>
44
45         * gtk/testgtk.c: test the window state stuff
46
47         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
48         window come to the user's attention as if it were just created
49         (gtk_window_iconify): new function
50         (gtk_window_deiconify): new function
51         (gtk_window_stick): new function
52         (gtk_window_unstick): new function
53         (gtk_window_maximize): new function
54         (gtk_window_unmaximize): new function
55
56         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
57
58         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
59
60         * gdk/x11/gdkevents-x11.c: create window state events when
61         appropriate
62         (gdk_wmspec_supported): new function
63
64         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
65         iconification before showing the window
66         (gdk_window_deiconify): new function
67         (gdk_window_stick): new function
68         (gdk_window_unstick): new function
69         (gdk_window_maximize): new function
70         (gdk_window_unmaximize): new function
71
72         * gdk/gdkwindow.c: store the window state in the window; 
73         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
74         window->mapped.
75         (gdk_window_get_state): return the current window state
76
77         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
78         (gdk_event_get_state): handle GDK_WINDOW_STATE
79         (gdk_synthesize_window_state): function to create the window state
80         events
81
82         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
83         event, for changes to "window state" such as maximized, sticky, 
84         etc.
85         
86         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
87         focuses a window
88
89         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
90         finds out if we support a given WM spec hint
91
92 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
93
94         * docs/faq/gtk-faq.sgml: New question re memory leaks.
95
96 2001-02-25  Hans Breuer  <hans@breuer.org>
97
98         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
99         cause we want to loose those prototypes only in the latter case
100
101         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
102         GdkPixmapImplWin32 because it itsn't derived from it. Use the
103         impl member variable instead
104
105         * gtk/gtk.def : updated
106
107         * gtk/gtklist.c : 
108         * gtk/gtkmenus.c : include <string.h> for memset ()
109
110         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
111         for everthing built here, but for gtk-x.x.dll only. This solves
112         problem of indifferent gtk type definitions
113
114 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
115
116         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
117
118 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
119
120         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
121         column that is exposed.
122
123         (_gtk_tree_view_update_size): Changed name from set_size, and
124         changed function to do more work, and not force people calling it
125         to figure out the size.  Simplifies a lot of code elsewhere.
126
127 2001-02-23  Alexander Larsson  <alexl@redhat.com>
128
129         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
130         return solid masks for xpms that have no transparent color.
131         This makes the ..._create_from_xpm... API backwards
132         compatible.
133
134 2001-02-23  Tor Lillqvist  <tml@iki.fi>
135
136         * README.win32: Update. Mention the gtk-1-3-win32-production
137         branch.
138
139         * gdk/win32/bdfcursor.c: New file. A program that generates
140         xcursors.h. Thanks to Stefan Ondrejicka.
141
142         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
143         compact format.
144
145         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
146
147         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
148         function, uses xcursors.h.
149         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
150         cursor from inline data instead of using LoadCursor() to generate
151         it from a resource.
152
153         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
154         event, must check the Windows message for mouse button state, as
155         the GDK event state might not have been built if it is
156         undelivered. Remove one goto.
157
158         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
159         SetCursor() if the current cursor as returned by GetCursor() is
160         the window's previous cursor. The ChildWindowFromPoint() test
161         apparently didn't work correctly.
162
163         * gdk/win32/rc/*.cur: Remove.
164
165         * gdk/win32/rc/gdk.rc.in: Remove cursors.
166
167         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
168
169         * gtk/makefile.{mingw,msc}.in: Updates.
170
171 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
172
173         * gtk/gtktreemodel.h: add functions for signal emission.
174
175         * gtk/gtktreestore.c: move to use above functions instead of
176         g_signal_emit.
177
178         * gtk/gtkliststore.c: ditto
179
180 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
181
182         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
183         GObject instead of GtkObject.
184
185         * gtk/gtkliststore.c: ditto.
186
187         * gtk/gtktreemodelsort.c: ditto.
188
189         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
190         GtkTreeModelIface, instead of in each model.
191
192 2001-02-21  Havoc Pennington  <hp@redhat.com>
193
194         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
195         unbreak this function
196
197         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
198         properties
199
200         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
201         properties
202
203         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
204         properties
205
206         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
207         mean unset the max length
208
209 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
210
211         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
212         Changed name to be set_cell_data_func to make it clear what
213         the functino does.  Close bug #51069.
214
215 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
216
217         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
218         have memory actually freed.  Keeps box running longer.
219
220 2001-02-21  Alexander Larsson  <alexl@redhat.com>
221         
222         * gtk/gtkseparatormenuitem.[ch]:
223         Added new menu separator item. The drawing and size handling
224         is still done in GtkMenuItem, but the API is a bit more sane.
225         
226         * gtk/Makefile.am:
227         Add gtkseparatormenuitem.[ch].
228
229         * gtk/gtk.h:
230         Add gtkseparatormenuitem.h.
231         
232         * gtk/gtkentry.c:
233         * gtk/gtkmenufactory.c:
234         * gtk/gtktextview.c:
235         Use the new API for menu separators.
236         
237         * demos/gtk-demo/menus.c (create_menu):
238         Add some GtkSeparatorMenuItem demo code.
239
240 2001-02-20  Havoc Pennington  <hp@redhat.com>
241
242         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
243         Lee Mallabone
244
245         * gtk/gtkarrow.c: Convert to new property API, patch from 
246         Lee Mallabone
247
248 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
249
250         * tests/testtreeview.c (toggled_callback): fix to reflect change
251         in GtkTreeModelStore.
252
253 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
254
255         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
256         function to create an icon set from a pixbuf.
257
258 2001-02-20  Alexander Larsson  <alexl@redhat.com>
259
260         * gtk/gtkcellrenderertext.[ch]:
261         Add a "markup" property.
262
263         * gtk/treestoretest.c:
264         Use the markup property, remove some leftover stuff from
265         GtkTreeModelMapping.
266
267 2001-02-20  Alexander Larsson  <alexl@redhat.com>
268
269         * gtk/gtklabel.c (gtk_label_set_selectable):
270         Queue a redraw if the selectable setting was changed.
271
272 2001-02-20  Alexander Larsson  <alexl@redhat.com>
273
274         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
275         Actually copy the whole gc, not just the public parts.
276         
277         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
278         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
279         labels.
280
281 2001-02-19  Havoc Pennington  <hp@pobox.com>
282
283         * gdk/gdkwindow.c: docs
284
285         * gdk/gdkrgb.c: docs
286
287         * gdk/gdkregion-generic.c: docs
288
289         * gdk/gdkgc.c (gdk_gc_set_values): docs
290
291         * gdk/gdkdraw.c: docs
292
293         * gdk/gdkdrawable.h: deprecate drawable get/set data
294
295 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
296
297         * demos/gtk-demo/dialog.c: Add simple new demo.
298
299 2001-02-19  Havoc Pennington  <hp@redhat.com>
300
301         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
302         insert_child_anchor signal, bug #50245
303
304         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
305         from create_child_anchor, so the anchor is passed in
306
307         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
308         (_gtk_widget_segment_new): have the child anchor object passed in, 
309         instead of creating it.
310
311         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
312         to gtk_text_buffer_get_modified
313
314 2001-02-19  Havoc Pennington  <hp@redhat.com>
315
316         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
317         changed GLib without fixing GTK
318
319         * gtk/gtkrange.h: Rename all the stupid implementation detail 
320         functions to have an underscore in front. Most of them should 
321         probably just go away, but for starters don't export them.
322         Bug #50482
323
324 2001-02-19  Havoc Pennington  <hp@redhat.com>
325
326         * gdk/gdkcolor.h: test was backward, so deprecated functions were
327         excluded by default
328
329         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
330         clean up the old code a bit
331
332         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
333         inconsistent state
334
335         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
336         draw inconsistent state
337
338         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
339         (create_menu): add inconsistent test
340
341         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
342         new function
343         (gtk_check_menu_item_get_inconsistent): new function
344         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
345         state (using etched in for now)
346
347         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
348         draw inconsistent state
349
350         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
351         function, used when the user has selected a range of stuff in
352         different states
353         (gtk_toggle_button_get_inconsistent): accessor for that
354         (gtk_toggle_button_paint): draw inconsistent state (etched in?
355         don't know what else to do)
356
357 2001-02-19  Hans Breuer <hans@breuer.org>
358
359         * gtk/gtk.def : updated exported symbols
360
361         * gtk/makefile.msc.in : updated
362
363         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
364         a colormap, when invoked from testgtk::entry. I'm not sure where
365         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
366         avoids immediate crashing ...
367
368         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
369         any objections ?
370
371         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
372         0 parameter. At least msvc doesn't like macros with var args. 
373         I simply removed the extra 0, was it a feature or a typo ?
374
375         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
376         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
377         because the value assignment to the internal struct wasn't working.
378         I'm not absolutely sure. The problem could have been resolved by
379         changing the "func" declartion in the struct, but was the pointer
380         to the function pointer intended ?
381
382         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
383
384         * gdk/gdk.def : updated exported symbols
385
386         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
387         only use SetDIBitsToDevice if there is a palette at the drawable
388         and the image is GDK_VISUAL_PSEUDO_COLOR
389
390         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
391
392         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
393
394         * gdk/*/makefile.msc : updated
395
396 2001-02-19  Havoc Pennington  <hp@redhat.com>
397
398         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
399         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
400
401         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
402         (gdk_key_repeat_restore): nuke
403
404         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
405         (gdk_init_check): no atexit func
406
407         * gdk/gdkrgb.h: mark some stuff deprecated
408
409         * gdk/gdkcolor.h: mark some stuff deprecated
410         
411         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
412
413         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
414
415 2001-02-16  Havoc Pennington  <hp@redhat.com>
416
417         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
418         scroll steps.
419
420         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
421         steps, and add Ctrl-arrow shortcuts for paging visually as with
422         HScale, since Page Up and Page Down move logically.
423
424         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
425         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
426         
427         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
428         steps
429         (gtk_range_scroll): handle the visual steps
430
431         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
432         scroll steps
433
434         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
435         steps, not the logical ones.
436
437         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
438         (scroll_vertical): handle up/down steps
439
440 2001-02-19 Alexander Larsson  <alexl@redhat.com>
441
442         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
443         Copy data and free data with free().
444
445         * gdk-pixbuf/gdk-pixbuf.c:
446         * gdk-pixbuf/io-jpeg.c:
447         * gdk-pixbuf/io-png.c:
448         Use g_try_malloc/g_free instead malloc/free.
449         
450         * gdk-pixbuf/test-gdk-pixbuf.c:
451         Must... initialize... gobject...
452         
453         * gdk-pixbuf/pixops/timescale.c:
454         * gtk/gtkcalendar.c:
455         Use g_malloc instead of malloc.
456         
457 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
458
459         * gtk/testgtkrc:
460         Comment out property assignments, these don't work yet.
461
462 2001-02-17  Havoc Pennington  <hp@pobox.com>
463
464         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
465         bit.
466
467 2001-02-17  Havoc Pennington  <hp@pobox.com>
468
469         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
470         shadowed variables that had broken size request in some cases,
471         leading to bogus tooltips (#50996)
472
473 2001-02-06  Jon K Hellan  <hellan@acm.org>
474
475         Implement fast browsing of tooltips, bug #50619
476         
477         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
478         and last_popdown
479         
480         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
481         use_sticky_delay and last_popdown.
482         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
483         time of popdown.
484         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
485         is NULL.
486         (gtk_tooltips_recently_shown): New static function.  Return true
487         if < sticky_delay has elapsed since last popdown.
488         (gtk_tooltips_event_handler): Display window after sticky_delay
489         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
490         since last popdown.
491         
492 2001-02-17  Havoc Pennington  <hp@pobox.com>
493
494         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
495         instead of (). #6394
496
497         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
498         G_CONST_RETURN, make it return by reference, #50473
499         
500 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
501
502         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
503         generated ENTER_NOTIFY event with 0, otherwise not explicitely
504         setup fields contain garbage (e.g. subwindow, breaking
505         gdk_drawable_ref() upon event copy).
506         (gtk_menu_stop_navigating_submenu_cb): same here.
507
508         * gtk/gtklist.c (gtk_list_vertical_timeout): 
509         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
510         * gtk/gtkclist.c (vertical_timeout): 
511         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
512         default-zero-intialization for unions to memset(,0,), as unions are
513         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
514         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
515
516         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
517         g_closure_sink() warning.
518
519         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
520         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
521         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
522         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
523         
524 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
525
526         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
527         gtk_*_store_get, and moved to GtkTreeModel.
528
529         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
530
531         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
532
533         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
534
535         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
536         set the func.
537
538         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
539         freeze/thaw notify between setting all the properties for a cell.
540
541         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
542
543 2001-02-15  Havoc Pennington  <hp@redhat.com>
544
545         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
546         the X coordinates so they're with respect to the line, rather than 
547         with respect to the layout.
548
549         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
550         Mallabone
551
552         * gtk/testgtk.c (create_range_controls): add vscale tests, 
553         and inverted test
554
555         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
556         #50806
557
558         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
559
560         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
561         gtk_text_iter_is_end
562
563         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
564         rename gtk_text_buffer_get_end_iter
565
566         * gtk/testgtk.c (create_labels): Add test for selectable
567
568         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
569         the selection stuff. This code is kind of broken since it doesn't 
570         use the theme engine.
571
572         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
573         fix infinite loop and y offset problem
574         (gdk_draw_layout_line_with_colors): fix foreground color handling
575
576         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
577         that makes the label selectable.
578         
579         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
580         layout when the style is set, since fonts etc. could have changed.      
581
582 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
583
584         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
585
586         * gtk/gtktreemodelsimple.[ch]: removed.
587
588 2001-02-16  Alexander Larsson  <alexl@redhat.com>
589
590         * gtk/gtktreemodelmapping.[ch]:
591         New files. Implement GtkTreeModelMapping.
592         
593         * gtk/Makefile.am:
594         Add gtktreemodelmapping.[ch].
595         
596         * gtk/gtk.h:
597         Add gtktreemodelmapping.h
598
599         * gtk/treestoretest.c:
600         Test the GtkTreeModelMapping
601
602 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
603
604         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
605         have a demo, we might as well pass in real values.  Thanks to
606         clahey for pointing this out.
607
608 2001-02-14  Havoc Pennington  <hp@pobox.com>
609
610         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
611         "static" to a private function
612         (gtk_image_menu_item_class_init): remove destroy handler,
613         add "image" object property
614
615 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
616
617         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
618         Add a shortcut if the window and the current clip_region doesn't
619         overlap. This is needed when there are a lot of windows in a
620         window. The layout test in testgtk is a good test.
621
622         * gdk/linux-fb/gdkwindow-fb.c:
623         Whitespace fix.
624
625 2001-02-13  Sven Neumann  <sven@convergence.de>
626
627         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
628
629 2001-02-13  Alexander Larsson  <alexl@redhat.com>
630
631         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
632         Don't reference last_cursor if it is null. Fixes crash when rotating
633         the screen before having moved the mouse.
634
635         * gdk/linux-fb/gdkcc-fb.c: Zapp!
636
637         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
638
639         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
640         when using 90 or 270 degrees rotation.
641
642 2001-02-12  Havoc Pennington  <hp@pobox.com>
643
644         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
645         it always set the foreground, even if we were only using
646         a stipple.
647         (gdk_draw_layout_line_with_colors): new function, allow
648         override colors
649         (gdk_draw_layout_with_colors): new function, allow override
650         colors
651         (gdk_pango_layout_line_get_clip_region): function to get the clip
652         region for a logical text range
653         (gdk_pango_layout_get_clip_region): get the clip region for a
654         logical text range
655
656         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
657         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
658         the right number of arguments.
659
660         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
661         enhance the function to check that node data corresponds to a 
662         view still belonging to the tree.
663
664         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
665         GtkTreePath
666         (gtk_tree_view_inserted): ditto
667         (gtk_tree_view_child_toggled): ditto
668
669         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
670         simplify this code.
671
672         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
673         a PangoAttrList
674
675         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
676
677         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
678
679         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
680         size in the size request 
681         (gtk_menu_bar_size_allocate): consider toggle size here
682
683         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
684         that displays a widget in the toggle slot
685
686         * gtk/testgtk.c: test GtkImageMenuItem
687
688         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
689         
690         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
691         request and allocation
692
693         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
694
695         * gtk/gtkcheckmenuitem.c
696         (gtk_check_menu_item_toggle_size_request): ditto
697         
698 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
699
700         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
701         reference.
702
703         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
704         and refuse to initialize GTK+ if they fail.
705
706 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
707
708         * configure.in: Add check for gtk-doc version.
709
710 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
711
712         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
713         where the xpad/ypad was only being used on one side!
714
715 2001-02-11  Tor Lillqvist  <tml@iki.fi>
716
717         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
718         function, copied from X11 version.
719
720         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
721         DestroyCursor failures. The reason for the problem (despite the
722         inconsistent messages from GetLastError()) was that
723         DestroyCursor() cannot be called while a cursor is set in a
724         window. Set the new cursor first and then destroy the old one.
725         Thanks to jpe@archaeopteryx.com.
726
727         * gdk/win32/gdkcc-win32.c: Remove.
728
729         * gdk/win32/Makefile.am: Remove from here, too.
730         
731         * gdk/gdk.def
732         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
733
734         * gtk/gtk.def
735         * gtk/makefile.mingw.in: Updates.
736
737 2001-02-08  Havoc Pennington  <hp@redhat.com>
738
739         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
740         add a widget to a bin that already has a child.
741
742         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
743
744         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
745         
746         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
747
748         * gdk/gdk.h: remove gdkcc.h
749
750         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
751
752         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
753         GdkPixbuf, since the previous implementation was GdkColorContext
754         dependent.
755
756         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
757         
758 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
759
760         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
761         a sane value!
762
763 2001-02-08  Havoc Pennington  <hp@redhat.com>
764
765         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
766         lighten them.
767
768 2001-02-08  Havoc Pennington  <hp@redhat.com>
769
770         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
771         validation idle
772
773         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
774         cell renderer
775
776         * demos/pixbuf-demo.c (timeout): remove deprecated
777         gtk_widget_draw
778
779         * demos/testpixbuf-save.c (main): remove deprecated
780         gtk_drawing_area_size
781
782         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
783         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
784         at the start of the allocation.
785         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
786         unsetup or NULL model.
787
788         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
789         even/odd/sorted cells in the tree view.
790
791         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
792         bugfixes
793
794         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
795         backgrounds with draw_flat_box using different detail for even/odd
796         rows.
797
798         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
799         row, so we can draw the alternating colors thing
800
801         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
802         property from a synonym property, notify for the synonym.
803         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
804         (gtk_text_tag_get_property): Always return the font, even if
805         all its fields aren't set
806
807         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
808         store the attr list; it leaves us with no way to change attributes
809         in _render according to the render flags, and no way to implement
810         get_property. Instead store all the specific text attributes. 
811         Separate whether an attribute is enabled from its value. Sync all
812         properties with GtkTextTag, make them all consistent, etc.
813
814         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
815         renderers can highlight the sort row/column     
816
817         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
818         accessor functions to get values; this has the side effect of
819         showing up which accessor functions were missing. Added those.
820
821         * gtk/gtktreeviewcolumn.h: Replace set_justification with
822         set_alignment, to be consistent with GtkLabel, GtkMisc
823
824         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
825         arrow.
826
827         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
828
829         * gtk/gtktreesortable.h: updates in here
830
831 2001-02-07  Sven Neumann  <sven@convergence.de>
832
833         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
834         pango dimensions after painting the background. We used to draw
835         gigantic flat boxes here.
836
837 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
838
839         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
840         error introduced with earlier commit) (pointed out by
841         Ollie Lho)
842
843 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
844
845         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
846         which are no longer necessary.
847
848 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
849
850         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
851
852 2001-02-04  Tor Lillqvist  <tml@iki.fi>
853
854         * gdk/gdk.def
855         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
856         Provide dummy implementations.
857
858 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
859
860         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
861
862         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
863         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
864         deprecated this function.
865
866         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
867         argument.
868
869 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
870
871         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
872
873 2001-02-03  Havoc Pennington  <hp@pobox.com>
874
875         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
876         Mikael Hermansson with patch from Mikael (if there was a toggle
877         start one after the first character in the range, this function
878         was broken). Bug #50380
879
880 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
881
882         * configure.in: Remove confusing comment about X11.
883
884 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
885
886         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
887         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
888         
889 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
890
891         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
892         it breaks things on BSD. If you want to compile GTK+ with
893         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
894         when configuring, since GTK+ simply can't be "pure ANSI" 
895         in the header files it uses. (#8170, Greg Hudson)
896
897 2001-02-02  Havoc Pennington  <hp@redhat.com>
898
899         * gtk/gtkwindow.c: docs
900
901         * gtk/gtkwidget.c: docs
902         (gtk_widget_set_colormap): add a reference to the colormap
903         (gtk_widget_get_default_colormap): add a reference to the colormap
904
905         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
906
907         * gtk/gtktextiter.c: docs
908
909         * gtk/gtkmain.c (gtk_propagate_event): docs
910
911         * gtk/gtkpaned.c (gtk_paned_get_position): docs
912         (gtk_paned_set_position): docs
913
914         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
915         sort interface, no implementation yet.
916
917         * demos/testpixbuf.c (new_testrgb_window): replace
918         gtk_drawing_area_size() with gtk_widget_set_usize()
919
920         * demos/testpixbuf-drawable.c (main): ditto
921         
922         * gtk/testgtk.c: remove use of GtkStatusbarMsg
923
924         * gtk/gtktextbuffer.c: docs
925
926         * gtk/gtkstock.c: docs
927
928         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
929
930         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
931
932         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
933         
934         * gtk/gtkimage.c: add some docs in here
935         (gtk_image_size_request): change name of
936         gtk_widget_render_stock_icon
937         (gtk_image_get_icon_set): don't dup returned string
938         (gtk_image_get_icon_set): don't dup returned string
939
940         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
941         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
942         and gtkiconfactory.h functions
943
944         * gtk/gtkiconfactory.c: add some docs in here
945
946         * gtk/gtkmain.c (gtk_get_default_language): document
947         (gtk_get_current_event): document
948         (gtk_get_current_event_state): document
949         (gtk_get_event_widget): document
950
951         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
952
953         * gtk/gtkcontainer.c: Add some documentation
954         (gtk_container_add): give a more explanatory warning on adding an
955         already-parented widget, this is kind of a FAQ and also a common
956         typo that's easier to debug with a nice warning 
957
958         * gtk/gtkcellrenderertoggle.c
959         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
960         adding this, it's useless
961         (gtk_cell_renderer_toggle_set_active): remove
962         (gtk_cell_renderer_toggle_get_radio): add
963
964         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
965         the NULL cell renderer, that doesn't make any sense to me. 
966
967         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
968         demo code should never use deprecated features.
969
970         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
971         code should never use deprecated features.
972
973         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
974         gtk_widget_queue_clear_area deprecated
975
976         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
977         deprecated
978
979         * gtk/gtklabel.h: mark gtk_label_get() deprecated
980
981         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
982         a GdkImage deprecated, replaced by new consistently-named
983         functions       
984
985         * gtk/gtkmain.h: Mark gtk_exit() deprecated
986
987         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
988
989         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
990         deprecated
991
992         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
993         so it won't appear in docs and confuse people.
994
995         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
996
997         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
998         macros deprecated. (can't mark the type itself deprecated, since
999         GtkProgressBar is not deprecated and we need the type decl to use
1000         GtkProgressBar)
1001
1002         * gtk/gtkpixmap.h: Mark deprecated
1003
1004         * gtk/gtkoldeditable.h: Mark deprecated
1005
1006         * gtk/gtklist.h: Mark deprecated
1007
1008         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1009         for anything anymore.
1010
1011         * gtk/gtkctree.h: Mark deprecated
1012
1013         * gtk/gtkclist.h: Mark deprecated
1014
1015         * gtk/gtkpreview.h: Mark deprecated
1016
1017         * gtk/gtkpacker.h: Mark deprecated
1018
1019         * gtk/gtktipsquery.h: Mark deprecated
1020
1021         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1022
1023         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1024
1025         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1026
1027         * gtk/gtkruler.h: Add comment that it will move out of GTK
1028
1029         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1030
1031         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1032
1033 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1034
1035         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1036         gdk_colormap_sync private since it was never exported
1037         in a header file.
1038
1039         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1040         colormap->colors[] for StaticGray, StaticColor colormaps.
1041
1042         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1043         was being used as if it was image->bits_per_pixel.
1044
1045         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1046         for the image in the GdkImage structure since it isn't
1047         reconstructable, and we need it to handle packed types
1048
1049         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1050         the assumption that on Win32 image->bits_per_pixel == image->depth,
1051         always.
1052
1053         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1054
1055         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1056         warning message if no converter can be found. 
1057
1058 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1059
1060         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1061         chars to isupper() / tolower(). (#567)
1062
1063         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1064         to clear up 64-bit warnings. (#567)
1065
1066 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1067
1068         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1069         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1070
1071         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1072         since some people set $(libdir) separately. (#1290, David Kaelbling)
1073
1074 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1075
1076         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1077         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1078         MAXPATHLEN, but the code here depends on a fixed value.)
1079         (#4524)
1080
1081 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1082
1083         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1084         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1085
1086 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1087
1088         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1089         viewable there is no way that moving the node will cause the 
1090         focus row to become not viewable, so omit check on the visibility
1091         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1092
1093 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1094
1095         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1096         selection before inserting new text.
1097
1098 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1099
1100         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1101         Make the sensitivity of the reparented child track that of
1102         the original parent menu item. (#34218, David Hodson)
1103
1104         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1105         the case where the current item is destroyed properly.
1106
1107         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1108         some edge cases with child-less menuitems.
1109         
1110 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1111
1112         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1113         key pop down window. (#12074, Jon K Hellan)
1114
1115 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1116
1117         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1118         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1119         The solution here isn't perfect - you get an extraneous
1120         emission of "toggle", which could conceivably confuse an app,
1121         but better than the current situation. LXR search seems to
1122         indicate that no apps in GNOME CVS connect to "toggle".
1123
1124 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1125
1126         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1127         gtk_public_h_sources to directly here to avoid warning when
1128         building srcdir != builddir. (#9656)
1129
1130 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1131
1132         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1133         handlers in gtkrange.c return the proper values (TRUE == handled)
1134         (#10316).
1135
1136         This is just the tip of the iceberg, but gtkrange.c is the
1137         most common place where the propagation is problematical,
1138         and also a place where it is almost certainly safe to change
1139         this in the stable branch.
1140
1141         (You don't want right click popups on a range control or anything...)
1142
1143 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1144
1145         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1146         area on focus out, even if a background pixmap isn't set.
1147         (#13941)
1148         
1149 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1150
1151         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1152         to deal with setting the shape properly when scrolling arrows are
1153         turned on, but not visible because there is sufficient space.
1154         (#13432)
1155
1156 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1157
1158         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1159         items with submenus, destroy the item along with the submenu.
1160         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1161         properly.
1162
1163         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1164         later.
1165
1166 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1167
1168         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1169         the focus widget sometimes wasn't drawn with the default if there
1170         was no default widget.
1171
1172         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1173         unreference pixmaps. 
1174
1175         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1176         for some extra safety.
1177
1178 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1179
1180         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1181         the text of a cell to the old pointer value better, by
1182         copying the new text before freeing the old text. Some code
1183         cleanup. (#8079, Karl Nelson)
1184
1185 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1186
1187         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1188         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1189
1190 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1191
1192         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1193         item from a menu, check to see if it matches 
1194         menu->old_active_menu_item, and if so, unref and clear
1195         old_active_menu_item (Patch from Pavel Cisler)
1196
1197         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1198         menu_shell->active_menu_item, if it is the child being
1199         removed. (Patch based on that of Gene Ragan, #50337)
1200
1201 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1202
1203         * gdk/linux-fb/gdkselection-fb.c: 
1204         * gdk/linux-fb/gdkcolor-fb.c: 
1205         * gdk/linux-fb/gdkdrawable-fb2.c: 
1206         * gdk/linux-fb/gdkfont-fb.c: 
1207         * gdk/linux-fb/gdkim-fb.c: 
1208         * gdk/linux-fb/gdkinput.c: 
1209         * gdk/linux-fb/gdkkeyboard-fb.c: 
1210         * gdk/linux-fb/gdkmain-fb.c: 
1211         * gdk/linux-fb/gdkrender-fb.c: 
1212         A bunch of whitespace cleanup.
1213         
1214 2001-01-30  Havoc Pennington  <hp@pobox.com>
1215
1216         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1217         #ifdef GTK_ENABLE_BROKEN.
1218
1219         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1220         GTK_ENABLE_BROKEN just before including the broken headers.
1221         
1222         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1223         deprecated types registered.
1224
1225         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1226         we have to test the broken stuff.
1227
1228         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1229         
1230 2001-01-30  Havoc Pennington  <hp@redhat.com>
1231
1232         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1233         here where prev pointer was set to the wrong thing
1234
1235         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1236         (gtk_tree_path_is_descendant): new function
1237
1238         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1239         cached length
1240         (gtk_list_store_get_iter): don't modify iter if we can't get the
1241         path.
1242
1243         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1244         
1245         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1246         GtkTreeDragDest
1247
1248         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1249         was causing segfault
1250
1251         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1252         pointer to NULL
1253
1254         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1255
1256         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1257         on returning FALSE
1258         (gtk_list_store_iter_children): ditto
1259         (gtk_list_store_iter_nth_child): ditto
1260         (gtk_list_store_iter_nth_child): ditto
1261         (gtk_list_store_iter_parent): ditto
1262
1263         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1264         on iter->user_data != NULL instead of silently accepting it.
1265         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1266         we are returning TRUE.
1267         (gtk_tree_store_iter_children): ditto
1268         (gtk_tree_store_iter_nth_child): ditto
1269         (gtk_tree_store_iter_parent): ditto
1270         (gtk_tree_store_insert): remove handling of parent->user_data ==
1271         NULL, replace with parent == NULL       
1272
1273         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1274         and a comment explaining things
1275
1276         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1277         interface support to GtkTreeStore.
1278
1279         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1280         FALSE if no prev, fix
1281
1282         * gtk/gtktreeview.c (set_source_row): use a row reference
1283         (set_dest_row): use a row reference
1284
1285 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1286
1287         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1288         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1289         (gtk_tree_selection_select_iter): The same as above.
1290
1291 2001-01-26  Havoc Pennington  <hp@redhat.com>
1292
1293         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1294         which holds a handle to a specific row (particular set of values
1295         in the model, i.e. pointer-identity row).
1296
1297         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1298         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1299         Still need to use it for the src/dest row saved on the drag context.
1300
1301 2001-01-26  Havoc Pennington  <hp@redhat.com>
1302
1303         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1304
1305         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1306         not offset by TREE_VIEW_HEADER_HEIGHT
1307         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1308         TREE_VIEW_HEADER_HEIGHT
1309
1310         * configure.in (included_loaders): for me, --with-included-loaders
1311         generates the error "the specified loader yes does not exist",
1312         i.e. the arg defaults to "yes", so change test for value ""
1313         to test for value "yes", and include all loaders in that case.
1314
1315         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1316
1317         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1318         handle TREE_VIEW_VERTICAL_SEPARATOR
1319         (gtk_tree_view_bin_expose): fix to consider the row offset as
1320         pointing halfway into vertical separator.       
1321         (gtk_tree_view_draw_node_focus_rect): ditto
1322
1323         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1324         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1325         (TRUE) to be called.
1326
1327         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1328         debug mode where the invalid region is colored in on invalidate,
1329         so you can see the flicker and know whether your redraw code is 
1330         doing a good job.
1331
1332         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1333         tree window coordinates (clip rect is in tree window coords)
1334
1335         * gtk/Makefile.am: add gtktreednd.[hc]
1336
1337         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1338
1339         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1340         drag-and-drop data operations on a model (so we can set up tree
1341         drag-and-drop automatically)
1342
1343         * gtk/testgtk.c: Add a window to change sensitivity in the
1344         GtkLabel test; add a way to change the entry frame in GtkEntry
1345         test
1346
1347         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1348         (gtk_entry_get_has_frame): new functions to remove the frame
1349         around an entry
1350         (gtk_entry_size_request): shrink requisition if no frame
1351         (gtk_entry_draw_focus): don't draw frame if no frame
1352
1353         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1354         checks inside a cell renderer
1355         (gtk_default_draw_option): ditto for options
1356
1357         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1358         children from the alignment, not the button
1359         (gtk_tree_view_column_init): ref/sink the column, to emulate
1360         GObject refcounting.
1361
1362         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1363         
1364         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1365         Use theme functions to draw the toggles 
1366
1367         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1368
1369         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1370         GdkPangoAttrEmbossed to use in rendering insensitive text
1371
1372         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1373
1374         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1375         using new GDK features
1376         
1377 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1378
1379         * gtk/gtkimage.c:
1380         Splitted gtk_image_clear into gtk_image_clear() and
1381         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1382         to avoid leaks.
1383
1384         * gtk/gtklabel.c (set_markup):
1385         Don't leak text.
1386
1387         * gtk/gtktextlayout.c:
1388         Always free display->shaped_objects.
1389
1390         * gtk/testgtk.c (create_clist):
1391         Don't leak custom style.
1392
1393 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1394
1395         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1396         Don't leak image. Simplify using gdk_colormap_query_color().
1397         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1398
1399         * linux-fb/gdkcolor-fb.c:
1400         Implemented gdk_colormap_query_color.
1401
1402 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1403
1404         * linux-fb/gdkcursor-fb.c:
1405         Don't leak built-in cursors.
1406
1407         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1408         Don't leak tmp_points.
1409
1410         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1411         Don't modify desc. Don't leak font if the PangoFont
1412         isn't found.
1413         
1414         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1415         Free dash_list.
1416
1417         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1418         Don't leak string.
1419         
1420 2001-01-20  Havoc Pennington  <hp@pobox.com>
1421
1422         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1423         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1424         me, matches Pango
1425
1426 2001-01-22  Havoc Pennington  <hp@redhat.com>
1427
1428         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1429
1430         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1431
1432         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1433         Remove, move back to gdk-pixbuf
1434
1435         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1436         to all the word functions
1437
1438         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1439         before doing anything on NULL layout or if we don't have the focus
1440
1441         * gtk/testtext.c (fill_example_buffer): "justification"
1442
1443         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1444         to be called "justification" not "justify"
1445
1446         * demos/gtk-demo/textview.c (create_tags): "justification"
1447         
1448         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1449
1450 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1451
1452         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1453         Don't leak visible_region. Use visible_region instead of region.
1454         
1455         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1456         Don't do extra gdk_drawable_ref(). This is not X.
1457         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1458         gdk_fb_focused_window is ref:ed.
1459         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1460         windows.
1461
1462 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1463
1464         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1465         Don't leak the PangoFontDescriptor.
1466
1467 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1468
1469         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1470         when not realized.
1471         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1472         (gtk_tree_view_realize): add scroll_to support
1473         (gtk_tree_view_finalize): add a finalize method.  Populate.
1474         (gtk_tree_view_insert_column): ref and sink the column.
1475         (gtk_tree_view_append_column): ref and sink the column.
1476         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1477         individual nodes.  Should make the code much more efficient, if
1478         actually used.
1479
1480 2001-01-19  Havoc Pennington  <hp@redhat.com>
1481
1482         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1483         byte_offset variable was being used to mean both "offset into
1484         layout" and "offset into buffer line" which was no longer true
1485         with addition of preedit string; fix
1486
1487 2001-01-19  Havoc Pennington  <hp@redhat.com>
1488
1489         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1490
1491         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1492         function
1493
1494         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1495         implement
1496
1497         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1498         scroll_to_cell, matches TextView scroll functions better
1499         (gtk_tree_view_tree_to_widget_coords): new function
1500         (gtk_tree_view_widget_to_tree_coords): new function
1501         (gtk_tree_view_get_visible_rect): new function
1502         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1503         (gtk_tree_view_draw_node_focus_rect): new function moved from
1504         draw_focus, also, use width of bin_window as width of the focus
1505         rect
1506         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1507         already-expanded rows
1508         (gtk_tree_view_get_cell_rect): new function
1509         (gtk_tree_view_get_path_at_pos): return the click position
1510         relative to the passed-in cell
1511         (gtk_tree_view_set_expander_column): new function
1512
1513         * configure.in: remove gtk-config-2.0 chmod
1514
1515         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1516         and properly handle drags with targets we don't understand
1517         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1518         scrolling anyway
1519         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1520         mark invisible
1521
1522         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1523         function
1524         (gtk_drag_dest_get_target_list): new function
1525         (gtk_drag_dest_set_target_list): new function
1526         
1527         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1528
1529         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1530         related to drag-and-drop
1531
1532 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1533
1534         * gdk/linux-fb/gdkprivate-fb.h:
1535         Define EMULATE_GDKFONT.
1536         Add extra pango_font stuff to GfkFontPrivate.
1537         
1538         * gdk/linux-fb/gdkdrawable-fb2.c:
1539         * gdk/linux-fb/gdkfont-fb.c:
1540         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1541         emulation using PangoFont.
1542
1543 2001-01-17  Havoc Pennington  <hp@pobox.com>
1544
1545         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1546         all the non-deprecated set_foo functions. Added missing object
1547         properties, and added g_object_notify() to setters. 
1548         Wrote docs.
1549         
1550 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1551
1552         * gtk/gtkmain.c
1553         * gtk/gtkrc.c: (Win32) Use the new
1554         g_win32_get_package_installation_(sub)directory() functions.
1555
1556         * config.h.win32.in: New file.
1557         
1558         * config.h.win32: Removed.
1559
1560         * configure.in: Output config.h.win32.
1561
1562         * Makefile.am: Add it to EXTRA_DIST.
1563
1564         * gtk/gtk.def: Update.
1565
1566 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1567
1568         * gtk/gtklabel.c (gtk_label_size_request): Set the
1569         attributes onto the PangoLayout even if they are newly
1570         created from label->pattern.
1571
1572 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1573
1574         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1575
1576         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1577         structures in functions. Fixes bug where gtk_dataset_*
1578         was accidentally still being used in one place, causing
1579         every dest side event to be treated independently.
1580
1581         * gtk/gtkdnd.c: Remove last vestages of handling
1582         ::draw (fixes warning)
1583         
1584         * gtk/gtkentry.[ch]: Add drag and drop support.
1585
1586         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1587         new function gtk_check_drag_threshhold() for checking
1588         to check if (dx,dy) has exceeded the threshhold for starting
1589         a drag and use it everywhere.
1590
1591 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1592
1593         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1594         add -I{includedir}/gtk-2.0.
1595
1596         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1597         gdk/gdk-pixbuf.h: Doc fixups.
1598         
1599         * gtk/gtkobject.h: Remove trailing , from enum
1600
1601 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1602
1603         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1604         Doh! Mixed up x and y.
1605
1606         * gdk/linux-fb/gdkglobals-fb.c:
1607         Removed gdk_fb_pointer_grab_window_events,
1608         added _gdk_fb_pointer_grab_owner_events and
1609         _gdk_fb_keyboard_grab_owner_events.
1610
1611         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1612         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1613         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1614         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1615         Send crossing events after ungrab finished.
1616         (gdk_keyboard_grab): Set ..._owner_events
1617         (type_masks): Move out of function.
1618         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1619         gdk_fb_keyboard_event_window): New functions, return the
1620         window an event should be targeted at. Handles grabs and
1621         event propagation. Can return NULL.
1622         (gdk_event_make): Remove event_mask checking. Now always
1623         returns an event.
1624                 
1625         * gdk/linux-fb/gdkkeyboard-fb.c:
1626         * gdk/linux-fb/gdkproperty-fb.c:
1627         * gdk/linux-fb/gdkselection-fb.c:
1628         Use new event_window/gdk_event_make() behaviour.
1629         
1630         * gdk/linux-fb/gdkmouse-fb.c:
1631         Use new event_window/gdk_event_make() behaviour.
1632         Only send motion events if in the same window.
1633         If grabbed, use cursor from window if sibling of grabbed
1634         window, and cursor from grabbed window otherwise.
1635
1636         * gdk/linux-fb/gdkprivate-fb.h:
1637         Update gdk_fb_window_send_crossing_events, gdk_event_make
1638         and grab varaible declarations. Add gdk_fb_*_event_window().
1639
1640         * gdk/linux-fb/gdkwindow-fb.c:
1641         Use new event_window/gdk_event_make() behaviour.
1642         Keep correct track of focus window.
1643         (gdk_window_set_events): Set all specific button motion masks
1644         if GDK_BUTTON_MOTION_MASK set.
1645
1646         * gtk/gtkdnd.c (gtk_drag_update):
1647         Free info->last_event if gdk_drag_motion returned FALSE.
1648
1649 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1650
1651         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1652         Eliminate redraws when input-only windows are shown or
1653         hidden. Thanks to jpe@archaeopteryx.com.
1654
1655 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1656
1657         * docs/faq/gtk-faq.sgml: FAQ update:
1658           - Update to bugzilla
1659           - Add GTK+ and security/SUID/SGID
1660           - Add DnD question
1661
1662 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1663
1664         * gdk/linux-fb/gdkdnd-fb.c:
1665         Some cleanups.
1666         
1667 2001-01-15  Havoc Pennington  <hp@pobox.com>
1668
1669         * tests/testtreeview.c: add test stuff for CellRendererToggle
1670
1671         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1672         accessor
1673
1674         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1675         only toggle on button press (would do release like GtkButton, but
1676         we'd need implicit grab code for treeview cells)
1677
1678 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1679
1680         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1681
1682         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1683         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1684
1685         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1686         to g_{locale,filename}_{to,from}_utf8 to match current API.
1687
1688         * gtk/makefile.msc.in (gtk_OBJECTS)
1689         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1690
1691         * gtk/gtk.def: Update.
1692
1693 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1694
1695         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1696         implementaion that more closely mimics the events that an X server
1697         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1698         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1699         with nested preview widgets, for instance, more responsive when
1700         you move the mouse quickly into them.
1701         (find_window_for_pointer_event): Make it actually compile.
1702         (gdk_event_translate): Set send_event to the value of
1703         InSendMessage (). This doesn't really mean the same as X11's
1704         send_event flag, but is close enough, says jpe@archaeopteryx.com
1705
1706 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1707
1708         * gdk/linux-fb/gdkdnd-fb.c:
1709         Implemented drag and drop.
1710         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1711         when it tries to free and then copy the same event (info->last_event).
1712         I am not sure about why this happens, but will continue looking.
1713
1714 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1715
1716         * gdk/linux-fb/gdkwindow-fb.c:
1717         Use gdk_window_invalidate_rect instead of
1718         gdk_window_invalidate_rect_clear to minimise flashing.
1719         When hiding windows you need to clear the root window though.
1720
1721 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1722
1723         * gdk/linux-fb/gdkdrawable-fb2.c:
1724         For optization, add an full_shapes argument to gdk_fb_clip_region.
1725         If this is false, only the cliprects of the shapes are used.
1726
1727         * gdk/linux-fb/gdkprivate-fb.h:
1728         Export gdk_fb_window_peek_shape.
1729         Add full_shapes to gdk_fb_clip_region.
1730
1731         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1732         When moving a window, don't clear everything under the it, just the
1733         root window. Makes stuff faster and flash less.
1734         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1735         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1736         offset of the shape.
1737         
1738
1739 2001-01-12  Havoc Pennington  <hp@redhat.com>
1740
1741         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1742         current invalid region, fixes redraw bug while scrolling the 
1743         text widget
1744
1745         * gtk/gtktextview.c, gtk/gtktextview.h:
1746         Rearrange the scrolling/validation/etc. code in a major way, 
1747         so it seems to make sense to me. Probably isn't genuinely that
1748         much better, but...
1749
1750         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1751         notifies
1752
1753         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1754
1755 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1756
1757         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1758         Hide mouse pointer while rotation. Show it afterwards.
1759
1760 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1761
1762         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1763         windows in consideration when generating clip region.
1764
1765         * gdk/linux-fb/gdkfb.h:
1766         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1767
1768         * gdk/linux-fb/gdkprivate-fb.h:
1769         Add shape to GdkWindowFBDatat.
1770         exported gdk_fb_window_get_abs_shape().
1771         removed gdk_fb_draw_lines declaration.
1772
1773         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1774         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1775         send focus changes when there is a grabbed window.
1776         (gdk_window_get_pointer): Handle shaped windows.
1777         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1778         (gdk_fb_window_peek_shape): Returns the shape for a window,
1779         handles GDK_FB_USE_CHILD_SHAPE.
1780         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1781         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1782         (gdk_window_shape_combine_mask): Implement.
1783
1784         * gtk/gtkwindow-decorate.c:
1785         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1786         setting the shape of a window makes the window transparent.
1787
1788 2001-01-11  Havoc Pennington  <hp@redhat.com>
1789
1790         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1791
1792 2001-01-10  Havoc Pennington  <hp@redhat.com>
1793
1794         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1795         add this function, bug 40251
1796
1797         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1798         of type macro   
1799
1800 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1801
1802         * acconfig.h:
1803         Added ENABLE_SHADOW_FB
1804
1805         * configure.in:
1806         Added --disable-shadowfb
1807
1808         * gdk/linux-fb/gdkcursor-fb.c:
1809         Update shadowfb when updating cursor
1810
1811         * gdk/linux-fb/gdkdrawable-fb2.c:
1812         Added wrappers for shadowfb that calls  the normal drawable
1813         methods, but calls gdk_shadow_fb_update(bounding box) when
1814         GdkWindows are drawed to.
1815         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1816         which also returns the bounding box.
1817
1818         * gdk/linux-fb/gdkfb.h:
1819         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1820
1821         * gdk/linux-fb/gdkgeometry-fb.c:
1822         Update shadowfb when scrolling window.
1823
1824         * gdk/linux-fb/gdkglobals-fb.c:
1825         Add _gdk_fb_screen_angle.
1826         
1827         * gdk/linux-fb/gdkkeyboard-fb.c:
1828         Test code for screen rotation. Shift-F2 in the xlate driver
1829         rotates the screen.
1830
1831         * gdk/linux-fb/gdkmain-fb.c:
1832         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1833
1834         * gdk/linux-fb/gdkmouse-fb.c:
1835         Use fb_width/height instead of modeinfo.xres/yres.
1836
1837         * gdk/linux-fb/gdkprivate-fb.h:
1838         Added fb_men, fb_width, fb_height & fb_stride. When using
1839         shadow fb these can differ from the framebuffer stuff.
1840         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1841         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1842         _gdk_fb_screen_angle. Removed CM, RP.
1843
1844         * gdk/linux-fb/gdkrender-fb.c:
1845         Added code for shadowfb handling and screen rotation using
1846         shadowfb.
1847
1848         * gdk/linux-fb/gdkwindow-fb.c:
1849         Use fb_mem, fb_stride, fb_width, fb_height.
1850         Added recompute_rowstride to reset the rowstride of all windows.
1851         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1852         window abs positions and window rowstrides. Usefull when the
1853         rotation has changed.
1854
1855 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1856
1857         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1858
1859 2001-01-10  Havoc Pennington  <hp@redhat.com>
1860
1861         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1862         where sibling == iter
1863         (gtk_tree_store_insert_after): handle sibling == iter
1864         (gtk_tree_store_prepend): remove stamp checks
1865         (gtk_tree_store_insert_before): ditto
1866         (gtk_tree_store_append): ditto
1867         (gtk_tree_store_get_path): ditto
1868         (gtk_tree_store_get_value): ditto
1869         (gtk_tree_store_iter_has_child): ditto
1870         (gtk_tree_store_iter_n_children): ditto
1871         (gtk_tree_store_iter_nth_child): ditto
1872         (gtk_tree_store_insert_after): ditto
1873         (gtk_tree_store_is_ancestor): ditto
1874         (gtk_tree_store_iter_depth): ditto
1875         (gtk_tree_store_insert_before): assert that sibling's parent is
1876         the same as the passed-in parent
1877         (gtk_tree_store_insert_after): assert that sibling's parent is
1878         the same as the passed-in parent
1879
1880         
1881         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1882         function to get the first iterator in a model
1883         
1884         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1885         conventionally the "root" in this sense is just NULL afaict.
1886
1887         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1888         where sibling == iter
1889         (gtk_list_store_insert_after): handle case where sibling == iter
1890
1891         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1892         automated tests for ListStore, TreeStore
1893
1894         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1895         (gtk_list_store_insert): update tail pointer, and fix it to work
1896         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1897         (gtk_list_store_append): use tail to be faster
1898         (gtk_list_store_prepend): fix it, update tail pointer
1899         (gtk_list_store_insert_after): fix it, update tail pointer
1900
1901         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1902         the list
1903
1904 2001-01-09  Havoc Pennington  <hp@redhat.com>
1905
1906         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1907         is NULL due to a pending resize
1908
1909         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1910         column width to values less than 1
1911
1912         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1913         width to be between min/max width, and still set the width 
1914         even if autosize is turned on, so the tree view can use this 
1915         function in order to autosize.
1916         (gtk_tree_view_column_init): set initial width to 1 not 0
1917
1918         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1919         setter function to modify column width, so we get notification
1920         (gtk_tree_view_insert_iter_height): ditto
1921         (gtk_tree_view_calc_size): ditto
1922         (gtk_tree_view_check_dirty): ditto
1923
1924         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1925         properties to change all the interesting attributes of the tree
1926         view column.
1927         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1928         (gtk_tree_view_column_get_clickable): add
1929         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1930         attributes; assume a cell renderer with equivalent object
1931         properties has been swapped in. Do g_object_notify().
1932         (gtk_tree_view_column_set_visible): g_object_notify
1933         (gtk_tree_view_column_get_sizing): rename from get_col_type
1934         (gtk_tree_view_column_set_sizing): g_object_notify
1935         (gtk_tree_view_column_set_width): add g_object_notify
1936         (gtk_tree_view_column_set_min_width): ditto
1937         (gtk_tree_view_column_set_max_width): ditto
1938         (gtk_tree_view_column_set_title): ditto
1939         (gtk_tree_view_column_set_clickable): ditto
1940         (gtk_tree_view_column_set_widget): ditto
1941         (gtk_tree_view_column_set_justification): ditto
1942
1943 2001-01-09  Havoc Pennington  <hp@redhat.com>
1944
1945         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1946         there are no rows in the model
1947
1948         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1949         NULL, then return the start of the list
1950
1951         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1952         if we can't get any rows from an empty model 
1953
1954         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1955         extraneous * after function pointer typedef usage
1956
1957         * Makefile.am: don't specify full path to cp and rm
1958
1959         * gtk/gtkcellrenderertextpixbuf.c
1960         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1961         NULL before dereferencing, fixes a segfault that happened from
1962         time to time
1963
1964         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1965         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1966         and reindent the function
1967         (gtk_cell_renderer_pixbuf_get_size): indentation
1968
1969         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1970         we quit it
1971         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1972         (gtk_dialog_set_default_response): New function, to set default
1973         button
1974         (gtk_dialog_set_response_sensitive): New function, to set 
1975         sensitivity of buttons
1976
1977         * gtk/gtkcellrendererpixbuf.c
1978         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1979         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1980
1981         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1982         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1983         also boxed types.
1984         (_gtk_tree_data_list_value_to_node): ditto
1985
1986         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1987         --gtk-debug=tree
1988
1989         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1990
1991         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1992
1993 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1994
1995         * gdk/win32/gdkevents-win32.c: Implement better mouse
1996         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1997         (find_window_for_pointer_event): New function.
1998         (gdk_event_translate): Use it when handling mouse events.
1999
2000 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2001
2002         * configure.in:
2003         Added --with-included-loaders option
2004
2005         * gdk-pixbuf/Makefile.am:
2006         * gdk-pixbuf/gdk-pixbuf-io.c:
2007         Add support for including selected gdk-pixbuf loaders only.
2008
2009         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2010         gtk_window_set_has_frame):
2011         Added inline documentation.
2012
2013         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2014         * docs/reference/gdk/tmpl/windows.sgml:
2015         Added inline documentation.
2016
2017 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2018
2019         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2020         realizing buttons that have already been realized.
2021
2022 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2023
2024         * tests/testtreeview.c (main): Show menu items before adding to
2025         option menu.
2026
2027         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2028         around if we kill them.
2029
2030         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2031         Return if we pass in a NULL model.
2032
2033 2001-01-08  Havoc Pennington  <hp@redhat.com>
2034
2035         * tests/testtreeview.c: hack on this some
2036
2037         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2038         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2039         list
2040         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2041
2042         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2043         functions
2044
2045 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2046
2047         * gtk/gtkwindow-decorate.[hc]:
2048         * gtk/Makefile.am:
2049         New files. Contains an implementation of a minimal WM for
2050         linux-fb.
2051
2052         * gtk/gtkwindow.h:
2053         Add the possibility for GtkWindows to specify a frame. This
2054         is used for the window decoration code, but could concievably
2055         be used for X programs too (xmms style windows).
2056         GtkWindow->frame is the toplevel window if the window is framed.
2057         The signal frame_event gets all events that are targeted to
2058         GtkWindow->frame.
2059         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2060         
2061         * gtk/gtkwindow.c:
2062         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2063         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2064
2065 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2066
2067         * docs/README.linux-fb:
2068         Correct filename ~/.pangoft2_aliases
2069
2070         * gdk/gdkwindow.h:
2071         Added new function gdk_window_get_decorations.
2072
2073         * gdk/linux-fb/gdkfb.h:
2074         Removed _gdk_window_get_decorations declaration.
2075         Renamed _gdk_window_set_child_handler to
2076         gdk_fb_window_set_child_handler.
2077
2078         * gdk/linux-fb/gdkwindow-fb.c:
2079         Renamed _gdk_window_set_child_handler to
2080         gdk_fb_window_set_child_handler.
2081
2082         * gdk/x11/gdkwindow-x11.c:
2083         New function gdk_window_get_mwm_hints().
2084         Implemented gdk_window_get_decorations.
2085
2086         * docs/reference/gdk/tmpl/windows.sgml:
2087         * docs/reference/gdk/gdk-sections.txt:
2088         Added gdk_window_get_decorations docs.
2089         
2090 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2091
2092         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2093         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2094         gdk_fb_window_send_crossing_events):
2095         Possibly send focus events when the mouse moves from one
2096         window to another.
2097
2098 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2099
2100         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2101         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2102         to match current API.
2103
2104         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2105         environment variable is set, don't call g_error when on a
2106         palettized (PseudoColor) display. Some people want to use GTK+ 
2107         in 256-colour mode even though works only partially.
2108
2109         * gdk/gdk.def
2110         * gtk/gtk.def
2111         * gtk/makefile.mingw.in: Update.
2112
2113 2001-01-05  Havoc Pennington  <hp@redhat.com>
2114
2115         * tests/testtreeview.c: hack on this a bit
2116
2117         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2118         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2119
2120         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2121         was spelled incorrectly
2122         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2123
2124         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2125         from gtk_tree_view_set_headers_active   
2126
2127         * gtk/gtktexttag.c:
2128         (gtk_text_tag_get_property): handle PROP_DIRECTION
2129         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2130         properties, bug 40235
2131
2132         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2133         forward_to_line_end
2134
2135 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2136
2137         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2138         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2139         for unicode,locale,filename conversion functions.
2140
2141 2001-01-05  Havoc Pennington  <hp@redhat.com>
2142
2143         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2144         broken if called on the first position in the buffer.
2145
2146         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2147         forward_to_delimiters to be called only if we aren't already at
2148         the delimiters.
2149
2150 2001-01-05  Havoc Pennington  <hp@redhat.com>
2151
2152         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2153
2154 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2155
2156         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2157         colormap in here. Sync from X port.
2158         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2159         Sync from X port.
2160         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2161         This happens now and then, and i don't think it is a bug.
2162         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2163         != endpoint.
2164         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2165         GDK_LINE_SOLID.
2166
2167         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2168         some of the fields filled in at least.
2169
2170         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2171         miLineArcD is no more, remove it from the function definition.
2172
2173 2001-01-04  Havoc Pennington  <hp@redhat.com>
2174
2175         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2176         this
2177
2178         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2179         user_data instead of tree_node
2180
2181         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2182         TREE_VIEW_COLUMN_SIZE
2183
2184         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2185         "size" field to "width" finishes bug 40061
2186
2187         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2188         for bitfields, bug 40268
2189
2190 2001-01-04  Havoc Pennington  <hp@redhat.com>
2191
2192         Rename some stuff:
2193         
2194         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2195
2196         s/GtkModelSimple/GtkTreeModelSimple/g;
2197         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2198         s/gtk_model_simple/gtk_tree_model_simple/g;
2199         s/gtkmodelsimple/gtktreemodelsimple/g;
2200
2201         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2202
2203         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2204         s/column_set_col_type/column_set_sizing/g;
2205
2206         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2207         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2208
2209         s/GtkCellRendererType/GtkCellRendererState/g;
2210         
2211         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2212         (gtk_cell_renderer_toggle_class_init): change "state" property to
2213         "active", to match GtkToggleButton
2214         (gtk_cell_renderer_toggle_get_active): new function, bug
2215         40269
2216         (gtk_cell_renderer_toggle_set_active): new function
2217         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2218         state through gtk_cell_renderer_set_active
2219
2220 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2221
2222         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2223         temporarily until they work again.  Brought up to date with
2224         changes in the model.
2225         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2226         model.
2227
2228 2001-01-04  Havoc Pennington  <hp@redhat.com>
2229
2230         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2231         equal to the line length, then position iterator before paragraph 
2232         separators. Fixes crash reported by Mikael Hermansson when
2233         pressing left arrow from the start of a line.   
2234
2235         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2236         about byte indexes off the end
2237         (iter_set_from_char_offset): add g_error about char offsets
2238         off the end
2239
2240 2001-01-03  Havoc Pennington  <hp@redhat.com>
2241
2242         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2243
2244         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2245         of private functions; remove inclusion of private headers.
2246
2247         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2248         function, so we don't need private functions in gtktextdisplay.c
2249
2250         * gtk/gtktextiterprivate.h: underscore-ification
2251
2252         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2253         to instead say "only useful to implement widgets"
2254
2255         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2256         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2257         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2258
2259         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2260         This function was completely broken
2261
2262         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2263
2264         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2265
2266         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2267
2268         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2269
2270         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2271
2272         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2273
2274         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2275         gtk_paint_layout
2276
2277         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2278         gtk_paint_layout
2279
2280         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2281         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2282         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2283         which were not implemented.     
2284
2285         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2286         insert_pixbuf signal. Rename delete_text to delete_range since it
2287         also deletes pixbufs and child anchors. This almost closes bug
2288         40245 (still need to deal with child anchors)
2289
2290         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2291         insert_pixbuf, change signal names as appropriate, change types of
2292         signals taking marks/tags to have the specific type, not just
2293         G_TYPE_OBJECT
2294         
2295         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2296         closes bug 40051
2297
2298         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2299         unnecessary remove_contents() call
2300         (gtk_option_menu_class_init): add a "changed" signal, closes
2301         bug 40039
2302         (gtk_option_menu_update_contents): emit "changed" if the 
2303         active menu item changes
2304
2305         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2306         cast to GtkObject, reported by Jonas Borgstrom
2307         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2308         we can't do stuff with side effects in finalize. Instead, spew a
2309         warning if the loader isn't closed.
2310
2311         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2312         colormap in here, non-X ports probably need to sync to this change
2313
2314         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2315         assertion that colormap != NULL, you can set the colormap to NULL
2316         if you like.
2317         
2318         * Makefile.am: remove gtk-config-2.0
2319
2320         * configure.in: Use pkg-config to locate GLib. Remove
2321         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2322         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2323         Use pkg-config to locate Pango. Output correct Pango libs to
2324         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2325
2326         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2327         files
2328         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2329         X11 pc files
2330
2331         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2332         unref from here
2333
2334 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2335
2336         * configure.in:
2337         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2338
2339 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2340
2341         * gtk/gtktextlayout.c
2342         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2343         variable when moving back onto a single line.
2344
2345 2001-01-01  Havoc Pennington  <hp@redhat.com>
2346
2347         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2348
2349         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2350
2351         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2352         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2353
2354 2001-01-01  Havoc Pennington  <hp@redhat.com>
2355
2356         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2357
2358         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2359         GtkTextAttributes
2360
2361         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2362         #40246
2363         (gtk_text_attributes_copy_values): rename from 
2364         gtk_text_attributes_copy
2365         (gtk_text_attributes_copy): a more standard GTK copy function, 
2366         which returns a new object
2367
2368 2001-01-01  Havoc Pennington  <hp@redhat.com>
2369
2370         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2371         
2372         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2373         don't fill in tree_view->priv->selection, kind of an unexpected
2374         side effect
2375
2376         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2377         gtkintl.h
2378         
2379         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2380         gtkintl.h
2381         (gtk_cell_renderer_get_property): remove calls to g_value_init
2382
2383         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2384         gtkintl.h
2385
2386         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2387         and include gtkintl.h
2388         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2389         property names
2390
2391         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2392         GtkTreeSelection
2393         (_gtk_tree_selection_new_from_with_view): rename, return
2394         GtkTreeSelection
2395         (_gtk_tree_selection_set_tree_view): rename with uscore
2396         (gtk_tree_selection_get_selected): fill in the "model" out param
2397         first, so it gets filled in even if we return at the top of the 
2398         function
2399         (gtk_tree_selection_real_select_all): add a comment and an else{}
2400         to clarify this a bit
2401         (gtk_tree_selection_real_unselect_all): add the same else{}
2402
2403         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2404         set_tree_view to have underscore prefixes, move them to the
2405         private header, fix return type of new_with_tree_view
2406         (struct _GtkTreeSelection): mark struct
2407         fields private  
2408
2409         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2410         GtkTreeModelFlags, not a guint
2411         (gtk_tree_path_prev): return gboolean not gint
2412         (gtk_tree_path_up): return gboolean not gint
2413
2414         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2415         return GtkTreeModelFlags, not a guint
2416
2417         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2418         that child model is non-null before unrefing it
2419         (g_value_int_compare_func): make this a qsort compare func, not 
2420         a boolean predicate
2421
2422         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2423         (add -umn to the end), and mark it unimplemented
2424         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2425         I don't see what it's for - doesn't the model always sort itself?
2426         (gtk_tree_model_sort_set_compare): this had the wrong signature
2427
2428         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2429         Fix the docs to say that it destructively replaces existing
2430         attributes (previously said that it added attributes).
2431         (gtk_tree_view_column_set_visible): canonicalize bool before
2432         equality testing. Also, check for realization before
2433         hiding/showing the tree_column->window; if this window could exist
2434         before realization, then it's busted and needs fixing, we can't 
2435         create GDK resources pre-realization. Also, remove
2436         superfluous queue_resize(), since set_size() does that for us.
2437         (gtk_tree_view_column_set_col_type): check realization before 
2438         using tree_column->window
2439
2440         * gtk/gtktreedatalist.c: fix filename in copyright notice
2441
2442 2000-12-31  Havoc Pennington  <hp@pobox.com>
2443
2444         * gtk/gtktextview.c: Rearrange all the
2445         scroll-while-dragging-or-selecting code to be different, not
2446         necessarily better. ;-)
2447         (gtk_text_view_scroll_to_mark): Change this
2448         function to take within_margin as a fraction instead of a pixel
2449         value, and to take alignment arguments (indicating where to align 
2450         the mark inside the visible area)
2451         
2452         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2453         to GtkObject
2454
2455         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2456         behavior so that offsets past the end of the line are not 
2457         allowed, and an offset equal to the line length moves the iterator
2458         to the next line
2459         (gtk_text_iter_set_line_index): make parallel change
2460         (gtk_text_iter_get_bytes_in_line): add this function
2461         
2462         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2463         of byte indexes off the end of the line; byte index at the end of
2464         the line now returns FALSE and doesn't fill in the requested
2465         values, byte index past the end of the line is an error.  Also,
2466         don't allow -1 offset anymore, since its meaning is unclear.
2467
2468         This change exposes some bug in visual cursor motion, where we
2469         end up with a huge invalid byte index; needs fixing. Symptom of 
2470         bug is a crash when you hit up arrow.
2471         
2472         (_gtk_text_line_char_locate): match the change to byte_locate
2473
2474         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2475         from start of line properly. fixes bug reported by Mikael
2476         Hermansson where backspace would delete all text before the
2477         cursor.
2478
2479 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2480
2481         * gdk/win32/gdkwindow-win32.c
2482         (gdk_window_impl_win32_get_visible_region): New function, as in
2483         the X11 backend.
2484         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2485         instead of duplicating the same code here.
2486
2487         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2488         GDK_COLORMAP macro.
2489
2490         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2491         destroy function.
2492         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2493         access that.
2494
2495         * gtk/gtk.def: Update.
2496
2497         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2498
2499 2000-12-30  Havoc Pennington  <hp@pobox.com>
2500
2501         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2502         colormap on input only windows, to avoid special cases all over
2503         the code for these windows.
2504
2505 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2506
2507         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2508         we are on a palettized display ("PseudoColor" in X11), as the code
2509         for that doesn't work anyway, and never has.
2510
2511 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2512
2513         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2514         Don't use isprint() for chars > 255.
2515
2516 2000-12-21  Havoc Pennington  <hp@redhat.com>
2517
2518         * tests/testtreeview.c: more work
2519
2520 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2521
2522         * docs/README.linux-fb:
2523         Update the docs to the new pangoft2 way.
2524
2525 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2526
2527         * configure.in:
2528         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2529         pango version.
2530         Remove modules/linux-fb/Makefile.
2531
2532         * gdk/linux-fb/gdkdrawable-fb2.c:
2533         Render glyphs using freetype.
2534
2535         * gdk/linux-fb/gdkfb.h:
2536         Add new fb-specific functions needed for managing windows.
2537
2538         * gdk/linux-fb/gdkmain-fb.c:
2539         Remove gdk_font_init/fini() calls.
2540
2541         * gdk/linux-fb/gdkpango-fb.c:
2542         Remove old implementation. Use pangoft2 instead.
2543
2544         * gdk/linux-fb/gdkprivate-fb.h:
2545         Remove PangoFBFont and related stuff.
2546
2547         * gdk/linux-fb/gdkwindow-fb.c:
2548         Implement drawable->get_visible_region.
2549         Implement support for _gdk_window_set_child_handler () and
2550         _gdk_window_get_decorations().
2551
2552         * modules/Makefile.am:
2553         Remove linux-fb subdir.
2554
2555         * modules/linux-fb/*:
2556         Removed all.
2557         
2558 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2559
2560         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2561         calls, as they are no longer needed.
2562
2563         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2564         
2565         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2566         figure out how to emit a signal on an interface.
2567
2568 2000-12-20  Havoc Pennington  <hp@redhat.com>
2569
2570         * tests: new directory to contain tests, gtk/test* should move
2571         here sometime (with appropriate on-cvs-server hackery)
2572
2573         * tests/testtreeview.c, tests/Makefile.am: a test
2574         
2575         * configure.in (AC_OUTPUT): add tests/Makefile
2576
2577         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2578         and "invisible_set" which were missing
2579
2580         * gtk/gtkrbtree.h: some cheesy indentation fix
2581         
2582 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2583
2584         * gtk/gtkinvisible.c (gtk_invisible_realize):
2585         Attach the style to the window so that the style it is not
2586         leaked when unrealizing the window.
2587
2588 2000-12-18  Havoc Pennington  <hp@redhat.com>
2589
2590         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2591         begin/end user action where appropriate
2592         (gtk_text_view_commit_handler): add begin/end user action
2593
2594         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2595         bracket interactive operations with begin/end user action pair.
2596         
2597         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2598         "interactive" arg from insert_text and delete_text signals.
2599         Add begin_user_action, end_user_action signals
2600         (gtk_text_buffer_begin_user_action): 
2601         (gtk_text_buffer_end_user_action): New functions to delimit 
2602         a user-visible action
2603
2604         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2605         signals.
2606         
2607 2000-12-18  Havoc Pennington  <hp@redhat.com>
2608
2609         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2610         was pretty non-working.
2611
2612         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2613         by passing the length to g_utf8_validate().
2614
2615 2000-12-16  Havoc Pennington  <hp@pobox.com>
2616
2617         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2618         Port to GObject, can go back in gdk-pixbuf after setting up 
2619         a gdk-pixbuf-marshal.h header over there.
2620
2621         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2622         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2623         args
2624         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2625         set
2626         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2627         here, do it when we create the buttons later
2628         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2629         (gtk_tree_view_map): paranoia checks that column->button is shown 
2630         and unmapped
2631         (gtk_tree_view_size_request): only request visible children.
2632         Move header size calculation in here, for cleanliness, and 
2633         to maintain invariants for child widgets if we eventually 
2634         let users set different children inside the buttons
2635         (gtk_tree_view_map_buttons): factor out code to map buttons,
2636         since it was being called several times
2637         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2638         windows instead of just moving them; their height may change 
2639         if we allow random widgets in there, or the theme changes.
2640         (gtk_tree_view_size_allocate): move button size allocation 
2641         above emitting the scroll signals, to ensure a sane state when we
2642         hit user code
2643         (gtk_tree_view_button_release): remove queue_resize after
2644         tree_view_set_size(), set_size() will handle any resize queuing
2645         that's needed
2646         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2647         draw_focus goo
2648         (gtk_tree_view_focus): use gtk_get_current_event() and
2649         gdk_event_get_state()
2650         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2651         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2652         semicolon
2653         (gtk_tree_view_create_button): show the button here
2654         (gtk_tree_view_button_clicked): actually emit the clicked signal
2655         on the column
2656         (_gtk_tree_view_set_size): return right away if the size is
2657         unchanged, as a cheesy optimization
2658         (gtk_tree_view_setup_model): rename set_model_realized to 
2659         setup_model to match the flag that indicates whether we've 
2660         called it
2661         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2662         exist, because set_scroll_adjustment does that and it shouldn't
2663         matter what order you call these in
2664         (gtk_tree_view_get_vadjustment): ditto
2665         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2666         for paranoia
2667         (gtk_tree_view_set_headers_visible): call
2668         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2669         (gtk_tree_view_append_column): clarify whether the return value
2670         is the count of columns before or after, and do the increment 
2671         separately from the return statement so you can tell from the code.
2672         (gtk_tree_view_remove_column): ditto
2673         (gtk_tree_view_insert_column): ditto
2674         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2675         outside the existing range, the docs say that outside-range
2676         columns are allowed, so we handle them as documented. (Presumably
2677         this allows a nice loop with column != NULL as test.)
2678         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2679         mean (left/right/center etc.).
2680         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2681         (gtk_tree_view_expand_row): add docs
2682         (gtk_tree_view_collapse_row): add docs
2683
2684         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2685         function to emit the clicked signal on a column
2686         
2687         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2688         state of an event
2689         (gdk_event_get_time): don't treat GDK_SCROLL 
2690         as a button event, remove default case from switch so gcc 
2691         will whine if we don't explicitly handle all event types
2692
2693         * gtk/gtktreeselection.h: added some FIXME 
2694         
2695         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2696         "columns" to "n_columns" and "column" to "columns" for clarity
2697
2698 2000-12-16  Havoc Pennington  <hp@pobox.com>
2699         
2700         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2701         stuff. This should make e.g. the delete key work again in the
2702         text widget...
2703         (gtk_text_iter_forward_cursor_positions): handle negative count
2704         (gtk_text_iter_backward_cursor_positions): handle negative count
2705         (gtk_text_iter_forward_word_ends): handle negative count
2706         (gtk_text_iter_backward_word_starts): handle negative count
2707
2708         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2709         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2710         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2711         GObject. No doubt will cause breakage.
2712
2713         * demos/gtk-demo/textview.c: remove hacks around
2714         non-GObject-ification of the text objects
2715
2716         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2717         the text tag
2718         
2719 2000-12-14  Havoc Pennington  <hp@pobox.com>
2720
2721         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2722         that we have Xrender
2723
2724 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2725
2726         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2727         Add two virtualized functions gdk_drawable_get_clip_region - to
2728         get the clip region when drawing.
2729         
2730         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2731         use invalidate_region.
2732
2733         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2734         region.
2735
2736         * acconfig.h configure.in: Check for Xft. For now, assume
2737         that if Xft is found, Pango was compiled with Xft support
2738         as well.
2739
2740         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2741         gdk_colormap_query_color().
2742         
2743         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2744         with Xft if appropriate.
2745
2746         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2747         a pangoxft context if we have XFT and the environment
2748         variable GD_USE_XFT is set.
2749         
2750         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2751         and also possibly an XftDraw structure.
2752
2753         * gtk/gtkfontsel.c: Handle the case where the font from the
2754         style doesn't match any of the fonts a bit better.
2755         
2756         * gtk/testgtk.c: Add tabs between directional segments for
2757         hebrew/arabic test. (Not really necessary, just a little
2758         prettier.)
2759
2760 2000-12-14  Havoc Pennington  <hp@redhat.com>
2761
2762         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2763         reading a file
2764
2765 2000-12-14  Havoc Pennington  <hp@redhat.com>
2766
2767         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2768         unused call to get_last_line()
2769
2770         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2771         here until boxed is working (and maybe after that - we should
2772         really not gratuitously break old code)
2773
2774         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2775         specific types for font_desc and tabs args, move them to
2776         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2777         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2778
2779         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2780         use GTK_TYPE_POINTER for signal signatures as a hack-around
2781
2782         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2783         PangoTabArray
2784
2785         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2786         make static
2787         (line_display_index_to_iter): make static
2788
2789         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2790         to marshal a string not a boxed
2791
2792         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2793
2794         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2795         since the UTF-8 isn't validated yet
2796
2797         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2798         lines to end in '\n'
2799         
2800         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2801         forward_to_delimiters, and grapheme boundaries
2802         (gtk_text_view_delete_from_cursor): properly handle non-newline
2803         delimiters, and grapheme boundaries
2804
2805         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2806         to gtk_text_iter_forward_to_delimiters, and make it work properly
2807         if empty lines end with a character other than '\n'
2808
2809         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2810         position
2811
2812 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2813
2814         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2815
2816         * gtk/gtk.def
2817         * gdk/gdk.def: Update.
2818
2819         * gdk/win32/gdkmain-win32.c
2820         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2821         gdkmain-win32.c here.
2822
2823         * gdk/win32/makefile.mingw.in (all): No need to make
2824         gdk-win32res.o here, the makefile one step up will call us to make
2825         it.
2826
2827         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2828         gdkkeys-win32.
2829
2830         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2831
2832         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2833         call to g_source_add().
2834
2835         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2836         leak. Thanks to Andreas Kemnade.
2837
2838 2000-12-13  Havoc Pennington  <hp@pobox.com>
2839
2840         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2841
2842         * gtk/gtktext*.[hc]: update accordingly
2843         
2844 2000-12-13  Havoc Pennington  <hp@pobox.com>
2845
2846         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2847         header file
2848
2849         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2850
2851 2000-12-13  Alex Larsson  <alexl@redhat.com>
2852
2853         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2854         Add support for ps2 intellimouse.
2855
2856         * gdkkeyboard-fb.c:
2857         Move shift-F1 repaint handling to xlate handler only.
2858         
2859         * docs/README.linux-fb:
2860         Add imps2 to docs.
2861         Document the new refresh keys.
2862         
2863 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2864
2865         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2866
2867         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2868         ::position and ::padding.
2869
2870         * gtk/gtkcontainer.c: make ::border_width an INT property.
2871
2872         * gtk/gtkpacker.c: make ::position an INT property.
2873
2874         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2875         guard against NULL h/v scrollbars, since this is used at construction
2876         time.
2877
2878         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2879         internal gtk_clist_constructor().
2880
2881         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2882         gtk_ctree_constructor().
2883
2884         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2885         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2886
2887         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2888         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2889
2890         * gtk/gtkwidget.[hc]:
2891         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2892         and gtk_widget_get().
2893         (gtk_widget_new): use g_object_new_valist().
2894         (gtk_widget_set): use g_object_set_valist().
2895
2896         * gtk/gtkobject.[hc]:
2897         removed gtk_object_arg_get_info(), gtk_object_getv(),
2898         gtk_object_query_args(), gtk_object_newv(),
2899         gtk_object_class_add_signals(),
2900         gtk_object_class_user_signal_new(),
2901         gtk_object_class_user_signal_newv(),
2902         gtk_object_arg_set(), gtk_object_arg_get(),
2903         gtk_object_args_collect(),
2904         gtk_object_default_construct(),
2905         gtk_object_constructed(),
2906         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2907         removed nsignals, signals and n_args members from GtkObjectClass.
2908         (gtk_object_new): use g_object_new_valist().
2909         (gtk_object_set): use g_object_set_valist().
2910         (gtk_object_get): use g_object_get_valist().
2911         
2912         * gtk/gtkcompat.h: define gtk_object_default_construct().
2913         
2914         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2915         g_object_new().
2916
2917         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2918         fucntions, cleaned up method assignments (make sure your structures
2919         are setup properly before calling out). removed all GTK_CONSTRUCTED
2920         hacks ;)
2921
2922 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2923
2924         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2925         off-by-one error in checks. (Dave Lambert)
2926
2927 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2928
2929         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2930         Don't free gdk_fb_keyboard twice.
2931
2932 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2933
2934         * gtk/testgtk.c:
2935         (create_tooltips): 
2936         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2937         use GObject swapped_signal:: properties instead.
2938
2939         * gtk/gtkcellrenderertoggle.c: 
2940         * gtk/gtkcellrenderertextpixbuf.c: 
2941         * gtk/gtkcellrenderertext.c: 
2942         * gtk/gtkcellrendererpixbuf.c: 
2943         * gtk/gtkcellrenderer.c:
2944         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2945         missing warnings for invalid property ids, install properties
2946         with g_object_class_install_property() now.
2947         
2948         * gtk/gtksignal.c:
2949         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2950         
2951 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2952         
2953         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2954         to determine if a window is the focus widget within
2955         its toplevel.
2956
2957         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2958         to be boolean.
2959
2960         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2961         of the case where the container CAN_FOCUS to here instead
2962         of having it in each individual move-the-focus place.
2963
2964         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2965         focusing to be geometric in a much more obvious sense. Arrowing
2966         around is still non-intuitive because it isn't perfect and
2967         because entries, etc, grab the arrow keys, but it at least
2968         usually will do what you expect now.
2969         
2970         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2971         file.
2972
2973         * gtk/gtknotebook.c: Change tabs to be a single item in
2974         the focus chain. Make movement of focus on tabs with arrow
2975         keys wrap around.
2976         
2977         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2978         CHECK_FIND_CHILD macro to give informative error messages
2979         instead of silent returns.
2980
2981         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2982         flag since we handle GdkReturn on the tabs.
2983
2984         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2985         windows rather than sending expose events directly.
2986
2987         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2988         definition for GtkNotebookPage into .c file, since it is private.
2989
2990         * gtk/testgtk.c (create_notebook): Add option for 
2991         testing borderless notebook.
2992
2993         * gtk/testgtk.c (page_switch): Removed egregious poking
2994         around in GTK+ internals.
2995
2996         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2997
2998         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2999         properly through gtk_clist_focus. Make the title headers a
3000         single item in the tab-focus chain, and make left-right wrap
3001         around.
3002
3003         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3004         focus method so that wrapping around works properly.
3005
3006         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3007         that is handled for the widget now. 
3008
3009 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3010
3011         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3012         widgets as TOPLEVEL.
3013
3014         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3015         TOPLEVEL widgets are containers.
3016
3017         * gtk/gtkinvisible.h: Remove useless include.
3018
3019 2000-12-11  Havoc Pennington  <hp@redhat.com>
3020
3021         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3022         Handle chopping off \r\n and 0x2029 in addition to \n before
3023         passing to PangoLayout
3024
3025         * gtk/gtkimcontextsimple.c
3026         (gtk_im_context_simple_get_preedit_string): 
3027         return an empty string if no match is pending
3028
3029         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3030         assertion that the returned preedit string was sane
3031
3032         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3033         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3034         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3035
3036 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3037
3038         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3039         Fix up finalizer to chain to its parent.
3040
3041 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3042
3043         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3044         Clearified the difference between the keyboard types. Wrote a note
3045         about the magic sysrq key to get out of raw mode.
3046
3047 2000-12-09  James Henstridge  <james@daa.com.au>
3048
3049         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3050         member to hold masks for detecting the start of a protocol packet.
3051         (mouse_devs): add packet start masks for ps2 and ms device types.
3052         Left the mask for fidmour blank, as I have no idea what it should
3053         be.
3054         (handle_mouse_io): skip bytes until we get to the start of a
3055         packet.  My Logitech mouse seems to be passing an extra NULL pad
3056         byte, and GPM does a similar thing here.
3057         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3058         this is the ms mouse driver.
3059         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3060         completely broken except for button1.  It was checking the wrong
3061         bit in the packet for the status of the right mouse button, and
3062         wrongly assuming right == button2 rather than 3.  I fixed that and
3063         also added support for middle button (button2).
3064
3065 2000-12-08  Havoc Pennington  <hp@redhat.com>
3066
3067         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3068         that cause a segfault on text insertion
3069
3070         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3071         warning
3072
3073         * gtk/gtktextiter.c (test_log_attrs): use
3074         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3075
3076         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3077         Get log attrs for a line, using a cache stored on the buffer
3078         
3079         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3080         reported by Jeff Franks
3081
3082 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3083
3084         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3085         /dev/ttyS0 -> /dev/mouse
3086
3087 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3088
3089         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3090         Added dummy gdk_fontset_load.
3091
3092 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3093
3094         * docs/README.linux-fb:
3095         * docs/Makefile.am:
3096         Initial GtkFB docs.
3097         
3098         * gdk/linux-fb/Makefile.am:
3099         Define GDK_DATA_PREFIX.
3100
3101         * gdk/linux-fb/gdkmain-fb.c:
3102         Fix typo.
3103         Change default display to /dev/fb0.
3104
3105         * gdk/linux-fb/gdkpango-fb.c:
3106         Add $(prefix)/share/fonts/ to font path.
3107         
3108 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3109
3110         * gdk/linux-fb/gdkkeyboard-fb.c:
3111         New file containing the abstracted keyboard driver. Most code
3112         taken from gdkinput-ps2.c
3113
3114         * gdk/linux-fb/gdkinput-ps2.c:
3115         Removed file.
3116         
3117         * gdk/linux-fb/Makefile.am:
3118         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3119
3120         * gdk/linux-fb/gdkcolor-fb.c:
3121         display->fb was renamed to display->fb_fd.
3122
3123         * gdk/linux-fb/gdkcursor-fb.c:
3124         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3125
3126         * gdk/linux-fb/gdkinput.c:
3127         Moved gdk_input_init here from gdkinput-ps2.c
3128
3129         * gdk/linux-fb/gdkmain-fb.c:
3130         display->fb was renamed to display->fb_fd.
3131         Now the tty and the console is opened here instead
3132         of in the keyboard driver. Also check GDK_VT to see what
3133         tty to open.
3134         Move gdk_beep () here from gdkinput-ps2.c
3135         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3136
3137         * gdk/linux-fb/gdkmouse-fb.c:
3138         Add header.
3139         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3140         Return correct keyboard modifiers.
3141         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3142
3143         * gdk/linux-fb/gdkprivate-fb.h:
3144         Add tty and vt info to display.
3145         Add orignal modeinfo storage to display
3146         Update global functions
3147
3148         * gdk/linux-fb/gdkwindow-fb.c:
3149         Added gdk_fb_window_find_focus().
3150         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3151
3152 2000-12-07  Havoc Pennington  <hp@pobox.com>
3153
3154         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3155         function, noticed by Alex
3156
3157 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3158
3159         * configure.in: Detect freetype properly
3160
3161         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3162         above.
3163
3164 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3165
3166         * gdk/linux-fb/Makefile.am:
3167         Add gdkmouse-fb.c
3168         
3169         * gdk/linux-fb/gdkmouse-fb.c:
3170         New file. Abstracted the mouse drivers a bit.
3171
3172         * gdk/linux-fb/gdkcursor-fb.c:
3173         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3174
3175         * gdk/linux-fb/gdkinput-ps2.c:
3176         Removed old mouse handling code. Moved cursor handling code
3177         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3178         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3179         gdk_mouse_get_info.
3180
3181         * gdk/linux-fb/gdkmain-fb.c:
3182         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3183
3184         * gdk/linux-fb/gdkprivate-fb.h:
3185         Removed public gdk_fb_find_common_ancestor, added and renamed
3186         functions for the new mouse handling code.
3187
3188         * gdk/linux-fb/gdkwindow-fb.c:
3189         Moved gdk_fb_window_send_crossing_events here. added global
3190         variable gdk_fb_window_containing_pointer. made
3191         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3192         renamed to gdk_mouse_get_info.
3193
3194 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3195
3196         * gdk/linux-fb/gdkevents-fb.c:
3197         Update to match latest gmain/gsource changes.
3198
3199         * gdk/linux-fb/gdkinput-ps2.c:
3200         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3201         it links. Will be implemented later.
3202
3203 2000-12-03  Havoc Pennington  <hp@pobox.com>
3204
3205         * gdk/Makefile.am: add gdkkeys.[hc]
3206
3207         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3208         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3209
3210         * acconfig.h, configure.in: add checks and command line options
3211         for XKB
3212
3213         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3214         
3215         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3216         and group in the key event
3217
3218         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3219         field with the low-level hardware key code, and a group
3220         field with the keyboard group
3221
3222         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3223         and declare a couple globals used for keymap handling
3224         
3225         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3226         hold down Shift-Control and type a hex number to get a Unicode 
3227         character corresponding to the hex number
3228         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3229         (return bytes not chars)
3230
3231 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3232
3233         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3234         to avoid waste on 64-bit platforms.
3235
3236 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3237
3238         * INSTALL: Fix link to PNG home, remove reference
3239         to fribidi.
3240
3241         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3242         
3243         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3244         tested.)
3245
3246         * gtk/gtkcheckmenuitem.c: Permanently turn on
3247         always_show_toggle.
3248
3249         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3250         be NULL. (Vladimir Klebanov, #26545)
3251
3252         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3253         some signed/unsigned comparison problems. (#6510,
3254         David Kaelbling)
3255
3256         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3257         return type to boolean (Oskar Liljeblad, #18648)
3258
3259 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3260
3261         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3262         Remove bogus colormap setting.
3263
3264 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3265
3266         * gdk/linux-fb/gdkcolor-fb.c:
3267         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3268
3269         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3270         Must set colormap.
3271         
3272 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3273
3274         * docs/tutorial/gtk-tut.sgml: DND updates
3275
3276 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3277
3278         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3279         Remove old debug g_warning().
3280         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3281         or an implementation, just pass the implementation to draw_drawable_2.
3282         
3283         * gdk/linux-fb/gdkprivate-fb.h:
3284         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3285
3286         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3287         clear and invalidate area when window is destroyed.
3288         (send_map_events): Remove old commented out code.
3289
3290 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3291
3292         * gdk/linux-fb/gdkpango-fb.c:
3293         Use italic instead of oblique in font aliases.
3294         
3295         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3296         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3297         other unsupported functions.
3298
3299 2000-12-04  Havoc Pennington  <hp@redhat.com>
3300
3301         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3302
3303         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3304
3305         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3306
3307         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3308         hack to avoid infinite loops (synthetic expose event) - 
3309         Owen has more appropriate fixes in a branch he'll check in later.
3310
3311         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3312         separator, CR, and CRLF as line ends
3313
3314         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3315         into lines using pango_find_paragraph_boundary(); other bits of
3316         the widget are still going to be broken if the boundary isn't '\n'
3317         though
3318
3319 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3320
3321         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3322         multiply.
3323
3324         * gdk/linux-fb/gdkpango-fb.c:
3325         Copied some 26.6 scaling macros from pango to clean up the rounding.
3326         (pango_fb_font_get_glyph_info): Correct sign on x value.
3327
3328         * gdk/linux-fb/gdkprivate-fb.h:
3329         Removed unreferenced external functions.
3330
3331         * modules/linux-fb/Makefile.am: Use ` instead of '.
3332
3333         * modules/linux-fb/basic.c:
3334         Remove dead code. In particular the dummy lang engine which broke all
3335         pango layouts in GtkFB. Don't include tables-big.i anymore.
3336
3337         * modules/linux-fb/tables-big.i:
3338         Upgrade to latest version from pango. Left for reference, basic_ranges
3339         moved to basic.c.
3340         
3341 2000-12-04  Havoc Pennington  <hp@redhat.com>
3342
3343         Fix bugs Alex found:
3344         
3345         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3346         to "draw"
3347
3348         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3349
3350         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3351
3352         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3353         implementation in here, apparently the expose() implementation was
3354         dead code.
3355
3356 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3357
3358         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3359         Return positive descent.
3360
3361 2000-12-02  Havoc Pennington  <hp@pobox.com>
3362
3363         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3364         method and signal
3365         
3366         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3367         calls gdk_window_process_updates() to push the exposes through
3368         (gtk_widget_class_init): No more draw signal, no
3369         gtk_widget_real_draw()  
3370         
3371         * gtk/gtkbin.c (gtk_bin_draw): remove
3372
3373         * gtk/gtkbox.c (gtk_box_draw): remove
3374
3375         * gtk/gtkbutton.c (gtk_button_draw): remove
3376
3377         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3378
3379         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3380
3381         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3382
3383         * gtk/gtkclist.c (gtk_clist_draw): remove
3384
3385         * gtk/gtkentry.c (gtk_entry_draw): remove
3386
3387         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3388
3389         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3390
3391         * gtk/gtkframe.c (gtk_frame_draw): remove
3392
3393         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3394
3395         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3396
3397         * gtk/gtklayout.c (gtk_layout_draw): remove
3398
3399         * gtk/gtklist.c (gtk_list_draw): remove
3400
3401         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3402
3403         * gtk/gtkmenu.c (gtk_menu_draw): remove
3404
3405         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3406
3407         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3408
3409         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3410
3411         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3412
3413         * gtk/gtkpacker.c (gtk_packer_draw): remove
3414
3415         * gtk/gtkrange.c (gtk_range_draw): remove
3416
3417         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3418
3419         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3420
3421         * gtk/gtktable.c (gtk_table_draw): remove
3422
3423         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3424
3425         * gtk/gtktext.c (gtk_text_draw): remove
3426
3427         * gtk/gtktextview.c (gtk_text_view_draw): remove
3428
3429         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3430
3431         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3432
3433         * gtk/gtktree.c (gtk_tree_draw): remove
3434
3435         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3436
3437         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3438
3439         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3440
3441         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3442
3443         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3444
3445         * gtk/gtkwindow.c (gtk_window_draw): remove
3446
3447 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3448
3449         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3450         a GtkToggleButton is both insensitive and active, it was being
3451         drawn by the GtkButton draw handler which doesn't check the
3452         state. Now it's calling gtk_toggle_button_paint instead.
3453         
3454 2000-12-01  Havoc Pennington  <hp@redhat.com>
3455
3456         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3457         dangling pointers to the appearance attributes from the 
3458         line display
3459
3460         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3461         width/height to mean "full width/height of drawable"
3462
3463         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3464         click to select word/line
3465         
3466         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3467         when getting log attrs. Get a slice, so that pixmaps and stuff
3468         are properly handled.
3469
3470         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3471         paste into the selection (replaces selection now, previously
3472         crashed or added to selection). Reveals longstanding btree bug -
3473         select multiple lines, middle-click on the selection, boom. This
3474         isn't related to my changes though.
3475
3476         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3477         PangoLogAttrs changes
3478         (gtk_entry_move_backward_word): ditto
3479
3480         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3481         functions return bool whether the iter moved onto a
3482         dereferenceable position.
3483  
3484         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3485         functions for motion in terms of display lines.
3486
3487         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3488         get the buffer a mark is inside
3489         
3490 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3491
3492         * gdk/linux-fb/Makefile.am:
3493         * modules/linux-fb/Makefile.am:
3494         Freetype 2 final uses freetype-config
3495
3496         * gdk/linux-fb/gdkpango-fb.c:
3497         Upgrade to use Freetype 2 final.
3498         More flexible support for font aliases, this also fixes a bug with
3499         GtkFontSelector, as the aliases must be visible in the font/family list,
3500         or GtkFontSelector reads uninitialized memory.
3501
3502 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3503
3504         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3505         XGetIMValues to properly terminate variable argument list, and do
3506         NULL return check for ic_values and xim_styles.
3507
3508         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3509         Restore preedit state after XmbResetIC().
3510         
3511         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3512         XvaCreateNestedList() should take XvaNestedList, but not
3513         XvaNestedList*.
3514
3515         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3516         preedit_draw_callback, preedit_caret_callback): Match
3517         "preedit-changed" signal name to "preedit_changed" to be
3518         consistent to the spec.
3519
3520         * gtk/gtkimcontextsimple.c (check_table):
3521         Match "preedit-changed" to "preedit_changed" to be consistent
3522         to the spec.
3523
3524 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3525
3526         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3527         gc->clip_region == NULL>
3528
3529 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3530
3531         Changes by Hans Breuer:
3532         
3533         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3534         Dont't use negative width and height as max_hints. This fixes
3535         Owen's recent testgtk changes for win32.
3536
3537         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3538         gdk_win32_hdc_release): These are exported and may be called with
3539         other drawable types than our GdkDrawableImplWin32 (?).
3540
3541         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3542         so always #define USE_BACKING_STORE.
3543
3544         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3545         of printf for debugging output.
3546
3547         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3548         
3549         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3550
3551         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3552         declaration.
3553
3554         * gtk/gtktexttypes.h: Ditto.
3555
3556         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3557         (GDK_VoidSymbol) also if in case of arg check failure.
3558
3559         * gtk/gtkimcontextsimple.c
3560         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3561         position to the pointer, but to the variable it points to.
3562
3563         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3564
3565         * gtk/gtk.def: Updates.
3566
3567 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3568
3569         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3570         GTK_TYPE_TREE_MODEL.
3571
3572 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3573
3574         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3575         Set the size of the font from the description.
3576         (gdk_text_width): Gross hack that calculates the width
3577         of text by text_length * size/2. This is necessary because
3578         GtkLabel does some ugly gtk_string_width call to calculate
3579         an good size.
3580         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3581
3582 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3583
3584         * docs/tutorial/gtk-tut.sgml: DND updates
3585
3586 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3587
3588         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3589         If you pass width or height == 0 to gdk_window_clear_area they
3590         should be calculated from the window size.
3591
3592 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3593
3594         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3595         a grab, but no grab-cursor, use the cursor from the grabbed
3596         window. (gdk_fb_window_send_crossing_events): Send normal
3597         enter/leave notifications if grab and owner_events == TRUE.
3598
3599 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3600
3601         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3602         Do implicit button grabs, even if the window doesn't
3603         want the event.
3604         (gdk_fb_window_send_crossing_events): If there is a
3605         grab, only the grabbed window gets normal enter/leave
3606         notifications. On ungrab go from grabbed window to current.
3607         Don't send any notification to b when propagating from c -> b.
3608         If setting a grab on window, don't set prev_window.
3609         (handle_mouse_input): Send enter/leave events to the window the
3610         mouse is over, not the grabbed one.
3611         
3612 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3613
3614         * gdk/gdkregion-generic.c: Zap warning.
3615         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3616         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3617
3618 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3619
3620         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3621         The cursor should be hidden if it is part of either the
3622         source or destination region. Not only if it is in both.
3623         (gdk_window_set_transient_for): Silence warnings.
3624
3625 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3626
3627         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3628         The default mode in X is Pie Arcs, therefore that is
3629         what Gtk+ uses.
3630
3631 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3632
3633         * gdk/linux-fb/gdkinput-ps2.c:
3634         Implement correct EnterNotify/LeaveNotify:
3635         (gdk_fb_window_send_crossing_events): New function that sends
3636         all GdkCrossingEvents from the last mouse-window to the specified
3637         destination.
3638         (gdk_fb_window_visibility_crossing): Removed function.
3639         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3640         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3641         instead of gdk_window_get_pointer() for better readability.
3642
3643         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3644         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3645
3646         * gdk/linux-fb/gdkprivate-fb.h:
3647         removed gdk_fb_window_visibility_crossing, added
3648         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3649
3650         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3651         New function that finds the least common ancestor of two windows.
3652         (gdk_window_show, gdk_window_hide):
3653         Use gdk_fb_window_send_crossing_events.
3654         (gdk_fb_window_move_resize): Send configure events to toplevel
3655         windows. Use gdk_fb_window_send_crossing_events.
3656
3657 2000-11-27  Havoc Pennington  <hp@redhat.com>
3658
3659         * gtk/gtkprivate.h (enum): Remove a trailing comma
3660
3661 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3662
3663         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3664         the "changed" callback of the adjustment.  We need to redraw the
3665         spin button's arrows when the adjustment's range changes.
3666         (adjustment_changed_cb): Draw the arrows.
3667         (gtk_spin_button_value_changed): Draw the arrows.
3668
3669 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3670
3671         * gdk/linux-fb/gdkselection-fb.c:
3672         Initial selection implementation.
3673
3674         * gtk/gtkselection.c:
3675         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3676         requestor in gtk_selection_request.
3677         
3678         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3679         Added gdk_selection_property atom.
3680
3681         * gdk/linux-fb/gdkprivate-fb.h:
3682         Export _gdk_selection_window_destroyed.
3683         Removed mask_off_x/y from GdkCursorPrivateFB.
3684         Removed hbearing, added top, left to PangoFBGlyphInfo.
3685
3686         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3687         Call _gdk_selection_window_destroyed
3688         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3689         the root window has been created.
3690         (static_dx_hack, static_dy_hack, compare_draw_rects,
3691         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3692         in region. They are already sorted. Instead just traverse them in
3693         reverse if draw_direction < 0.
3694         
3695         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3696         Double-clicks must be sent after the normal button_press.
3697         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3698         
3699         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3700         Pass _gdk_fb_screen_gc instead of NULL.
3701
3702         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3703         Initialize gdk_selection_property.
3704         (gdk_event_make): Remove unused code.
3705
3706         * gdk/linux-fb/gdkcursor-fb.c:
3707         Make the pixmap for the cursor the same size as the mask. Also remove
3708         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3709         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3710         Now the whole cursor is visible.
3711
3712         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3713         Fix bug where xdest+height instead of ydest+height was used
3714         to calculate if the source and dest overlapped. This fixes the
3715         redraw bug when the main window in testgtk was scrolled when
3716         partially covered by a tall window.
3717         Copy rectangles in region in order depending on draw_direction.
3718         Also moved the draw_direction flipping of start_y and end_y into
3719         the gc functions, as this might not be what all of them want.
3720         (gdk_fb_draw_lines): Support dashed lines.
3721         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3722         so that the text is positioned correctly (was 1 pixel high).
3723
3724         gdk/linux-fb/gdkgc-fb.c:
3725         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3726         all lines were drawn a pixel to short. Also checked the default of
3727         the rest of the values, and they're the same as X now.
3728
3729         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3730         Clean up pixel positioning of the glyphs. Just use bgy->top and
3731         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3732         to all divisions to get correct rounding behaviour.
3733
3734         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3735         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3736         Moved start_y/end_y flip into draw_drawable implementations.
3737         Flip also x rendering when draw_direction < 0.
3738         Remove unneccesary multiply with draw_direction.
3739
3740 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3741
3742         * docs/tutorial/gtk-tut.sgml:
3743           - get rid of gtk_toggle_button_toggled FUD
3744           - start DND section - needs work - based on:
3745                 http://wolfpack.twu.net/docs/gtkdnd/
3746
3747 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3748
3749         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3750         Correct calculation of font metrics. Now GtkEntrys have sane
3751         size.
3752
3753 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3754
3755         * gdk/gdktypes.h:
3756         Add new type GdkSpan
3757         
3758         * docs/reference/gdk/gdk-sections.txt,
3759         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3760         gdk/gdkregion.h:
3761         Implement and document gdk_region_spans_intersect_foreach.
3762
3763         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3764         Add new file gdkrender-fb.c which contains all core
3765         rendering code.
3766         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3767         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3768         (optimized rectangle fillers).
3769
3770         * gdk/linux-fb/gdkdrawable-fb2.c:
3771         Move all rendering code to gdkrender-fb.c.
3772         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3773         Use the new span intersection functions in gdk_fb_fill_spans.
3774         gdk_fb_draw_rectangle() clips filled rectangles and calls
3775         gc->fill_rectangle with the result.
3776         gdk_fb_fill_spans() gets extra argument "sorted".
3777
3778         * gdk/linux-fb/gdkevents-fb.c:
3779         Remove unused includes and defines.
3780         New function gdk_fb_get_time() to get correct time for events.
3781
3782         * gdk/linux-fb/gdkinput-ps2.c:
3783         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3784         Make sure to set the time of all events.
3785
3786         * gdk/linux-fb/gdkmain-fb.c:
3787         Use gdk_fb_get_time ().
3788
3789         * gdk/linux-fb/gdkprivate-fb.h:
3790         New virtual GC calls: fill_span & fill_rectangle.
3791         Export gdk_fb_get_time().
3792         gdk_fb_fill_spans() gets extra argument "sorted".
3793
3794         * gdk/linux-fb/mi*.c:
3795         Use GdkSpan instead of GdkRectangle.
3796         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3797         from XFree 4 source)
3798         
3799 2000-11-22    <jrb@redhat.com>
3800
3801         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3802         reversing the order in an if statement will do.  Doing so managed
3803         to make the treemodelsort half work.  Other half will follow after
3804         I get the insert function fully fixed.
3805
3806 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3807         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3808         more than 2 bits. Besides, I need to implement an evil hack. :)
3809
3810 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3811
3812         * docs/tutorial/gtk-tut.sgml: minor corrections
3813
3814 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3815         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3816           convert to and from relative path's and iters.
3817
3818         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3819           testing sorting functions a bit better.  Currently broken -- will
3820           fix in morning.
3821
3822 2000-11-20  Havoc Pennington  <hp@redhat.com>
3823
3824         * gtk/gtkwidget.c: Documented a bunch of functions in here
3825         (gtk_widget_realize): Warn if you try to realize
3826         a widget with no parent that isn't a toplevel
3827         (gtk_widget_intersect): return a gboolean
3828
3829 2000-11-20  Havoc Pennington  <hp@redhat.com>
3830
3831         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3832         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3833         scrolling to be implemented in GDK to finish. Also, right now
3834         we just size_allocate all children on every layout change,
3835         which is pretty lame. Test commented out of testtext.c, 
3836         until it works better.
3837
3838 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3839
3840         * gdk/linux-fb/gdkdrawable-fb2.c:
3841         Removed unused arguments from gdk_fb_drawable_get_pixel().
3842
3843         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3844         Renamed fidur specific mouse packet data in MouseDevice to
3845         generic. Used it in ps2 mouse handling code to avoid blocking
3846         reads.
3847
3848 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3849
3850         * demos/gtk-demo/main.c: Changed to have the list become
3851         non-italic when the demo window is destroyed through an external
3852         event (like a close button).  Doing so found three bugs in the
3853         widget.
3854
3855         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3856
3857         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3858         we actually set the cell.
3859
3860         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3861
3862         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3863         free a leaked path.  Thanks memprof.
3864
3865 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3866
3867         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3868         off-by-one error when destroying allocated segments
3869         on failure. (Elliot)
3870
3871 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3872
3873         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3874         memleaks found by Evan Martin.
3875
3876 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3877
3878         * Released 1.3.2
3879         
3880         * NEWS: Updates for 1.3.2
3881
3882 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3883
3884         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3885         but in general for window system specific events.
3886
3887         * gtk/gtk.def
3888         * gtk/makefile.mingw.in
3889         * gtk/makefile.msc.in: Update.
3890         
3891         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3892
3893 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3894
3895         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3896         distribute gtk.immodules.
3897
3898         * gtk/Makefile.am (install-data-local): Don't install the
3899         gtk.immodules file created for the uninstalled modules;
3900         instead run gtk-query-immodules after install
3901
3902 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3903
3904         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3905         -rpath to the right install location.
3906
3907         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3908         -export-dynamic.
3909
3910         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3911         properly.
3912
3913 2000-11-15  Havoc Pennington  <hp@pobox.com>
3914
3915         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3916         patch from Mikael Hermansson to temporarily stop blinking while
3917         the user is using the keyboard to type or navigate. 
3918
3919         Also, when blinking, stay on for longer than we stay off. Also,
3920         return from start_cursor_blink if !cursor_visible, to save
3921         checking that flag all over the place before we call
3922         start_cursor_blink.
3923
3924 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3925
3926         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3927         only contain a "fontset" line, which is now ignored.
3928
3929         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3930         double-click-to-select-word work.
3931         
3932 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3933
3934         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3935         Don't move back one char when we are actually at the end of the 
3936         paragraph.
3937
3938 2000-11-15  Robert Brady  <robert@suse.co.uk>
3939
3940         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3941         'o' < 'p'.
3942         
3943         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3944         bind_textdomain_codeset.
3945
3946         (gtk_init_check): Make the warning about translating default:LTR
3947         sterner.
3948         
3949 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3950
3951         * **/Makefile.am : remove unecessary rules for win32-specific
3952         config-substituted targets. If you want these rules, use
3953         --enable-maintainer-mode (called automatically by autogen.sh).
3954         Stops a lot of unneccessary make-time warnings.
3955
3956         * gtk/gtktext{layout,display}.c: Factor in total width as
3957         well as screen when figuring alignment for word-wrap as well as
3958         no wrap; this is necessary to handle lines that cannot be wrapped
3959         at all.
3960
3961 2000-11-15  Havoc Pennington  <hp@redhat.com>
3962
3963         * gtk/testtext.c: Implement essential color cycling feature
3964
3965 2000-11-15  Havoc Pennington  <hp@redhat.com>
3966
3967         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3968         when we invalidate the main window.
3969
3970         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3971         GtkTextView will now invalidate the side windows for us when text
3972         changes.
3973
3974 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3975
3976         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3977         unconditionally, since we may need to update the horizontal
3978         scrollbars even if the height didn't change.
3979
3980         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3981         the extra attrs, since some of them affect size.
3982
3983         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3984         x_offset correctly.
3985
3986 2000-11-15  Havoc Pennington  <hp@redhat.com>
3987
3988         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3989         don't move the first line out into the margin, instead move the
3990         whole paragraph in order to make space for the first line within 
3991         the margin
3992
3993 2000-11-15  Havoc Pennington  <hp@redhat.com>
3994
3995         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3996         xoffset in addition to yoffset, so horizontal scrolling doesn't
3997         break redraws
3998
3999 2000-11-15  Havoc Pennington  <hp@redhat.com>
4000
4001         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4002         from the cursor
4003         (render_layout_line): fix reversed test that caused weird
4004         underlines to get drawn
4005
4006 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4007
4008         * gdk/linux-fb/gdkprivate-fb.h:
4009         Fix debug macros.
4010         
4011 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4012
4013         * gdk/linux-fb/gdkprivate-fb.h:
4014         Added virtual functions set_pixel, get_color,
4015         fill_span and draw_drawable to the GC.
4016         Added global _gdk_fb_screen_gc to use instead of
4017         NULL when drawing to the screen.
4018         Added _gdk_fb_gc_calc_state() prototype.
4019
4020         * gdk/linux-fb/gdkgc-fb.c:
4021         Call _gdk_fb_gc_calc_state() on any gc state change.
4022
4023         * gdk/linux-fb/gdkglobals-fb.c:
4024         Add _gdk_fb_screen_gc
4025                 
4026         * gdk/linux-fb/gdkdrawable-fb2.c:
4027         _gdk_fb_gc_calc_state() calculates best functions
4028         for the GC state and depth.
4029         Moved bpp specialized code to separate functions.
4030         Added optimized 24 bpp AA draw_drawable.
4031
4032         * gdk/linux-fb/gdkevents-fb.c:
4033         Silence gcc warning.
4034
4035         * gdk/linux-fb/gdkimage-fb.c:
4036         Use _gdk_fb_screen_gc
4037
4038         * gdk/linux-fb/gdkwindow-fb.c:
4039         Init and use _gdk_fb_screen_gc
4040
4041         * gdk/linux-fb/mitypes.h:
4042         Remove unused types.
4043
4044 2000-11-14  Havoc Pennington  <hp@pobox.com>
4045
4046         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4047         to pixels
4048
4049 2000-11-14  Havoc Pennington  <hp@pobox.com>
4050
4051         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4052
4053         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4054         unknown char, no real reason we were using a variable. 
4055         Remove gtk_text_unknown_char variable. Fix all the text widget
4056         files accordingly.
4057
4058         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4059         since the Unicode spec seems to prefer that character for our
4060         purposes.
4061
4062 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4063
4064         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4065         value of g_getenv() isn't freeable, so g_strdup it.
4066
4067         * modules/input/inuktitut.c: Inuktitut input method.
4068
4069         * modules/input/Makefile.am: Build this.
4070         
4071 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4072
4073         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4074         of gtk programs.
4075
4076 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4077
4078         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4079         reversed > that was causing Home to go to end of previous line.
4080
4081         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4082         modified-keypresses (leave for bindings.)
4083
4084         * modules/input/Makefile.am: Remove useless -export-dynamic
4085         from module LDFLAGS.
4086
4087 2000-11-14  Havoc Pennington  <hp@redhat.com>
4088
4089         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4090         higher.
4091
4092         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4093         account. Also, render rise, underline, background, etc. for
4094         pixbufs as well as text. Also, draw underlines one pixel higher.
4095
4096         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4097         PangoAttribute for the rise, so it gets drawn properly. Also,
4098         add the GtkTextAppearance attribute for pixbuf/widget segments
4099         as well; we should go ahead and have rise, underline, background,
4100         stipple work for those
4101
4102         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4103         Pango
4104
4105 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4106
4107         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4108
4109         * gtk/gtk.def: Update.
4110
4111         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4112         included.
4113         (gtk_rc_get_im_module_file): Use run-time installation directory
4114         on Win32.
4115
4116         * gdk/win32/rc/gdk.rc: Remove.
4117         * gdk/win32/rc/gdk.rc.in: New file.
4118         * gdk/win32/rc/Makefile.am: New file
4119         * gdk/win32/Makefile.am: Corresponding changes.
4120
4121         * gtk/gtk.rc: Remove.
4122         * gtk/gtk-win32.rc.in: New file.
4123         * gtk/Makefile.am: Corresponding changes.
4124
4125         * configure.in: Corresponding changes.
4126
4127         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4128         has a built gtkcompat.h. Developers using CVS code on Win32 can
4129         hand-edit it from gtkcompat.h.in.
4130
4131         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4132         gtkcompat.h from gtkcompat.h.win32.
4133
4134 2000-11-14  Havoc Pennington  <hp@redhat.com>
4135
4136         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4137         to default to GDK_ACTION_MOVE if the drag is within a single
4138         widget. Defaults to GDK_ACTION_COPY between widgets.
4139
4140 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4141
4142         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4143
4144         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4145
4146         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4147         srcdir != builddir
4148
4149         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4150
4151         * configure.in (GTK_VERSION): Up to 1.3.2
4152
4153         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4154         gtkimcontextxim.h
4155
4156         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4157         missing doc comment.
4158
4159 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4160
4161         * modules/linux-fb/basic.c:
4162         Use the glib iconv wrappers.
4163
4164 2000-11-13  Havoc Pennington  <hp@pobox.com>
4165
4166         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4167         still more bugs.
4168
4169         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4170         scroll the GdkWindows before realization.
4171
4172 2000-11-13  Havoc Pennington  <hp@redhat.com>
4173
4174         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4175         where GC didn't always get updated properly
4176
4177         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4178         of fonts instead of setting the entire font
4179
4180         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4181         setting entire font
4182
4183         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4184
4185         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4186         a bunch of individually-settable font attributes. You can still 
4187         use the "font" and "font_desc" args, they just set all the font
4188         attributes at once.
4189
4190 2000-11-13 Elliot Lee <sopwith@redhat.com>
4191
4192         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4193
4194 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4195
4196         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4197         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4198
4199         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4200         work better.
4201
4202 2000-11-13  Havoc Pennington  <hp@redhat.com>
4203
4204         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4205         the module file.
4206
4207         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4208         dest->language
4209
4210         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4211         settings
4212
4213         * gtk/gtktextview.c: Implement object args and setters/getters for
4214         all the aspects of the GtkTextAttributes that are not set from
4215         GtkWidget attributes. This is spacing, justification, margins,
4216         etc.
4217
4218         (gtk_text_view_set_arg)
4219         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4220         args
4221         (gtk_text_view_class_init): Add args for justify, left_margin,
4222         right_margin, indent, and tabs
4223         
4224
4225         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4226         attribute properly
4227
4228         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4229         replace with indent attribute
4230
4231         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4232         PANGO_SCALE
4233
4234         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4235         rearranging code to do that
4236         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4237         i.e. don't subtract the top_margin first, just to keep
4238         all margin-futzing in one place.
4239
4240         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4241
4242         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4243         special case of last line, Pango now handles this itself.
4244         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4245         Y coordinate
4246         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4247         (find_display_line_above): wasn't moving the byte index as it
4248         iterated over lines, so always returned byte 0. Also, port to use
4249         PangoLayoutIter.
4250         (find_display_line_below): same problem as
4251         find_display_line_above. Also, port to use PangoLayoutIter.
4252
4253 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4254
4255         * gdk/linux-fb/*.[ch]:
4256         Massive reindent to gtk+ standard. My hands hurt.
4257
4258         * gdk/linux-fb/gdkcolor-fb.c:
4259         Move GdkColorPrivateFB from inherited to windowing_data
4260
4261         * gdk/linux-fb/gdkcursor-fb.c:
4262         _gdk_cursor_new_from_pixmap made static
4263
4264         * gdk/linux-fb/gdkdnd-fb.c:
4265         GdkDragContextPrivate moved to windowing_data
4266
4267         * gdk/linux-fb/gdkdrawable-fb2.c:
4268         Removed endian.h, use glib endianness macros instead
4269         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4270         and GDK_DRAWABLE_IMPL_FBDATA
4271
4272         * gdk/linux-fb/gdkfont-fb.c:
4273         Add empty gdk_font_load(). Needed for linking of Gtk+.
4274
4275         * gdk/linux-fb/gdkimage-fb.c:
4276         Removed endian.h, use glib endianness macros instead
4277         Moved GdkImagePrivateFB to windowing_data
4278         gdk_image_new_bitmap didn't always allocate enough
4279         memory.
4280
4281         * gdk/linux-fb/gdkinput-ps2.c:
4282         Added semi-working support for MS serial mice.
4283
4284         * gdk/linux-fb/gdkprivate-fb.h:
4285         s/GdkWindowPrivate/GdkWindowObject/
4286         Removed GdkWindowPrivate typedef
4287         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4288         Removed GDK_DRAWABLE_P
4289         Move GdkColorPrivateFB from inherited to windowing_data
4290         Moved GdkImagePrivateFB to windowing_data
4291
4292         * gdk/linux-fb/gdkvisual-fb.c:
4293         Removed some unused debug code.
4294
4295         * gdk/linux-fb/gdkwindow-fb.c:
4296         Use stock cursors instead of including X headers.
4297         s/GdkWindowPrivate/GdkWindowObject/
4298
4299         * gdk/linux-fb/mitypes.h:
4300         Removed unused types.
4301
4302         * modules/linux-fb/basic.c:
4303         Use the pango fribidi wrappers.
4304
4305 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4306
4307         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4308         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4309         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4310         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4311         GEqualFunc where applicable.
4312         
4313         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4314         pango_font_description_equal as changed in pango.
4315         
4316         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4317
4318         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4319
4320         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4321
4322         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4323
4324         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4325
4326         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4327
4328         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4329         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4330
4331         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4332         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4333
4334 2000-11-12  Havoc Pennington  <hp@pobox.com>
4335
4336         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4337         dir to datadir/gtk+-2.0/demo
4338
4339         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4340         sorts of text widget and Pango font bugs. Urgh.
4341
4342         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4343
4344         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4345         tree that you should double click to see the demo. Fix 
4346         types of variables to reflect changed return values from 
4347         GtkTreeStore and GtkTreeViewColumn constructors.
4348
4349         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4350         newly-created buffer to prepare for GObject semantics
4351
4352         * gtk/testtext.c: don't leak the buffer with GObject semantics
4353
4354         * gtk/testtextbuffer.c: ditto
4355         
4356 2000-11-12  Havoc Pennington  <hp@pobox.com>
4357
4358         Rename this testgtk to gtk-demo to avoid confusion, and 
4359         install it so people can use it as a supplement to 
4360         the documentation.
4361         
4362         * demos/gtk-demo: Moved from demos/testgtk
4363
4364         * demos/testgtk: Removed
4365
4366         * configure.in: make Makefile in gtk-demo
4367         
4368         * demos/gtk-demo/Makefile.am: Install sample source to 
4369         datadir/gtk-demo (maybe there's a better place?), and 
4370         rename the binary to gtk-demo
4371         
4372         * demos/gtk-demo/main.c (load_file): Load installed sample
4373         source if source isn't found in pwd.
4374
4375 2000-11-09  Havoc Pennington  <hp@pobox.com>
4376
4377         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4378         argument to set the char displayed when visibility == FALSE
4379         (gtk_entry_create_layout): If !entry->visible, replace 
4380         all chars with the "invisible char"
4381
4382         * gtk/testgtk.c: Test the invisible_char deal
4383         
4384 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4385
4386         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4387         can't get a native font in the right encoding.
4388
4389 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4390
4391         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4392         respectively.
4393
4394 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4395
4396         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4397         Fix warning when moving between paragraphs.
4398
4399         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4400         delete => delete_from_cursor, insert => insert_at_cursor
4401
4402 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4403
4404         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4405
4406         * modules/input/imthai-broken.c: A Thai input method for use if
4407         Thai keys are really generating Latin1 keysyms.
4408
4409         * modules/input/Makefile.am: Build these.
4410
4411 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4412
4413         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4414         g_filename_{to,from}_utf8 now takes an extra parameter.
4415
4416         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4417         strftime into UTF-8.
4418
4419         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4420         calendars.
4421
4422         (gtk_calendar_paint_day_names): Draw day names in the right 
4423         place.
4424         
4425 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4426
4427         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4428         problem with using result of g_get_charset() backwards -
4429         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4430
4431         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4432         negative min_width/height and max_width/height to
4433         mean "requisition"; this allows setting a window
4434         to be user-resizable in only one direction easily.
4435
4436         * gtk/testgtk.c (create_main_window): Remove hard-coded
4437         usize - set a default size in the vertical direction.
4438
4439 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4440
4441         * gtk/gtkrange.c: Add some missing casts. Support 
4442         2 and 3 button clicks on the arrows to mean 
4443         "move by pages" and "jump to end". (Like gtkspinbutton)
4444
4445 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4446
4447         * gdk/win32/makefile.msc : reflect build module changes
4448
4449         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4450         from GdkPixmap*, cast implementation member instead.
4451
4452         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4453         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4454         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4455         more Gdi functions return value checking. 
4456         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4457         GdkImagePrivateWin32 *.
4458
4459         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4460         menus useable again. Add #pragma message to keep reminded on this issue.
4461         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4462         windows. This allows to enable backing store on Win32!
4463
4464         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4465         in drawable is of impl type. Correct specific type checks appropriate.
4466  
4467         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4468         GDK_WINDOW_DESTROYED before allocating new resources.
4469
4470         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4471
4472         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4473         (gdk_window_foreign_new) initialize parent handle.
4474         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4475
4476         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4477         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4478         problems (e.g. main buttons in testgtk). 
4479
4480 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4481
4482         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4483         gtk_widget_activate for GDK_Return.
4484
4485         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4486         of preedit cursor position.
4487
4488 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4489
4490         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4491         static.
4492
4493 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4494
4495         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4496         out support for multiple locales; that simple doesn't
4497         work reliably with current Xlib
4498
4499         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4500         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4501         Add support for positioning the cursor within the preedit string.
4502
4503 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4504
4505         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4506         at XIM input method module.
4507
4508         * gtk/gtktextview.c: Check for bindings after passing
4509         events to im context filter.
4510
4511 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4512
4513         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4514         empty attribute lists properly.
4515
4516 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4517
4518         * gtk/queryimmodules.c (main): Return non-zero exit
4519         status if errors were encountered querying any
4520         modules.
4521
4522         * modules/input/Makefile.am (moduledir): remove
4523         leftover bin program target.
4524
4525         * docs/make-todo: Fix typo in error message.
4526
4527 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4528
4529         * configure.in: Add modules/input/Makefile
4530
4531 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4532
4533         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4534         don't include gtkthemes.h.
4535
4536         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4537         to point
4538
4539         * gtk/Makefile.am: Add new .c and .h files, build 
4540         gtk-query-immodules and use it to create a gtk.immodules
4541         file for use of test programs.
4542
4543         * gtk/gtkpreview.c: remove extra blank line.
4544
4545 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4546
4547         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4548         Add the ability to add extra tables beyond the default
4549         one, and also the ability to have compose sequences 
4550         that are prefixes of other compose sequences. 
4551
4552         * gtk/gtkimcontextsimple.c: Export a preedit string which
4553         consists of possible candidates for keystrokes that have
4554         been entered but not yet committed.
4555
4556         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4557         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4558
4559         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4560         Add a function to add input-method switching menu items
4561         to a menu.
4562
4563         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4564         when switching input methods.
4565
4566         * gtk/gtkimcontextsimple.[ch]: Change the format of
4567         the compose table to allow compose tables of different
4568         lengths / sequence.
4569
4570 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4571
4572         * gtk/gtkimmodule.[ch]: Support routines for loading
4573         GtkIMContext implementations dynamically at runtime.
4574
4575         * modules/input/imcyrillic-translit.c: A sample input
4576         method (based on GtkIMContextSimple with an extra table),
4577         which demonstrates preedit strings and the module
4578         system for input modules
4579
4580         * gtk/queryimmodules.c: Program to query the available
4581         input modules and write the results into a file.
4582          
4583         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4584         extra config options "im_module_file" (cache file for
4585         input method modules), and "im_module_path" - path
4586         to look for modules when generating cache file.
4587
4588         This doesn't scale.
4589
4590 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4591
4592         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4593         generic code from gtkthemes into a new abstraction
4594         GtkModule which has the logic for implementing
4595         a loadable module which implements a number of 
4596         GObject types.
4597
4598 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4599
4600         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4601         a class into an interface  
4602         
4603         * gtk/gtkoldeditable.[ch]: Move the old editable
4604         implementation into here, so legacy widgets can
4605         still rely on the implemenation. GtkOldEditable
4606         exports GtkEditable. Make selection handling
4607         code use new text conversion functions (and
4608         handle UTF-8 as a side-effect). Use GtkClipboard
4609         for CLIPBOARD.
4610
4611         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4612         Adopt to match above changes.
4613
4614         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4615         avoid GtkOldEditable implementation. Restructure
4616         to reduce number of places that modify state directly.
4617         Move to GtkBindingSet. Display the preedit string.
4618         Queue recomputation of PangoLayout and scroll position
4619         to improve effiency of doing complex changes naively.
4620         Add a menu with cut/copy/paste and input method selection.
4621
4622 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4623
4624         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4625         to set preedit string and attributes; display preedit string by
4626         inserting string and attributes at cursor when creating the
4627         GtkTextLineDisplay.
4628
4629         * gtk/gtktextlayout.c: Move all conversions between byte
4630         positions in PangoLayout and GtkTextIter into new functions
4631         line_display_iter_to_index/index_to_iter that properly
4632         handle the preedit string.
4633
4634         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4635         it to return const char * (eventually will end up
4636         as GCONST char *, most likely.)
4637
4638         * gtk/gtktextview.[ch]: Handle the preedit string, call
4639         gtk_im_context_reset() as necessary, add a menu to switch
4640         input methods.
4641         
4642         * gtk/gtktextlayout.[ch]: Remove useless
4643         gtk_text_layout_get_log_attrs() function.
4644
4645 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4646
4647         * gdk/gdk.def
4648         * gtk/gtk.def: Update.
4649
4650         * gdk/win32/*.c: Add last argument to g_type_register_static()
4651         calls.
4652
4653         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4654
4655         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4656         generated by older wheel mouse drivers. Get the correct y
4657         coordinate from WM_MOUSEWHEEL messages.
4658
4659         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4660         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4661         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4662         Debugging functions.
4663
4664         * gdk/win32/gdkprivate-win32.h: Declare them.
4665
4666         * gdk/win32/gdkinput-win32.h: Add declaration for
4667         gdk_input_window_destroy().
4668
4669         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4670
4671 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4672
4673         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4674         function to help handle keeping things in sync.
4675
4676 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4677
4678         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4679         BOXED marshallers.
4680
4681         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4682         (gtk_list_store_class_init): use the new BOXED marshallers.
4683
4684         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4685         new_with_values to new_with_types.
4686         (gtk_tree_store_get_column_type): add this.
4687         (gtk_tree_store_class_init): use the new BOXED marshallers.
4688
4689         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4690         mirror some POINTER marshallers.
4691
4692 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4693
4694         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4695         allow more interesting iterators.  Also, made the lifecycle of
4696         iterators more explicit.
4697
4698         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4699
4700         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4701         types.
4702
4703 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4704
4705         * demos/testgtk/menus.c:
4706         Changes to make the new testgtk compile after
4707         gtk_menu_append was removed.
4708
4709         * gdk/linux-fb/gdkdrawable-fb2.c
4710         (gdk_fb_get_depth, gdk_fb_get_visual,
4711         gdk_drawable_impl_fb_class_init): Implement
4712         these drawable functions. Now GtkImages work again.
4713
4714         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4715
4716         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4717         
4718         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4719         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4720         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4721         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4722
4723 2000-11-08  Havoc Pennington  <hp@pobox.com>
4724
4725         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4726         visible_set args, don't know where these had gone, I thought they
4727         used to be there
4728
4729         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4730         now we can test the feature and see that it's totally broken.
4731
4732 2000-11-08  Havoc Pennington  <hp@pobox.com>
4733
4734         Make DND copy pixbufs and tags when source and target share a 
4735         tag table.
4736         
4737         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4738         in-process GTK_TEXT_BUFFER_CONTENTS target
4739         (gtk_text_view_drag_data_received): Paste from
4740         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4741
4742 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4743
4744         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4745         API changes.
4746
4747         * gtk/gtkmenu.c: Add support for scrolling menus.
4748         Remove gtk_menu_append/prepend/insert, these have been moved to
4749         gtkcompat.h as #defines.
4750
4751         * gtk/gtkcompat.h.in:
4752         Add compatibility #defines for gtk_menu_append/prepend/insert
4753
4754         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4755         GtkMenuPositionFunc gets an extra argument push_in.
4756         gtk_menu_append/prepend/insert removed.
4757         
4758         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4759         positioning behaviour to fit to scrolling menus.
4760
4761         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4762         into menuitem->submeny. That is wrong, and broke torn
4763         off submenus of torn off menus, since they were unrealized
4764         when the first menu was unrealized.
4765
4766         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4767         gtk_menu_shell_select_item() since these need to be overridden in
4768         GtkMenu.
4769
4770         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4771         positioning behaviour to fit to scrolling menus.
4772         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4773         the current item so that it is prelighted when the menu pops up.
4774         This is a workaround to the fact that the menu doesn't get the
4775         initial enter event (due to grabs).
4776
4777         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4778         s/gtk_menu_append/gtk_menu_shell_append/
4779
4780         * gtk/gtknotebook.c:
4781         s/gtk_menu_insert/gtk_menu_shell_insert/
4782
4783         * gtk/testgtk.c (create_menu, create_menus):
4784         Create the first menu with 50 items so that menu scrolling
4785         can be tested.
4786         
4787         
4788         Patch from Jonathan Blandford  <jrb@redhat.com>
4789
4790         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4791         system to handle size requests.  First, we ask what the size of
4792         the toggle is.  Then, when allocating the size, we allocate the
4793         toggle_size first.  This way we can have multiple menu-item
4794         classes w/o needing a seperate class for each.
4795
4796         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4797         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4798
4799         * gtk/gtkcheckmenuitem.c
4800         (gtk_check_menu_item_toggle_size_request): New function to handle
4801         the toggle size-request.
4802
4803 2000-11-07  Havoc Pennington  <hp@redhat.com>
4804
4805         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4806         Half-ass somewhat fix this function, so that scrolling to the
4807         insertion point works. Pango hacking is in the future to really
4808         fix it.
4809
4810         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4811         length of data, no longer used.
4812
4813         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4814         method contents in here, get rid of destroy method
4815         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4816         that were backward. Remove debug spew.
4817         (cut_or_copy): Make the clipboard work with insert_range to
4818         preserve tags and pixbufs, not just the primary selection.
4819
4820 2000-11-07  Havoc Pennington  <hp@redhat.com>
4821
4822         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4823         to gtk_text_mark_get_visible
4824
4825         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4826         bug that was generating an invalid iterator
4827
4828         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4829         ensure_char_offsets() in front of code placing the iter in an
4830         invalid state.
4831
4832         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4833         make override_location arg const
4834         (paste): Replace the selection if we paste into the 
4835         current selection
4836
4837         * gtk/gtkselection.h: Remove "GtkSelectioData"
4838         (struct _GtkSelectionData): move the definition here.
4839
4840         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4841         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4842
4843         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4844
4845         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4846         (gtk_text_buffer_insert_range_interactive): implement
4847         (gtk_text_buffer_get_tags): Remove, replaced by
4848         gtk_text_iter_get_tags()
4849
4850         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4851         limit parameter, to avoid infinite linear scan.
4852         (gtk_text_iter_backward_search): Add search limit
4853         (gtk_text_iter_forward_find_char): Add search limit
4854         (gtk_text_iter_backward_find_char): Add search limit
4855
4856 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4857
4858         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4859         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4860         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4861         gdk/linux-fb/gdkwindow-fb.c:
4862         use g_object_new() instead of g_type_create_instance() which
4863         is a private function for fundamental type implementations.
4864
4865         * gdk/linux-fb/gdkinput-ps2.c:
4866         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4867         instead just store the current modifier state. Add a (somewhat broken)
4868         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4869         Rename exported function gdk_input_ps2_get_mouseinfo to
4870         gdk_input_get_mouseinfo.
4871
4872         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4873         gdk/linux-fb/gdkwindow-fb.c:
4874         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4875         
4876
4877 2000-11-02  Havoc Pennington  <hp@redhat.com>
4878
4879         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4880         use stock buttons. Should be 100% source compatible, appropriate
4881         filesel fields now point to dialog->vbox and dialog->action_area.
4882         On the bizarre side, dialog->action_area and filesel->action_area
4883         are not the same widget.
4884         (gtk_file_selection_init): Put some padding around the selection
4885         entry, so it isn't touching the GtkDialog separator.    
4886
4887         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4888         use stock buttons, etc. Should also be source compatible.
4889         Set the dialog default title in _init not _new().
4890         
4891         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4892         Use stock buttons; don't put a button box inside the existing
4893         dialog button box. Don't bother with push/pop colormap anymore.
4894
4895         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4896         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4897         for message dialog, and necessary for the font selection and color
4898         selection with help and apply buttons.
4899         
4900         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4901         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4902         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4903         between buttons, put less padding around the action area.
4904         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4905         This will also exit the loop if the widget is hidden.
4906         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4907         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4908         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4909         special-case delete event.
4910
4911         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4912         formatting
4913         
4914 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4915
4916         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4917         button to temporarily disable position recording in the
4918         "saved position" test.
4919
4920 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4921
4922         * gtk/gtkthemes.c: added compat code that temporarily implements
4923         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4924         going to be revamped by owen's upcoming GtkModule patches, but
4925         untill then people want gtk to build, right? ;)
4926
4927 2000-11-04  Havoc Pennington  <hp@pobox.com>
4928
4929         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4930         list
4931
4932         * docs/Changes-2.0.txt: Add note about
4933         gtk_container_get_toplevels()
4934
4935         * gtk/gtktextview.h: formatting
4936         
4937         * gtk/gtktextview.c: don't start descriptions with "Returns",
4938         confuses gtk-doc
4939
4940 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4941
4942         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4943         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4944
4945 2000-11-03  Havoc Pennington  <hp@redhat.com>
4946
4947         * gtk/gtktexttagtable.c: Docs
4948         (gtk_text_tag_table_size): return a signed int
4949
4950         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4951         (gtk_text_tag_event): make the event_object a GObject
4952
4953         * gtk/gtktextview.c: Write API docs for all functions.
4954
4955         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4956         for gtk_text_view_get_window_type() called on one of the private
4957         windows.
4958
4959         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4960         directly, call get_buffer() which demand-creates a default
4961         buffer. So gtk_text_view_new() can be used to create a view with a
4962         default buffer in it, if you just want an empty text box users can
4963         put data in. Useful for GUI builders also.
4964
4965 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4966
4967         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4968         the charset encodign portion MUST be in lowercase.
4969         * gtk/gtkrc.az: added file for Azeri language
4970
4971 2000-11-03  Havoc Pennington  <hp@redhat.com>
4972
4973         Get widgets working on the btree/buffer side. Display of them 
4974         still doesn't work.
4975         
4976         * gtk/gtktextview.c: start implementing child widget stuff
4977
4978         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4979
4980         * gtk/gtktextlayout.c: handle embedded widgets
4981
4982         * gtk/gtktextdisplay.c: handle embedded widgets
4983
4984         * gtk/gtktextchild.c: Implement all the child anchor goo
4985
4986         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4987         function
4988
4989         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4990         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4991         creating a child anchor or a pixbuf segment.
4992         (gtk_text_btree_create_child_anchor): new function
4993         (gtk_text_btree_unregister_child_anchor): new function
4994
4995         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4996         allocate_child signal on GtkTextLayout
4997
4998         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4999         values
5000         (gtk_text_iter_get_child_anchor): new function
5001
5002         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5003         default handler for the changed signal, which calls
5004         gtk_text_buffer_set_modified(), instead of just always emitting
5005         changed then calling set_modified() manually. I guess this is
5006         maybe more flexible. It seems logical.
5007
5008 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5009
5010         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5011         now.
5012
5013         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5014
5015 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5016
5017         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5018         been marked static.
5019
5020 2000-11-02  Havoc Pennington  <hp@redhat.com>
5021
5022         * gtk/testgtk.c (create_labels): had a test backward
5023
5024         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5025         fields, so the dest GC ends up with the correct clip origin, 
5026         etc. Fixes a bug where colored labels didn't redraw 
5027         properly.
5028
5029 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5030
5031         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5032         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5033         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5034         Add last argument to t_type_register_static call.
5035         
5036         * gdk/linux-fb/gdkdrawable-fb2.c:
5037         Add last argument to t_type_register_static call.
5038         export the get_image drawable virtual function.
5039
5040         * gdk/linux-fb/gdkimage-fb.c:
5041         Add last argument to t_type_register_static call.
5042         rename gtk_image_get to _gdk_fb_get_image and
5043         export it for use by gdkdrawable-fb2.
5044
5045         * gdk/linux-fb/gdkprivate-fb.h:
5046         export _gdk_fb_get_image.
5047
5048         * gdk/linux-fb/gdkselection-fb.c:
5049         Add new api call stubs.
5050
5051         * gtk/Makefile.am:
5052         Missing ( in linux-fb part.
5053
5054         * modules/linux-fb/Makefile.am:
5055         Must link with gdk_pixbuf or get unresolved symbol.
5056
5057 2000-11-01  Havoc Pennington  <hp@pobox.com>
5058
5059         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5060         GTK_TYPE_TEXT_ITER and BOXED marshallers
5061
5062         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5063
5064         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5065         
5066         * gtk/gtk-boxed.defs: add GtkTextIter
5067
5068         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5069         properly use OBJECT and BOXED
5070
5071 2000-11-01  Havoc Pennington  <hp@redhat.com>
5072
5073         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5074
5075         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5076         before returning it. 
5077         
5078 2000-11-01  Havoc Pennington  <hp@redhat.com>
5079
5080         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5081         Clip the rectangle to be rendered to the drawable, since
5082         get_from_drawable() requires a region within the drawable
5083
5084 2000-11-01  Havoc Pennington  <hp@redhat.com>
5085
5086         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5087         from coordinates.
5088
5089 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5090
5091         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5092         it isn't NULL.
5093
5094 2000-11-01  Havoc Pennington  <hp@pobox.com>
5095
5096         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5097         on a label
5098         (gtk_label_finalize): unref the attr list if any.
5099
5100         * gtk/testgtk.c (create_get_image): close test on second click
5101         (make_message_dialog): close dialog if it exists
5102
5103         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5104
5105         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5106         gdk-pixbuf
5107
5108         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5109         from Pango markup format
5110         (gtk_label_set_markup_with_accel): ditto but with accelerator
5111         parsing
5112
5113         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5114
5115         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5116         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5117         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5118         call gdk_window_get_origin().
5119
5120         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5121         implement GDK_PIXBUF_ALPHA_FULL
5122         
5123 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5124
5125         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5126         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5127         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5128         multiple handlers respectively, instead of only treating the
5129         first handler found (bug reported by owen).
5130
5131 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5132
5133         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5134
5135         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5136
5137         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5138         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5139         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5140
5141         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5142         widget.  Needs writing someday.
5143
5144         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5145         the docs.
5146
5147 2000-10-30  Havoc Pennington  <hp@redhat.com>
5148
5149         * gtk/gtktextview.h, gtk/gtktextview.c:
5150         Rename delete_at_cursor delete_from_cursor, and 
5151         move to move_cursor.
5152
5153 2000-10-30  Havoc Pennington  <hp@redhat.com>
5154
5155         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5156         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5157         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5158         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5159         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5160         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5161         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5162         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5163         gtktexttypes.h, gtktextview.c, gtktextview.h:
5164
5165         Massive reindentation and reformatting. Arg alignment and comments
5166         still need fixing in various places.
5167
5168 2000-10-30  Havoc Pennington  <hp@redhat.com>
5169
5170         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5171         to be named insert_at_cursor and delete_at_cursor so C++ can
5172         handle them.
5173
5174 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5175
5176         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5177         to get a double directory separator in case the home directory
5178         ends with one. This would cause trouble especially on Windows,
5179         where the path will be confused with the syntax for an an UNC
5180         (network share) path \\server\share\path.
5181         (gtk_rc_add_initial_default_files): Ditto.
5182
5183 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5184
5185         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5186
5187         * gtk/gtktextview.c: Use correct marshallers.
5188
5189 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5190
5191         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5192         use new iter stuff, and added all the appropriate signals et al.
5193
5194         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5195         code is internal to gtk only.
5196
5197 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5198
5199         * gtk/gtk.def
5200         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5201         glib-genmarshal etc.
5202
5203 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5204
5205         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5206         parallel builds.
5207
5208 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5209
5210         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5211
5212 2000-10-27  Robert Brady  <robert@suse.co.uk>
5213
5214         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5215         en_GB (British), ia (Interlingua).
5216
5217 2000-10-26  Havoc Pennington  <hp@redhat.com>
5218
5219         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5220
5221         Fixed output of:
5222         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5223         
5224         * gtk/gtktextsegment.c (char_segment_new): rename
5225         (_char_segment_new_from_two_strings): rename
5226         (_toggle_segment_new): rename
5227         
5228         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5229         (make_clipboard_widget): make it static
5230         (text_get_func): static
5231         (text_clear_func): static
5232
5233         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5234         static
5235         (hex_changed): make it static
5236         (hsv_changed): make it static
5237         (opacity_entry_changed): make it static
5238
5239         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5240         (toggle_segment_check_func): rename with _gtk
5241
5242         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5243         (_widget_segment_new): rename
5244         (_widget_segment_add): rename
5245         (_widget_segment_remove): rename
5246         (_widget_segment_ref): rename
5247         (_widget_segment_unref): rename
5248
5249         * gtk/gtktextmark.c (_mark_segment_new): Rename
5250         _gtk_mark_segment_new   
5251
5252 2000-10-26  Havoc Pennington  <hp@redhat.com>
5253
5254         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5255         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5256         types
5257
5258         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5259         marshaller types
5260
5261         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5262         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5263         license on these files.
5264
5265         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5266         work.
5267
5268         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5269         runtime random number different for each tree, instead of 
5270         a constant I made up.
5271
5272 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5273
5274         * gtk/Makefile.am: buncha cleanups, kludged build sources
5275         dependencies with a Makefile: oldest-source-stamp dependancy
5276         for the moment. automake is really fighting us here, with
5277         intentionally not allowing user-defined rules or dependancies
5278         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5279
5280         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5281         to public headers. tehy have a comment stating that they are
5282         "semi-public" aren't included by gtk.h and if enums popup there,
5283         they can be /*< skip >*/-ed.
5284
5285         * gtk/gtktextlayout.h: 
5286         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5287         added LGPL... <SIGH>
5288
5289 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5290
5291         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5292         GtkTreeIter.  Added iterators everywhere.
5293
5294         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5295
5296         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5297
5298         * gtk/gtktreestore.c: Changed to use the iterators.
5299
5300         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5301         iterators tomorrow.
5302
5303         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5304         iterators tomorrow.
5305
5306         * gtk/treestoretest.c: Changed to use iterators.
5307
5308         * demos/testgtk/main.c: Moved to use the new iterator system.
5309
5310 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5311
5312         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5313         localization misbehaviour.
5314
5315         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5316         a useless type without copy/free.
5317
5318         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5319         of GTK_TYPE_CTREE_NODE.
5320
5321 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5322
5323         * gtk/gtksignal.c:
5324         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5325         applicable.
5326
5327         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5328         gtk_selection_data_copy and gtk_selection_data_free
5329         do GtkSelectionData work as params in signals.
5330
5331 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5332
5333         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5334         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5335         couldn't they at least give it a non-standard name?
5336         
5337         * gtk/gtktextlayout.c: arg! yet another implementation of
5338         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5339
5340         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5341         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5342         home. now i know this _is_ a conspiracy.
5343
5344         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5345         ::state-changed.
5346
5347         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5348         (gtk_accel_group_create_add): marshaller signature fixups.
5349
5350         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5351         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5352
5353         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5354         anymore.
5355
5356 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5357
5358         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5359         due to the signal system changes, it wouldn't build currently. to
5360         be fixed soon.
5361
5362         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5363
5364         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5365         so it needs gtk_marshal_VOID__ENUM() instead of
5366         gtk_marshal_NONE__UINT().
5367
5368         * gdk/gdk*.c: adapted type registration functions.
5369
5370         * gtk/gtkbindings.c:
5371         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5372         gone.
5373
5374         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5375
5376         * gtk/gtkobject.c:
5377         (gtk_object_destroy):
5378         (gtk_object_shutdown): fixed recursion guards. basically we have to
5379         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5380         is called during ::destroy, and avoid recursion there.
5381
5382         * gtk/gtktypeutils.c:
5383         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5384         boxed_copy/boxed_free. this needs a more general solution based on a
5385         publically installed code-generator utility.
5386
5387         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5388         glib's gobject has support for that now.
5389         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5390
5391 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5392
5393         * gtk/gtksignal.[hc]:
5394         * gtk/gtkmarshal.[hc]:
5395         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5396         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5397         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5398         care of that.
5399
5400         * *.c: marshaller name fixups.
5401
5402         * gtk/gtkmarshal.list: added a comment briefing the format.
5403
5404 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5405
5406         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5407         compatibility macros here now. more specifically, most of
5408         the API is preserved (yes, _most_, nonwithstanding the
5409         following exceptions listed, the API is stil lHUGE ;)
5410         things that got removed completely:
5411         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5412         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5413         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5414         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5415         gtk_signal_remove_emission_hook().
5416         non-functional functions variants:
5417         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5418         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5419         not supported anymore.
5420         (gtk_signal_compat_matched): new internal function to aid
5421         implementation of the compatibility macros, it  provides
5422         functionality to block/unblock/disconnect handlers based
5423         on func/data.
5424
5425         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5426
5427         * *.c: adaptions to new type registration API signatures.
5428
5429 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5430
5431         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5432
5433 2000-10-25  Robert Brady  <robert@suse.co.uk>
5434
5435         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5436         gdk_property_delete): If window == NULL, assume the root window.
5437         (restoring the behaviour that was in 1.2).
5438         
5439         * gtk/testtext.c (save_buffer): Allow creation of new files when
5440         saving.
5441
5442         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5443         calls to read().
5444
5445 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5446
5447         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5448
5449         * gdk/win32/gdkdrawable-win32.c
5450         * gdk/win32/gdkimage-win32.c
5451         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5452         X11 backend.
5453
5454         * gdk/win32/gdkcc-win32.c
5455         * gdk/win32/gdkcolor-win32.c
5456         * gdk/win32/gdkfont-win32.c
5457         * gdk/win32/gdkinput-win32.c
5458         * gdk/win32/gdkmain-win32.c
5459         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5460
5461 2000-10-24  Havoc Pennington  <hp@redhat.com>
5462
5463         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5464         it a static function
5465
5466         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5467         redraw text when a tag is applied to it.
5468
5469         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5470         (gtk_text_tag_affects_nonsize_appearance): private functions to
5471         see if a tag requires various kinds of redraw/layout to be queued
5472         up.
5473
5474         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5475
5476         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5477         at the start of the buffer, so search works by default
5478
5479         * gtk/gtktextiter.c (lines_match): init match_start always
5480
5481         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5482         function, get iter at a line + a byte index
5483
5484         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5485         to set byte position within a line
5486         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5487
5488 2000-10-23  Havoc Pennington  <hp@redhat.com>
5489
5490         * gtk/testtext.c: Re-enable the "find" dialog
5491
5492         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5493         
5494         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5495         the arguments to gdk_draw_drawable were in the wrong order
5496         (gdk_window_paint_init_bg): This function was ignoring the
5497         init_region, instead of clipping to it, so the entire backing
5498         pixmap was cleared on every begin_paint()
5499         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5500         was in here again, the loop kept using the same GtkWindowPaint
5501         over and over.
5502         (gdk_window_begin_paint_region): Fix a bug where we had two
5503         x_offset instead of x_offset and y_offset
5504
5505         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5506         before we get the image.
5507         (gdk_draw_drawable): get the composite before we draw the drawable.
5508         (gdk_drawable_real_get_composite_drawable): default
5509         get_composite_drawable implementation that returns the drawable 
5510         itself
5511
5512         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5513         get_composite_drawable virtual function
5514
5515         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5516         list-walking bug
5517
5518         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5519         make this work if the source drawable is a GdkDrawableImplX11
5520         instead of a public drawable type. This is really broken; the
5521         problem is that GdkDrawable needs a virtual method get_xid(), but
5522         of course that doesn't work in practice. Enter RTTI.
5523
5524         Also, improve mismatched depth message.
5525
5526         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5527         GdkPixmap
5528
5529         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5530         install _gdk_x11_get_image as our implementation of get_image
5531         
5532         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5533         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5534
5535         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5536         gdk_drawable_get_image
5537
5538         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5539
5540         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5541         get_image
5542
5543         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5544         trailing semicolon after for loop
5545
5546 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5547
5548         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5549         where font_desc for widget's context lagged widget's font_desc by
5550         one step.
5551
5552 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5553
5554         * gdk/win32/gdkgc-win32.c
5555         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5556
5557         * gtk/makefile.mingw.in
5558         * gtk/gtk.def: Updates.
5559
5560         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5561         library.
5562
5563         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5564
5565         * gtk/makefile.msc: Remove
5566
5567         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5568
5569         * gtk/Makefile.am: Add it.
5570
5571         * configure.in: Generate it.
5572
5573         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5574         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5575         something even if not implemented, to satisfy picky MSVC.
5576
5577         Patches by Hans Breuer:
5578         
5579         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5580         SetBkMode() and SetTextAlign() before calling
5581         pango_win32_render().
5582
5583         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5584         Set hcliprgn to NULL after destroying it.
5585         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5586
5587         * gdk/win32/gdkgeometry-win32.c
5588         (_gdk_windowing_window_queue_antiexpose): More effective
5589         implementation.
5590
5591         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5592         depth as default, not the visual's.
5593
5594         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5595         against empty title.
5596
5597         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5598         IMAGE_PRIVATE_DATA.
5599
5600         * gdk/win32/gdkimage-win32.c: Use it.
5601
5602 2000-10-22  Robert Brady  <robert@suse.co.uk>
5603
5604         * configure.in: Check for bind_textdomain_codeset
5605
5606         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5607         present, make use of it.
5608
5609         Add a translatable string "default:LTR" which, if translated
5610         to "default:RTL", will cause the default direction to be
5611         Right-to-Left.
5612
5613         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5614         direction if marked as flippable.
5615
5616         * gtk/gtkhscale.c: Mark widget as flippable.
5617         
5618 2000-10-04  Havoc Pennington  <hp@redhat.com>
5619
5620         * gtk/testgtk.c (create_buttons): create some stock buttons
5621         with the default accel group
5622         (create_image): test some new GtkImage features
5623         (make_message_dialog): test GtkMessageDialog
5624         (create_modal_window): fix someone's bizzarro indentation
5625
5626         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5627         GTK_WIN_POS_CENTER_ON_PARENT. 
5628         Add "destroy with parent" setting, which means the window goes
5629         away with its transient parent.
5630         (gtk_window_get_default_accel_group): get the default accel group
5631         for the window.
5632         (gtk_window_set_destroy_with_parent): set/unset destroy with
5633         parent flag
5634         (gtk_window_read_rcfiles): invalidate icon set caches
5635         after reloading rcfiles 
5636
5637         * gtk/gtkenums.h (GtkWindowPosition): add
5638         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5639         on its parent window when the dialog is mapped for the first time.
5640
5641         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5642         a simple message dialog class
5643         
5644         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5645         handler to emit response signal, and maybe later it would
5646         honor a hide_on_delete flag - though that isn't there yet.
5647         Set border width on the vbox to 2, so we get some padding.      
5648         Use a button box for the action area.
5649         (gtk_dialog_key_press): synthesize a delete event if Esc
5650         is pressed and the GtkWidget key press handler didn't 
5651         handle the escape key.
5652         (gtk_dialog_new_with_buttons): new function creates a dialog
5653         with some default buttons in it.
5654         (gtk_dialog_add_action_widget): add an activatable widget
5655         as a button in the dialog - you can also add a non-activatable
5656         widget by accessing the action area directly.
5657         (gtk_dialog_add_button): add a simple button - stock ID or 
5658         label - to the action area
5659         (gtk_dialog_response): emit response signal
5660         (gtk_dialog_run): block waiting for the dialog, return 
5661         the response. Override normal delete_event behavior, so that 
5662         delete_event does nothing inside gtk_dialog_run().
5663
5664         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5665         emitted when an action widget is clicked or the dialog gets
5666         delete_event
5667
5668         * gtk/gtk.h: add gtkmessagedialog.h
5669
5670         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5671
5672 2000-10-18  Havoc Pennington  <hp@redhat.com>
5673
5674         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5675         where any number of empty lines would get skipped
5676
5677         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5678         edge.
5679
5680         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5681         warning about invalid iterators (explain more thoroughly)
5682         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5683
5684         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5685         big
5686
5687         * demos/*.c: Add error handling
5688
5689         * gtk/gtktextbuffer.c: don't modify const iterators
5690
5691         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5692
5693         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5694         on file load
5695
5696         * gtk/gtkiconfactory.c: Update to reflect addition of error
5697         handling to gdk-pixbuf loaders
5698
5699 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5700
5701         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5702         move to new modularized testgtk.
5703
5704 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5705
5706         * gtk/gtktreeview.c: Draw the arrows correctly.
5707
5708         * gtk/gtktreemodel.c: Added user docs.
5709
5710         * gtk/gtk.h: remove gtktreedatalist.h.
5711
5712         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5713         parent when generating my type.
5714
5715         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5716         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5717
5718 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5719
5720         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5721         GtkTreeModel from object to interface.
5722
5723 2000-10-16  Havoc Pennington  <hp@redhat.com>
5724
5725         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5726         compilation
5727
5728 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5729
5730         * gtk/gtktreeselection.c: Add API documentation to all public
5731         functions.
5732
5733         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5734         functions.
5735
5736 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5737
5738         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5739         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5740         docs to all public functions.
5741
5742         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5743         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5744         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5745         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5746         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5747         issue.
5748
5749 2000-10-14  Robert Brady  <robert@suse.co.uk>
5750
5751         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5752
5753 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5754
5755         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5756         values other then G_TYPE_STRING.
5757         * gtk/gtktreeselection.c: Minor commenting updates.
5758         * gtk/gtktreeview.c: Format updates.
5759
5760 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5761
5762         * README.win32: Update.
5763
5764         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5765         lines that had been deleted by mistake (?).
5766
5767         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5768         also the case fg==white and bg==black (but still not randomly
5769         coloured cursors). Thanks to Wolfgang Sourdeau.
5770
5771         * gdk/win32/*.c: Silence gcc -Wall.
5772
5773         * gtk/gtk.def: Add missing entry points.
5774
5775         Fixes by Hans Breuer:
5776
5777         * gdk/makefile.msc
5778         * gdk/win32/makefile.msc: Update.
5779
5780         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5781         some MSVC thing, presumably), cause breakpoint on failures. Add
5782         GDK_NOR case. Call g_log_set_always_fatal.
5783
5784         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5785         should be pased by reference.
5786         
5787         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5788         
5789         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5790
5791         * gdk/win32/gdkevents-win32.c
5792         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5793
5794         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5795         implementation object.
5796
5797         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5798         not just windows.
5799         
5800         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5801         Use the wrapper object.
5802         
5803 2000-10-06  Havoc Pennington  <hp@redhat.com>
5804
5805         * Makefile.am (SRC_SUBDIRS): contrib subdir
5806
5807         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5808         so it can be used in Xlib version
5809
5810         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5811         tree
5812
5813         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5814         change from 1.0 tree that returns first frame of animation
5815         if the loaded file is an animation.
5816
5817         * contrib: add new directory to hold stuff that comes with GTK+
5818         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5819         
5820         * configure.in: add contrib/*
5821
5822 2000-10-05  Havoc Pennington  <hp@redhat.com>
5823
5824         * demos/testpixbuf-save.c: add pixbuf save test
5825
5826         * demos/Makefile.am: add testpixbuf-save.c
5827
5828 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5829
5830         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5831         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5832         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5833         * gtk/gtktreeselection.[ch]: Replaced
5834         "node_selected"/"node_unselected" signal with "selection_changed"
5835         signal.
5836
5837 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5838
5839         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5840         tree widget.
5841
5842 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5843
5844         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5845         drawing.
5846
5847 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5848
5849         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5850         Move list pointer forwards before removing item from
5851         list. (Crash reported by Salmaso Raffaele)
5852
5853         * gdk/gdkwindow.h: Remove spurious trailing ,
5854
5855         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5856         dependencies on uninstalled libraries, sorry folks.
5857
5858 2000-10-04  Havoc Pennington  <hp@redhat.com>
5859
5860         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5861         gtk/gtkiconfactory.c: Fix copyrights    
5862
5863         * demos/testpixbuf.c: add inline pixbuf test
5864         
5865 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5866
5867         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5868         Add gdk_window_iconify.
5869
5870         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5871         (gdk_window_set_geometry_hints): Add win_gravity
5872         to geometry structure.
5873
5874         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5875         Implement _NET_WM_PING.
5876
5877         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5878         Set _NET_WM_PID on the client leader.
5879
5880         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5881         Handle UTF-8 better.
5882
5883         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5884         UTF-8 better, set _NET_WM_NAME as well. Only set
5885         icon name if it hasn't previously been explicitely 
5886         set.
5887
5888 2000-10-03  Havoc Pennington  <hp@redhat.com>
5889
5890         * gtk/testtextbuffer.c: clean up trailing whitespace,
5891         add extensive tests for tag toggle iteration.
5892         
5893         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5894         distance
5895
5896         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5897         optimize case where the tag root is on level 1
5898         (gtk_text_line_previous_could_contain_tag): attempt to implement
5899         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5900         functionality
5901
5902         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5903         Implement this, though not very efficiently.
5904
5905         * gtk/gtktextiterprivate.h: reformat
5906
5907         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5908         iterator
5909
5910         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5911         this to properly revalidate the iterators.
5912
5913         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5914         properly at the end of the line (and therefore on empty lines)
5915
5916         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5917         maybe we should return a value...
5918
5919 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5920
5921         * config.h.win32: Guard definition of alloca(). glib.h now handles
5922         that.
5923
5924         * gdk/gdk.def
5925         * gtk/gtk.def: Add new entry points.
5926
5927         Changes just to make GTK+ build without errors on Win32. No hope
5928         of it working in its current state, though...:
5929         
5930         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5931         some functions from the X11 backend, just to make GTK+ build.
5932
5933         * gdk/makefile.mingw.in
5934         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5935         number. Add new object files.
5936
5937         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5938         GetMessageTime to get timestamp (where on X11 uses
5939         gdk_x11_get_server_time()).
5940
5941 2000-10-02  Havoc Pennington  <hp@pobox.com>
5942
5943         * gtk/gtktextview.c: text_window_* weren't static and should have
5944         been.
5945         Start work on child widgets; not yet complete, syncing to 
5946         office computer.
5947
5948         * gtk/gtktextchild.h: change this to contain a public interface,
5949         starting work on child interfaces.
5950         * gtk/gtktextchildprivate.h: move private interfaces here
5951
5952         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5953
5954         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5955         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5956         gtk/gtktextmark.c: copyright notices
5957
5958         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5959         internal functions      
5960
5961         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5962         internal function
5963
5964         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5965         Reformatting    
5966
5967 2000-09-30  Havoc Pennington  <hp@pobox.com>
5968
5969         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5970         NULL start/end pointers
5971
5972         * gtk/gtktextbuffer.c: Write some docs
5973         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5974         NULL, so you can just check whether there's a selection.        
5975
5976         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5977         cleanup_line or segments_changed ourselves, it gets done 
5978         in unlink_segment
5979
5980         * gtk/gtktextmark.h:
5981         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5982         
5983         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5984
5985         * gtk/gtktextmark.c: delete some more old Tk cruft
5986
5987         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5988         mark before removing it, so we can emit MARK_DELETED with a valid
5989         pointer.
5990         (gtk_text_buffer_mark_set): hold ref across signal emission
5991
5992         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5993         whining about attempts to delete special marks
5994
5995         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5996         underscore, since it's internal.
5997
5998         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5999         now implemented in terms of iterators in gtktextiter.h
6000
6001         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6002         New function, destructively sets contents of buffer. Also 
6003         a convenient way to clear the buffer by setting text to ""
6004
6005         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6006         multiline string literal
6007
6008         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6009         text changes.
6010
6011         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6012         is not dereferenceable
6013         (gtk_text_iter_forward_lines): fix return value
6014
6015 2000-09-29  Havoc Pennington  <hp@redhat.com>
6016
6017         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6018
6019         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6020         that set border window size to have nicer name
6021         (gtk_text_view_mark_set_handler):  Fix this to have the 
6022         right signature.
6023
6024         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6025
6026         * gtk/testtext.c: Update with API changes, put line numbers on 
6027         both sides.
6028         
6029         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6030         with this
6031
6032         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6033         pixbuf; delete a big block of #if 0 Tk code
6034
6035         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6036         insert_pixmap with insert_pixbuf
6037
6038 2000-09-29  Martin Baulig  <baulig@suse.de>
6039
6040         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6041         confusion with the GdkPixbuf of the GNOME 1.x platform.
6042
6043 2000-09-29  Havoc Pennington  <hp@pobox.com>
6044
6045         * gtk/gtktextview.c: Implement the side windows.
6046
6047         * gtk/testtext.c: Implement simple line numbering in the 
6048         left side window; seems to make scrolling sloooow. Oops.
6049         Also, cursor blink is for some reason causing redraws
6050         of the line numbers. Should investigate...
6051
6052 2000-09-28  Havoc Pennington  <hp@redhat.com>
6053
6054         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6055         scrolling child windows, and draw focus rectangle properly.
6056         
6057         (gtk_text_view_buffer_to_window_coords):
6058         Coordinate transformation to deal with all these freaking windows
6059         and offsets
6060         (gtk_text_view_window_to_buffer_coords): transform the other way
6061
6062         * gtk/testtext.c (create_buffer): Update to match Pango API change
6063
6064         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6065         anonymous tags
6066         (foreach_unref): don't emit remove signal from finalize, just
6067         set tag's parent to NULL
6068
6069 2000-09-26  Havoc Pennington  <hp@redhat.com>
6070
6071         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6072         Fix some warnings       
6073
6074 2000-09-26  Havoc Pennington  <hp@redhat.com>
6075
6076         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6077         headers into the private header list
6078
6079         * Makefile.am (pkgconfig_DATA): install pkg-config files
6080
6081         * configure.in: add pkg-config files
6082
6083         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6084
6085         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6086         outstanding icon caches on theme change.
6087
6088         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6089         important types:
6090
6091         (GtkIconSource): Specification for creating a pixbuf 
6092         appropriate for a direction/state/size triplet from 
6093         a source pixbuf or filename
6094
6095         (GtkIconSet): List of GtkIconSource objects that are used to
6096         create the "same" icon (e.g. an OK button icon), and cache for
6097         rendered icons
6098
6099         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6100         up the icon set for a given stock ID.  GTK maintains a stack of
6101         GtkIconFactory to search, and applications or libraries can add
6102         additional icon factories on top of the stack
6103         
6104         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6105         the set of GtkIconSource specified for a given stock ID into 
6106         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6107         RcStyle, under the specified stock ID.
6108
6109         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6110         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6111         This allows people to theme how prelight, insensitive, etc. are
6112         done.
6113
6114         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6115         icon factories for a style, and return the resulting 
6116         icon set if any.
6117
6118         (gtk_style_render_icon): Render an icon using the render_icon 
6119         method in the GtkStyleClass.
6120
6121         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6122         Use the style for a given widget to look up a stock ID, get the
6123         icon set, and render an icon using the render_icon method 
6124         of the style
6125
6126         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6127         (contains information about a stock item), the built-in stock item
6128         IDs, and functions to add/lookup stock items.
6129
6130         * gtk/stock-icons/*: Stock icons that come with GTK
6131
6132         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6133         a button based on a GtkStockItem
6134         (gtk_button_new_accel): Takes a uline string and accel group, and
6135         installs the accelerator.
6136
6137         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6138         image-display widget.
6139
6140 2000-09-25  Havoc Pennington  <hp@redhat.com>
6141
6142         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6143
6144         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6145         Fix a bug when removing node data, we didn't properly 
6146         re-splice the linked list after removing the data.
6147
6148         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6149         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6150
6151         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6152
6153         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6154         for the layout from the GtkTextTag.
6155
6156         * gtk/gtktexttypes.h: delete tab and search cruft, 
6157         remove g_convert() in favor of GLib version
6158
6159         * gtk/gtktexttypes.c: remove tab implementation from here,
6160         move to Pango
6161
6162         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6163         tab stuff using new PangoTabArray from Pango
6164
6165         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6166         unused border_width stuff
6167
6168 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6169
6170         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6171         glib) and now useless utf_to_latin1() latin1_to_utf()
6172
6173         * gtk/gtktextview.[ch]: Change ::move_insert and
6174         ::delete_text action signals to ::move and ::delete;
6175         create the signals with the right enumeration type,
6176         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6177         C-v bindings, change Home, End to move to beginning/end
6178         of line, Add C-Home C-End to move to beginning/end
6179         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6180         combine ::scroll_text into ::move; use new GtkSelectionData
6181         functions to simplify DND text handling.
6182         
6183         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6184         deletion enumerations here, rename enumeration values to 
6185         be consistently plural.
6186
6187         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6188         for cut/copy/paste and primary selection.
6189
6190         * gtk/gtktextbuffer.[ch]: Remove excess time and
6191         'interactive' arguments from cut/copy/paste;
6192         rename cut to cut_clipboard, etc; remove
6193         gtk_text_buffer_get_clipboard_contents().
6194
6195         * gtk/gtktextlayout.[ch]: Add 
6196         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6197         line ends.
6198
6199         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6200         Functions to set or get a UTF-8 string on the selection
6201         data.
6202
6203         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6204         interfaces.
6205
6206         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6207         created widgets - one of these is useless if we don't.
6208
6209         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6210         a public function clear all targets registered for the
6211         widget.
6212
6213         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6214         Never call gtk_widget_realize() - that was just asking
6215         for bizarre side-effects.
6216
6217         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6218         gdk_selection_owner_set even if the widget is the
6219         same so that we reliably update the timestamp on
6220         the server.
6221
6222         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6223         gdk_x11_get_server_time() function.
6224         
6225         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6226         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6227         Add some tricky filtering on serial numbers for
6228         selection clear events to fix up long-standard
6229         race condition FIXME's in gtkselection.c.
6230
6231         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6232         routines to convert from utf8 to compound text or
6233         STRING and from a text property to UTF-8.
6234
6235         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6236         a convenience function gdk_get_current_event_time().
6237
6238         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6239         and free selection_data->data properly
6240
6241 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6242
6243         * gtk/gtkthemes.c: Remove some unecessary includes.
6244
6245 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6246
6247         * gtk/gtktextdisplay.c
6248         * gtk/gtktextlayout.c
6249         * gtk/gtktexttag.c
6250         * gtk/gtktexttag.h
6251         * gtk/testtext.c: Change the overstrike property to strikethrough,
6252         to closer match pango.
6253
6254 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6255
6256         * gtk/gtktextview.c: Fix up visibility so that focus,
6257         cursor_visible and blink interact properly.  Reenable cursor blink
6258         which had been roughly disabled. Make blink and focus
6259         properly per-view.
6260
6261         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6262         Add a flag for whether to display insertion cursor and
6263         a function to set the flag.
6264
6265         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6266         get_line_y() to get_line_yrange(), to be a bit more generally
6267         useful.
6268
6269 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6270
6271         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6272           do stop_navigating_submenu, to clear last timeout properly.
6273           Also in gtk_menu_motion_notify move ignore_enter above
6274           the conditional to make it always happen as suggested by Owen
6275
6276 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6277
6278         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6279
6280         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6281         w32api headers.
6282
6283         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6284         declarations.
6285
6286         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6287         (gdk_win32_get_colormap): A line had been deleted by mistake.
6288
6289         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6290         (gdk_event_translate): Handle more virtual keycodes to be able to
6291         generate GDK events for Control-comma, Control-period, etc.
6292
6293         * gtk/gtk.def: Add some missing entry points.
6294
6295 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6296
6297         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6298         Doc comment fixing. (Mostly non-matching parameter names.)
6299
6300         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6301         comments a little to avoid looking like a doc comment.
6302
6303         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6304         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6305         conversions be changed to GError?)
6306
6307         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6308         Move private #defines into .c file.
6309
6310         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6311         order of argument addition, remove duplicates.
6312
6313         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6314         parent class is FrameClass, not BinClass.
6315
6316         * gtk/gtk.h: Add gtkinvisible, which was missing.
6317         (It's occasionalyl useful for client apps, if seldom.)
6318
6319         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6320         #define.
6321
6322 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6323
6324         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6325         coordinates when creating window, instead of GDK-space
6326         coordinates. (Avoid BadValue on too large windows.)
6327
6328 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6329
6330         * configure.in (use_mmx_asm): Remove conftest* after use along the
6331         lines of AC_TRY_COMPILE.        
6332         
6333         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6334         of g_dirname, which is deprecated.
6335         (gtk_rc_parse_any): Removed calls to
6336         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6337
6338         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6339         Removed calls to g_hash_table_{freeze,thaw}, as they are
6340         deprecated now.
6341
6342         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6343         instead of g_basename.
6344         
6345 2000-09-04 Elliot Lee <sopwith@redhat.com>
6346         
6347         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6348         ANSI warning.
6349
6350 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6351
6352         * gtk/gtkwidget.h:  Add some documenting comments about 
6353           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6354           just as owen said on irc.
6355
6356         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6357           set HAS_DEFAULT.  Only set it if there isn't another window
6358           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6359           it if the widget is not the focused window with RECEIVES_DEFAULT.
6360           This fixes weird double default bugs in dialogs which has things
6361           call gtk_window_set_default at times.
6362
6363 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6364
6365         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6366         Nils Barth and David Santiago to improve submenu
6367         navigation. The patch does this by creating a triangular
6368         region from the point where the pointer leaves the
6369         menu to the submenu.  While the pointer is in
6370         that region and a timeout has not expired, events 
6371         that would cause the active submenu to change are
6372         ignored.
6373
6374 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6375
6376         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6377         moving a toplevel window immediately after sizing it would
6378         result in it being sized back to the old size since 
6379         impl->width, impl->height aren't updated until we hear
6380         back from the server. There is still a (longstanding) bug
6381         here that gdk_window_get_size() will give the wrong size
6382         until we do hear back.
6383
6384 2000-08-31  Havoc Pennington  <hp@redhat.com>
6385
6386         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6387         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6388         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6389         Rename GtkTextStyleValues to GtkTextAttributes
6390
6391 2000-08-31  Havoc Pennington  <hp@pobox.com>
6392
6393         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6394         for rapid testing whether an iterator is the end iterator
6395         (gtk_text_btree_new): init end line cache
6396         (gtk_text_line_is_last): use fast cached line to 
6397         see if we're the last line.
6398         (get_last_line): use cached line here too, should 
6399         speed up some random unrelated code.
6400         
6401 2000-08-30  Havoc Pennington  <hp@pobox.com>
6402
6403         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6404         signals.
6405
6406         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6407         delete_text signals. This allows the signals to be used for
6408         implementing undo.
6409
6410         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6411         provide "interactive" argument when emitting insert_text or
6412         delete_text signal.
6413         
6414 2000-08-30  Havoc Pennington  <hp@pobox.com>
6415
6416         * gtk/gtktextbuffer.c: Docs
6417
6418 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6419
6420         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6421         from switch statements, since Tor removed the enumeration
6422         value.
6423         
6424         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6425         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6426
6427 2000-08-29 Elliot Lee <sopwith@redhat.com>
6428         * */*.h: Use G_GNUC_CONST.
6429
6430 2000-08-27  Havoc Pennington  <hp@pobox.com>
6431
6432         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6433         minor indentation fixes, inserted some FIXME about stuff I
6434         realized was broken while documenting it.
6435         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6436         GTK convention  
6437
6438 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6439
6440         * gtk/testgtk.c (create_styles): Fix double free of
6441         font desc.
6442
6443 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6444
6445         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6446         
6447         * gtk/testgtk.c (create_styles): Add a test for modifying
6448         the style through gtk_widget_modify_*.
6449
6450         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6451         a function to get the current modifier style.
6452
6453         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6454         of the passed in GtkRcStyle instead of ref'ing it.
6455
6456         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6457
6458 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6459
6460         * gdk/gdkimage.h
6461         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6462         shared memory image+pixmap GdkImage type, or
6463         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6464         I am dropping that.
6465
6466         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6467         actually call gtk_init_abi_check(), passing also
6468         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6469
6470         * gtk/gtk.def
6471         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6472         New functions, used to check that the GTK+-using code has been
6473         compiled using the correct compiler and switches. In particular,
6474         with gcc one has to use the -fnative-struct switch as GTK+ is
6475         compiled with that.
6476
6477 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6478
6479         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6480         ->prev fields when merging lists. (Found simultaneously
6481         by Pawel Salek and Jakub Jelinek)
6482
6483 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6484
6485         * gdk/gdk.def
6486         * gtk/gtk.def: Add missing entries.
6487
6488         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6489         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6490
6491         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6492         function. Dummy implementation at this point.
6493
6494         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6495         rules. Undefine GTK_COMPILATION when compiling the test programs.
6496         
6497         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6498
6499 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6500
6501         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6502         to convert back and forth from UTF-8 and the "system" (or "current
6503         locale") charset when necessary. Indentation/spacing cleanup.
6504
6505 2000-08-10  Havoc Pennington  <hp@redhat.com>
6506
6507         * Makefile.am (snapshot): Change the format of the snapshot
6508         version to match glib
6509
6510         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6511         from EXTRA_DIST since it doesn't seem to exist
6512
6513 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6514
6515         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6516         version of the directory name (not the UTF-8 one) when building
6517         the path name to stat().
6518
6519 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6520
6521         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6522         PANGO_ATTR_SHAPE set.
6523
6524 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6525
6526         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6527         Peter Osterlund to simplify the code while keeping the
6528         functionality the same.
6529
6530 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6531
6532         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6533         is_viewable() test further inside the function, since removing the 
6534         window from the redraw list without clearing ->update_area
6535         was also very broken.
6536
6537 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6538
6539         * configure.in: Check for <unistd.h>.
6540
6541 2000-08-01  Martin Baulig  <baulig@suse.de>
6542
6543         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6544         to display the message that this is a development version of GTK+.
6545
6546 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6547
6548         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6549         was depending on widget->allocation instead of the width of text_area,
6550         which was incorrect for subclasses like GtkSpinButton.
6551
6552         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6553         with width == 1 tests that should be width == -1.
6554
6555 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6556
6557         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6558         (broken, Elliot, every single window blank on X) custom code with call
6559         to gdk_window_is_viewable() which a) prevents code duplicate and
6560         b) works. 
6561
6562 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6563
6564         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6565         to get the GDK_PARENT_ROOT() macro to work.
6566         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6567         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6568         of, windows that aren't shown.
6569         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6570         pointer grab stuff.
6571
6572 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6573
6574         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6575           s/gtk_main_iteration/g_main_iteration/
6576
6577           Did this already in change:
6578                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6579           don't know how it got reverted.
6580
6581 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6582
6583         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6584         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6585
6586         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6587         not gdk_pixbuf.
6588
6589 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6590
6591         * configure.in,po/{sp,sr}.po: Added Serbian files
6592
6593 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6594
6595         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6596
6597         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6598         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6599         GIOChannel implementation.
6600
6601         * gdk/win32/gdkinput.c
6602         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6603
6604         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6605         definition to match prototype.
6606
6607         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6608
6609 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6610
6611         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6612         function, to allow handling image formats that cannot be detected
6613         by looking at content alone.
6614
6615 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6616
6617         * docs/tutorial/*.gif *.jpg *.eps
6618           Update these to the same look-n-feel.
6619           Why does including images in DocBook suck so badly?
6620
6621 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6622
6623         * gtk/gtktable.c: applied patch from Phil Thompson
6624         <phil@river-bank.demon.co.uk> that enables space settings for
6625         the last row/columns as well.
6626
6627 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6628
6629         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6630         updates the license headers to the GNU Lesser General Public License,
6631         as well as updating the copyright year to 2000.
6632
6633 2000-07-26  Robert Brady  <rwb197@zepler.org>
6634
6635         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6636           and po/Makefile, was installing and looking for them under gtk20
6637           and gtk2 respectively.
6638
6639 2000-07-25  Havoc Pennington  <hp@redhat.com>
6640
6641         * gtk/testtext.c: Comment out some stuff that depends on the rest
6642         of my patches.
6643
6644 2000-07-25  Havoc Pennington  <hp@redhat.com>
6645
6646         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6647         buffer
6648
6649 2000-07-25  Havoc Pennington  <hp@redhat.com>
6650
6651         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6652         widget changes.
6653
6654         * gtk/gtktextview.h: To be consistent with usage of "line"
6655         throughout the API to mean "newline-terminated thingy", change
6656         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6657         to MOVEMENT_LINE.
6658
6659         (GtkTextView): Add flags for default editability, and whether to
6660         show the cursor. Add functions to get/set that. Add 
6661
6662         (gtk_text_view_get_iter_location): new function
6663
6664         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6665         gtktextlayout.h
6666         (g_convert): Add g_convert temporarily, will go in glib in a bit
6667         
6668         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6669         GtkTextTagTableForeach instead of brokenly using GHFunc.
6670         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6671
6672         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6673         moved to public header.
6674
6675         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6676         "invisible", since "elide" was a bad name.
6677         (gtk_text_tag_get_priority): Added
6678
6679         (GtkTextStyleValues): put this in public header, along with
6680         functions to use it.
6681
6682         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6683         longer include gtktextbtree.h.
6684
6685         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6686         gtk_text_mark_deleted
6687
6688         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6689         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6690         to make this possible. Now we only need to install
6691         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6692         (However the Makefile.am isn't changed yet because of the
6693         logistics of merging gtk-hp-patches piecemeal)
6694
6695         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6696         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6697         gtk_text_iter_get_line is now used in the public API for a
6698         different purpose.
6699
6700         * gtk/gtktextiter.h: Clean up function names to be more
6701         consistent. Always call char offset "offset" and byte index
6702         "index". A "line" is always a line number. 
6703
6704         (gtk_text_iter_is_last): new function, more efficient than 
6705         the existing way to check
6706         (gtk_text_iter_is_first): new function, also more efficient
6707
6708         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6709
6710         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6711         gtk_text_iter_forward_char, etc.
6712
6713         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6714         forward_find_tag_toggle, since this isn't a linear search
6715
6716         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6717
6718         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6719         New functions, search for a buffer substring.
6720
6721         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6722         interactive and default editable (since we need to store that info
6723         until we receive the selection data).
6724
6725         Remove all the _at_char and at_line etc. versions of functions;
6726         only have iterator versions.
6727
6728         Add _interactive() versions of functions, that consider the
6729         editability of text. (FIXME add interactive flag to the 
6730         insert/delete signals per Darin's suggestion)
6731
6732         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6733         tag table if necessary
6734
6735         Remove declaration of gtk_text_buffer_get_iter_from_string
6736
6737         (_gtk_text_buffer_get_btree): private/internal function, added.
6738         
6739
6740         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6741         (gtk_text_line_is_last): new function
6742
6743 2000-07-25  Havoc Pennington  <hp@redhat.com>
6744
6745         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6746         using GtkProgressBar. See Changes-2.0.txt for details.
6747
6748         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6749         "pulse_step" which are the equivalent of
6750         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6751         Implement new API.
6752         
6753         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6754         (use_text_format) to mark whether text set on the progress bar is
6755         a format string. Deprecate entire GtkProgress interface.
6756
6757         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6758         (gtk_progress_build_string): make this a no-op if use_text_format
6759         is FALSE
6760
6761         * docs/Changes-2.0.txt: Describe progress bar changes.
6762
6763 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6764
6765         * Makefile.am: Include the build directory.
6766
6767         * configure.in: Generate build/Makefile, build/win32/Makefile,
6768         gdk/, gdk/win32/, and gtk/makefile.mingw.
6769
6770         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6771         Add GETTEXT_PACKAGE.
6772         
6773         * gdk/gdk.def
6774         * gtk/gtk.def: Updates.
6775
6776         * gdk/gdkfont.h
6777         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6778         need them any longer.
6779
6780         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6781
6782         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6783         PANGOWIN32_LIBS and gdk_pixbuf.
6784
6785         * gdk/win32: Compiles, but no doubt doesn't work at all.
6786
6787         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6788
6789         * gdk/win32/gdkinput.c: New file, temporarily.
6790         
6791         * gdk/win32/gdkinput-win32.h: New file
6792
6793         * gdk/win32/gdkinputprivate.h: Remove.
6794
6795         * gdk/win32/gdkpango-win32.c: New file.
6796
6797         * gtk/makefile.mingw.in: New file
6798
6799         * gtk/makefile.cygwin: Removed
6800         
6801         * gtk/Makefile.am: Update accordingly.
6802
6803         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6804         made externally visible.
6805
6806         * gtk/gtkmain.c: Use it.
6807         
6808         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6809         is enough.
6810
6811         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6812
6813 2000-07-24 Elliot Lee <sopwith@redhat.com>
6814         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6815         individual backends already.
6816         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6817         again. Yes, there really is a good reason for this, if you are using the gdkregion
6818         internals, and if you're not, why do you care?
6819         * gdk/gdkwindow.c: Fix inverted condition
6820         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6821         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6822         * gtk/gtkrange.c: Redraw trough when moving.
6823         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6824         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6825
6826 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6827
6828         * configure.in: Check for mkstemp and sigsetjmp. Output
6829         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6830
6831         More work on GDK for Win32. Still in an intermediate state.
6832
6833         * gdk/makefile.cygwin
6834         * gdk/win32/makefile.cygwin: Removed.
6835         
6836         * gdk/makefile.mingw.in
6837         * gdk/win32/makefile.mingw.in: New files.
6838
6839         * gdk/Makefile.am
6840         * gdk/win32/Makefile.am: Generate and distribute them.
6841
6842         * gdk/win32/gdkwindow-win32.h
6843         * gdk/win32/gdkdrawable-win32.h
6844         * gdk/win32/gdkpixmap-win32.h: New files.
6845
6846         * gdk/win32/gdkcolor-win32.c
6847         * gdk/win32/gdkcursor-win32.c
6848         * gdk/win32/gdkdrawable-win32.c
6849         * gdk/win32/gdkgc-win32.c
6850         * gdk/win32/gdkimage-win32.c
6851         * gdk/win32/gdkprivate-win32.h
6852         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6853         Rename fields and variables called xcursor, xid, etc (these names
6854         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6855
6856 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6857
6858         * gtk/gtkentry.[ch]: Fix some problems with vertical
6859         alignment.
6860
6861         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6862         char/byte confusion.
6863
6864 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6865
6866         * gtk/gtktextview.c (changed_handler): Fix bug where
6867         redraw wasn't being done properly when height of
6868         dirty region changed.
6869
6870         * demos/Makefile.am: Remove various references to
6871         -lgmodule
6872
6873 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6874
6875         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6876         PangoAttrShape to reserve space for pixmaps, add 
6877         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6878         in the display functions.
6879         
6880         * gtk/testgtk.c (create_layout): Set some more exotic
6881         scrolled window options
6882
6883         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6884         Add function to set the shadow type of a window, to allow
6885         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6886         which don't draw their own frame.
6887
6888 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6889
6890         * docs/tutorial/package-db-tutorial.sh: New file for
6891           packaging DocBook format tutorial
6892
6893 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6894
6895         * docs/tutorial/gtk-tut.sgml: Minor updates
6896
6897         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6898
6899 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6900
6901         * gtk/gtksignal.c: Fix C++ comment.
6902
6903         * gtk/gtkimmulticontext.c
6904         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6905         don't return value from void functions.
6906
6907         * gtk/gtk.def: Add gtk_rc_style_unref.
6908
6909 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6910
6911         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6912         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6913         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6914         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6915         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6916         gtk/gtktypeutils.h: Include files outside of the extern "C"
6917         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6918         <vakatov@peony.nlm.nih.gov>.
6919
6920 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6921
6922         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6923           Completes first pass. Hurrah!
6924
6925 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6926
6927         * docs/tutorial/gtk-tut.sgml: More clean ups.
6928
6929 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6930
6931         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6932         paint the background of the text area which was accidentally
6933         removed at some point.
6934
6935         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6936           
6937          - Move most of the functionality from the theme vtable
6938            into GtkRcStyleClass and GtkStyleClass. The moved
6939            vtable functions were changed a bit in the move to
6940            work better in their new home.
6941
6942          - Get rid of the engine and engine_data fields from
6943            GtkRcStyle and GtkStyle; instead the theme
6944            engine derives theme-specific subclasses of GtkRcStyle
6945            and GtkStyle
6946
6947          - Add extra dlsym() found entry point to themes,
6948            theme_create_rc_style().
6949
6950         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6951         in gtk_style_real_copy.
6952
6953         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6954         to register a type associated with an engine. (The engine
6955         won't be unloaded as there is an instance of the type.)
6956
6957
6958 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6959
6960         * docs/tutorial/gtk-tut.sgml: Clean ups.
6961
6962 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6963
6964         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6965           of cleaning up to do.
6966
6967 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6968
6969         * gdk/testgdk.c: New file, quick hack to test backends for
6970         pixel-by-pixel correctness of the most simple graphic operations.
6971
6972 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6973
6974         * Really release 1.3.1
6975         
6976         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6977         include structure.
6978
6979 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6980
6981         * Released 1.3.1
6982
6983 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6984
6985         * gtk/gtktextlayout.c: use FALSE for size_only most
6986         of the time when calling gtk_text_layout_get_line_display()
6987         to avoid causing double reshapes when a redraw follows
6988         immediately after.
6989
6990 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6991
6992         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6993         appropriate region and gdk_window_process_updates() so trough
6994         updating doesn't lag behind the window being scrolled.
6995
6996         * gdk/gdkgc.c: Make parent_class pointer static.
6997          
6998 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6999
7000         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7001         include <string.h>.
7002          
7003         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7004         cut-and-paste error in computing memory offset for 4 channels.
7005
7006 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7007
7008         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7009         gtk_rc_append_default_pixmap_path(), since it wasn't
7010         adding an interesting path and we don't have a meaningful
7011         default for this value.
7012
7013 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7014
7015         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7016         gtk-config to gtk-config-2.0 move gtk_.m4 to
7017         gtk-2.0.m4
7018
7019         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7020         gdk/Makefile.am demos/Makefile.am: Change 
7021         library names to libgtk-1.3.la, etc, so that we
7022         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7023
7024         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7025         gdk/Makefile.am gdk/x11/Makfile.am
7026         Move include files into /usr/include/gtk-2.0, 
7027         /usr/lib/gtk-2.0/include/
7028          
7029         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7030         gtk/gtkintl.h: Change package for gettext from 
7031         gtk+ to gtk20. Put hack in autogen.sh to modify
7032         po/Makefile.in.in after gettextize to make this
7033         possible.
7034
7035         * gtk+.spec: Some updates, not tested.
7036
7037         * gdk-pixbuf/Makefile.am: Move loaders into
7038         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7039
7040         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7041         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7042         to THEMENAME/gtk-2.0/. Move engine directory  to
7043         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7044         
7045 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7046
7047         Win32 changes, still doesn't build though.
7048
7049         * gdk/makefile.cygwin
7050         * gdk/win32/makefile.cygwin
7051         * gtk/makefile.cygwin: Updates.
7052
7053         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7054         default values for fg and bg pixel as X11 does (0 and 1), not
7055         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7056         Use 0 for pen width by default (treated as 1 anyway later, but for
7057         apps that might check the value in the GdkGC).
7058         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7059         interface to gdk_gc_predraw and _postdraw.
7060
7061         * gdk/win32/gdkwin32.h
7062         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7063
7064         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7065         extraneous semicolon.
7066
7067         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7068
7069         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7070         not the Win32 bitspixel value.
7071
7072         * gdk/win32/gdkcc-win32.c:
7073         * gdk/win32/gdkcolor-win32.c 
7074         * gdk/win32/gdkprivate-win32.h
7075         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7076         GDK object structure.
7077
7078 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7079
7080         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7081         * docs/tutorial/gtk_tut_it.sgml (name): 
7082         * docs/tutorial/gtk_tut_fr.sgml (name): 
7083         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7084         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7085
7086 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7087
7088         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7089           small changes.
7090
7091 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7092
7093         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7094         a bug here, never been here and never fixed anything ;(
7095         (don't segfault if tree->root_tree is NULL, which happens prior
7096         to widget realization, but puke instead).
7097
7098 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7099
7100         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7101         add the necessary tokens.
7102
7103         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7104         (gtk_rc_style_to_style): copy thicknesses.
7105         (gtk_rc_init_style): apply thicknesses.
7106         (gtk_rc_parse_style): parse xthickness and ythickness.
7107
7108         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7109
7110         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7111         (gdk_window_new): 
7112         (_gdk_windowing_window_init): 
7113         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7114         (gdk_pixmap_create_from_data): 
7115         (gdk_bitmap_create_from_data): 
7116         (gdk_pixmap_new): 
7117         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7118         (gdk_image_new): 
7119         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7120         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7121         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7122         (gdk_colormap_get_system): 
7123         (gdk_colormap_new): 
7124         * gdk/gdkwindow.c (gdk_window_init): 
7125         * gtk/gtkstyle.c (gtk_style_new):
7126         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7127         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7128         * gtk/gtkrc.c (gtk_rc_style_new):
7129         use g_object_new() instead of g_type_create_instance() which
7130         is a private function for fundamental type implementations.
7131
7132 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7133
7134         * configure.in: Add check for db2html
7135
7136 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7137
7138         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7139         hack to set glib_debug_objects based on gtk_debug_flags.
7140
7141 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7142
7143         * INSTALL.in: Update the Prerequisites section.
7144
7145         * Makefile.am demos/Makefile.am docs/Makefile.am
7146         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7147         gdk/linux-fb/Makefile.am: Dist fixes
7148
7149 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7150
7151         * NEWS: 10,000 foot view of 1.3.1 changes.
7152
7153 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7154
7155         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7156         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7157         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7158         gdk/x11/gdkmain-x11.c: 
7159
7160         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7161         as a return value of gdk_*_grab(). Previously, we just
7162         returned the X11 values directly.
7163
7164 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7165
7166         * gdk/x11/Makefile.am: Patch from George Lebl to 
7167         install all the headers in the right place.
7168
7169 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7170
7171         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7172           initial conversion to DocBook.
7173
7174 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7175
7176         * README.win32: Improve a bit.
7177
7178         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7179         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7180         Alt+0nnn on the numpad (used to enter characters by numeric code
7181         from current DOS or ANSI codepage) working correctly, as in other
7182         Windows apps.
7183
7184         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7185         same argument validity tests as in X11 version.
7186         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7187
7188         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7189         definitions in case missing from headers.
7190
7191         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7192         destroy the window-specific cursor.
7193         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7194         calling GetModuleHandle(NULL).
7195         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7196         with CopyCursor before setting it as the window-specific
7197         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7198         also its Windows cursor) after calling this function. Destroy any
7199         previous window-specific cursor.
7200
7201 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7202
7203         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7204         font charset is iso8859-1, not iso-8859-1.
7205
7206 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7207
7208         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7209         Use g_get_charset() instead of g_get_codeset().
7210
7211         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7212         Comment out some strdup'ing functions to keep timj
7213         happy until we finish fighting this out.
7214
7215 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7216
7217         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7218         <= width or height.
7219
7220         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7221         from 1.2 for parent/child states.
7222
7223         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7224         of typos.
7225
7226         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7227         event structures, replace with a generic axes field. Replace 
7228         deviceid/sourec with GdkDevice *device.
7229
7230         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7231         to extract particular axis use value from event. (Also
7232         can be used for normal X/Y.)
7233
7234         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7235         allow for arbitrary number of axes, namespace everything
7236         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7237         everywhere.
7238
7239         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7240         Get rid of the gdk_input_vtable setup if favor of simply
7241         defining the functions in gdkinput-none/gxi/xfree.c in
7242         a similar fashion to the way that the port structure is 
7243         done.
7244
7245         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7246         for new event structures. 
7247
7248         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7249         new device interfaces.
7250
7251 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7252
7253         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7254         set the initial text.
7255
7256         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7257         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7258         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7259         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7260
7261         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7262         pango_layout_set_font_description to simplify.
7263
7264 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7265
7266         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7267         pango_layout_set_font_description to simplify.
7268
7269 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7270
7271         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7272         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7273         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7274
7275         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7276         PANGO_PIXELS() macro.
7277
7278 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7279
7280         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7281         that returns a PangoContext owned by the widget and updated to
7282         match future changes in the widget. Also, make 
7283         gtk_widget_create_pango_layout() use this context. If we ever
7284         add a ::changed signal to PangoContext, this will make things
7285         much more convenient. 
7286
7287         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7288         in the appropriate places instead of destroying the layouts and
7289         creating new ones.
7290
7291         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7292         in a few strategic places.
7293
7294 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7295
7296         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7297         gtk_widget_size_request() on reparented child, if one. Otherwise,
7298         queue_resize() on the child never results in it getting size-requested
7299         at all.
7300
7301         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7302         in option menus, so that (with luck) people won't copy it into
7303         their apps in the future.
7304
7305         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7306         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7307         a lot of problems with changing the size of the menu's menu
7308         items after adding it to the option menu.
7309
7310         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7311
7312         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7313         the text direction for a widget changes.
7314
7315         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7316         ::direction_changed to get rid of various hacks.
7317
7318 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7319
7320         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7321         name.
7322
7323 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7324
7325         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7326         flag to the structure. Do not call XFreePixmap on pixmaps created
7327         by gdk_pixmap_foreign_new().
7328
7329 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7330
7331         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7332         value using GdkRGB functionality given GdkColormap and GdkColor.
7333         (name not final, waiting for inspiration.)
7334         
7335         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7336         set the foreground/background of a GC using the GC's colormap
7337         and GdkRGB. (name not final, waiting for inspiration.)
7338
7339         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7340         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7341
7342         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7343         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7344         purely a function of the corresponding colormap. Make
7345         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7346
7347         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7348         gdk_pixbuf_*create_from_xpm_* in terms of
7349         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7350         code.
7351
7352         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7353         advantage of the new draw_rgb_32_image_dithalign.
7354
7355         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7356
7357         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7358         on each created GC.
7359
7360         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7361
7362         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7363         which we initialize from the drawable when the GC is created,
7364         if the drawable has a colormap.
7365
7366         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7367
7368         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7369
7370         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7371
7372 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7373
7374         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7375         actually returning expose events, make sure to set
7376         the count field properly.
7377
7378         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7379         accidentally reintroced bug which always cleared
7380         the graphics_exposures value. 
7381
7382 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7383
7384         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7385
7386 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7387
7388         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7389
7390 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7391
7392         * docs/faq/gtk-faq.sgml: Start of Section 6.
7393
7394 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7395
7396         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7397         
7398         (Fixes problem with drawing childless frames. Pointed out
7399         by and a first patch from Anders)
7400         
7401         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7402         compute a child_allocation, even if we don't have a child.
7403
7404         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7405         Always chain to the parent's impl, even if we don't have a child.
7406
7407 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7408
7409         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7410         use multiple parts of it instead of creating a bunch of separate
7411         segments, since the maximum number of segments per system is not
7412         large. (This might be worth backporting to GTK+-1.2.x if we make a
7413         new release )
7414
7415         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7416         structure in preparation for per-colormap GdkRGB.
7417
7418         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7419         to False when we get EINVAL from shmget so that the caller of
7420         gdk_image_new can retry with a smaller segment size.
7421
7422 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7423
7424         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7425
7426 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7427
7428         * configure.in: make the current version number 1.3.1 (binary age 0,
7429         interface age 0).
7430         
7431         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7432         gtkcompat.h is all we want.
7433
7434         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7435         GLib primitive types. fixed g_type_register_fundamental() argument
7436         ordering.
7437
7438         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7439         compiles.
7440
7441         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7442         object code cleanup, comment trigraph fixes, etc...
7443
7444 2000-06-23  Havoc Pennington  <hp@redhat.com>
7445
7446         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7447         instead of making up a bogus name for first_para_mark
7448
7449         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7450         0 as a context ID
7451
7452 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7453
7454         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7455
7456 2000-06-21  Havoc Pennington  <hp@pobox.com>
7457
7458         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7459         we didn't check window->bg_pixmap != GDK_NO_BG.
7460
7461         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7462         gdk-pixbuf
7463
7464 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7465
7466         * docs/faq/gtk-faq.sgm: Move file to here.
7467           TODO: Update Makfile.am 
7468
7469 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7470
7471         * docs/gtk-faq.sgm: Add Section 2
7472
7473 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7474
7475         * docs/gtk-faq.sgm: New file. Start of DocBook
7476           version of the FAQ.
7477
7478 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7479
7480         * configure.in (GDK_PIXBUF_MAJOR): Define version
7481         numbers for GDK_PIXBUF_*, as they get substituted
7482         into a header file. Need to consider versioning
7483         for gdk-pixbuf more carefully later.
7484
7485 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7486
7487         Work with srcdir != builddir.   
7488         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7489         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7490         * demos/testpixbuf.c: Likewise.
7491         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7492         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7493         <gdk/x11/gdkx.h>.
7494         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7495         "gdk-pixbuf.h".
7496         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7497
7498 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7499
7500         * TODO.xml: Change 1.4 version numbers to 2.0.
7501
7502 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7503
7504         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7505         fixups to GTK+ standard.
7506
7507 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7508
7509         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7510         gdk-pixbuf.
7511
7512         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7513         fixups for GObject.
7514
7515         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7516         gdk-pixbuf with GDK dependencies moved into GDK.
7517         
7518         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7519         move gdk-pixbuf-loader here until GObject has signals.
7520
7521         * demos/: New directory of demos. Move demos from
7522         gdk-pixbuf here.
7523
7524         * demos/pixbuf-init.c: Small bit of code to check for
7525         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7526         set GDK_PIXBUF_MODULEDIR appropriately.
7527
7528         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7529         define which no longer makes sense.
7530
7531 2000-06-21  Havoc Pennington  <hp@redhat.com>
7532
7533         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7534         gtk_get_default_language
7535
7536         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7537         new function to get the default language
7538
7539         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7540         s/gtk_text_view_style_values/gtk_text_style_values/
7541
7542         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7543         Add a "language" field to tags.
7544
7545         (gtk_text_tag_set_arg): Fix bug in setting
7546         "bg_full_height_set" tag.
7547
7548 2000-06-21  Havoc Pennington  <hp@redhat.com>
7549
7550         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7551         in the interfaces
7552
7553         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7554         stuff instead when possible.
7555
7556         * gtk/gtktexttypes.h: Delete some unused constants
7557
7558         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7559         testtextbuffer.c: use glib instead of custom unicode routines
7560
7561 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7562
7563         * docs/es/: Removed mistakenly added generated sgml
7564
7565         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7566         Remove outdated info files.
7567
7568         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7569         Moved tutorial files into subdir
7570
7571         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7572         subdir.
7573
7574         * docs/man/gtk_button.pod: Remove. (contents will be
7575         integrated into gtk-reference button page.)
7576
7577         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7578         docs/faq/Makefile.am: Adjust for new organization
7579
7580 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7581
7582         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7583         not $(MKINSTALLDIRS)
7584
7585 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7586
7587         * gtk/testgtk.c (create_text): Finish the job Elliot started
7588         of removing font setting test for text widget. (Since text widget
7589         and GdkFont are not deprecated, and cause portability problems.)
7590
7591 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7592
7593         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7594         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7595         Remove use of libunicode in favor of new GLib functions.
7596
7597         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7598         nano-x, framebuffer. The X11 include is just a hack until we get
7599         the necessary functions in gdkcolor.h, so there is no reason to
7600         add other includes of platforms.
7601
7602         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7603         window bigger than the screen change.
7604
7605         * gtk/testgtk.c: Revert some random changes from Elliot
7606         that had no particular point and were causing testgtkrc
7607         not to function correctly.
7608         
7609         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7610         because GdkSegment and GdkRegionBox have the same fields,
7611         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7612         results in clearer code.
7613
7614         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7615         gdk_input_translate_coordinates): Fix missed GdkObjectification
7616
7617 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7618
7619         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7620         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7621
7622 2000-06-20  Havoc Pennington  <hp@redhat.com>
7623
7624         * modules/linux-fb/Makefile.am: Make this compile
7625         without framebuffer enabled
7626
7627         * gdk/linux-fb/Makefile.am: Add conditional to not build
7628         framebuffer unless specified in configure
7629
7630         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7631         the size of the target instead of source if -1 was passed for
7632         width/height
7633
7634         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7635         width/height confusion.
7636
7637 2000-06-19  Havoc Pennington  <hp@redhat.com>
7638
7639         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7640         GDK_DRAWABLE_XID. In the future, we probably want to make it
7641         faster with G_DISABLE_CHECKS turned on.
7642
7643 2000-06-14  Havoc Pennington  <hp@redhat.com>
7644
7645         * gdk/Makefile.am: add gdkpixmap.c
7646
7647         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7648         s/gdk_image_init/_gdk_windowing_image_init
7649
7650         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7651         ref/unref
7652
7653         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7654
7655         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7656         GdkWindowType is now non-deprecated; 
7657         change gdk_window_get_type() compat to be
7658         gdk_window_get_window_type().
7659
7660         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7661
7662         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7663         virtual GObject. Make all functions call into the vtable.
7664         Move gdk_image_put() guts in here. Remove GdkDrawableType
7665         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7666         draw_image, get_depth, get_size, set_colormap, get_colormap,
7667         get_visual added to the vtable.
7668         
7669         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7670         GObject. Virtualize everything. 
7671         (gdk_gc_new_with_values): remove check for destroyed window,
7672         because now GdkWindow::create_gc will check this.
7673         (gdk_gc_set_values): New function to set GC values, this 
7674         was already implemented but wasn't in the header
7675
7676         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7677
7678         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7679         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7680         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7681         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7682         _gdk_windowing_window_init, rename gdk_image_init to
7683         _gdk_windowing_image_init.
7684         
7685         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7686         (gdk_draw_layout): Remove check for destroyed window, 
7687         because all the drawable methods already check it.
7688         
7689         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7690         Add gdkpixmap.c which contains implementation of GdkDrawable
7691         virtual table (by chaining to a platform-specific implementation
7692         object).
7693         
7694         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7695         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7696         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7697         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7698         GdkColormapPrivate. 
7699
7700         * gdk/gdktypes.h: #include <glib-object.h>
7701
7702         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7703         Move most functionality to platform-specific implementation
7704         object. GdkWindow itself now handles the backing store, then
7705         chains to the platform-specific implementation.
7706         (gdk_window_get_window_type): return GdkWindowType of the window.
7707         (gdk_window_peek_children): New routine, returns the children of 
7708         a GdkWindow
7709         (gdk_window_get_children): Was in X11-specific code and did 
7710         XQueryTree. Changed to simply return a copy of window->children; 
7711         so it can go in cross-platform code.
7712         
7713         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7714
7715         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7716         GdkColormap; just changed to use the new private data instead
7717         of casting to GdkColormapPrivate.
7718
7719         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7720         gdk_cursor_new().
7721
7722         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7723         (private data member in the GObject). 
7724         (xdnd_manager_source_filter): Function had broken 
7725         error handling, fix it (use gdk_error_trap_push).
7726
7727         * gdk/x11/gdkdrawable-x11.c: This file now implements
7728         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7729         base class is purely for the convenience of the X port,
7730         and not part of the interface to cross-platform GDK.
7731
7732         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7733         
7734         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7735         specific to X, and returned by the create_gc virtual method
7736         of GdkDrawableImplX11. 
7737         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7738         rather than gchar, this was also changed in the GdkGC vtable.
7739         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7740         mask is 0, return immediately, instead of checking every flag.
7741         This is faster, and keeps us from segfaulting if values is NULL
7742         and the mask contains some nonzero flags.
7743
7744         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7745         GdkWindow.
7746
7747         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7748         GdkWindowPrivate is gone.
7749
7750         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7751
7752         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7753         remove the image_put stuff that got transferred to GdkDrawable.
7754         
7755         * gdk/x11/gdkinput.c: renamings
7756
7757         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7758
7759         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7760
7761         * gdk/x11/gdkprivate-x11.h: indentation fixes
7762
7763         * gdk/x11/gdkproperty-x11.c: renamings
7764
7765         * gdk/x11/gdkselection-x11.c: renamings
7766
7767         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7768         implements the platform-specific "impl" object.
7769         Moved gdk_window_get_children to gdk/gdkwindow.c
7770
7771         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7772         that no longer exist. Add declaration of GdkGCX11 object here.
7773         Fix all the macros to still work. 
7774
7775         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7776         GdkDragContext from the boxed types since they are now GObjects.
7777
7778         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7779         moved xthickness/ythickness into the instance. GtkStyleClass
7780         functions are now in the standard vtable for GtkStyle, so you have
7781         to create a GObject subclass to write a theme engine.
7782         (gtk_style_copy): fixed a leaked PangoFontDescription
7783         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7784         can be the standard GObject function.
7785         
7786         * Throughout GTK:
7787         s/style->klass->[xy]thickness/style->[xy]thickness
7788         s/pango_layout_unref/g_object_unref/
7789
7790         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7791         
7792         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7793         accessing GDK internals.
7794
7795         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7796         accessing GDK internals.
7797
7798 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7799
7800         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7801
7802         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7803         problem by calculating event position relative to the trough
7804         rather than the slider.
7805         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7806
7807         * gdk/gdkgc.h: Add GDK_NOR.
7808
7809         * configure.in, Makefile.am: Add modules top level dir
7810         * configure.in: Only use pangox library if building x11 target.
7811         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7812
7813 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7814
7815         * gtk/gtkcolorsel.c: Change private class member to be named
7816         private_data throughout the file.
7817
7818         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7819         private_data to avoid clashing with keyword.
7820
7821 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7822
7823         * gdk/gdkdnd.h: Add comment to remove warning.
7824
7825 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7826
7827         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7828         Byelorussian language; changed the Makefile and file names 
7829         to reflect that.
7830
7831 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7832
7833         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7834         rather than gdk_window_hide; this makes things work
7835         correctly if the window is programmatically hidden while
7836         iconified.
7837
7838 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7839
7840         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7841         cut and paste typo where wrong pixmap was being
7842         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7843
7844 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7845
7846         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7847         Add helper function to compute format / bytes 
7848         relationship. Use in a couple places to fix up
7849         errors which assume 8 * format.
7850
7851         * gtk/gtkselection.c (gtk_selection_request): Use 32
7852         rather than 8 * sizeof (GdkAtom), to work correctly
7853         on Alpha.
7854
7855 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7856
7857         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7858         libgtk.la
7859         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7860         versions
7861
7862         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7863         checking macros return NULL since the function has a return value.
7864
7865 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7866
7867         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7868         GTK+ from building at all.
7869
7870         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7871
7872 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7873
7874         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7875         gtk/Makefile.am: make it possible to configure gtk for different
7876         targets on the same platform. The library name is now 
7877         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7878         flag. Only the x11 target compiles right now.
7879         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7880         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7881         * gdk/nanox/gdk*generic*: delete generic region code.
7882         * gdk/linux-fb/gdk*generic*: delete generic region code.
7883         * README.nanox: update information.
7884         
7885 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7886
7887         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7888         prepend not append. (Pointed out by Brett Hall.)
7889
7890 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7891
7892         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7893
7894 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7895
7896         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7897         need this later, and this makes sure that the atexit for
7898         glib gets called after that for GDK, so atexits are
7899         properly ordered for object leak checking.
7900
7901         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7902
7903         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7904         pango_x_shutdown_display()
7905
7906         * gtk/simple.c (main): Close window on destroy.
7907
7908 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7909
7910         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7911         to treat initial creation different from setting with 
7912         regards to the graphics-exposures parameter, so add a parameter
7913         indicating whether this is initial or not.
7914
7915 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7916
7917         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7918         to sort of work by adding an extra return_exposes arg
7919         to gdk_event_translate() - it might be better to simply
7920         deprecate the function altogether and force people to rewrite
7921         without it. gdk_window_scroll() handles most of it, and where
7922         gdk_window_scroll() doesn't work, simply redrawing more does.
7923
7924         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7925         assertion.
7926
7927         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7928
7929         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7930         bunch of pretty much useless /* Print debugging info */ comments 
7931         which had drifted away from the code they were commenting.
7932
7933 2000-06-02  Havoc Pennington  <hp@pobox.com>
7934
7935         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7936         is in working order.
7937         
7938         * gtk/testtext.c: Change to reflect anonymous mark API
7939
7940         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7941
7942         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7943         field, which was unused.
7944
7945         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7946         saves some typing.
7947
7948         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7949
7950         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7951         flag on the insertion point and selection bound
7952
7953         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7954         make mark-manipulation functions take a GtkTextMark* instead of a
7955         mark name.
7956         
7957         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7958         GtkTextMarkBody; will be used to detect attempts to delete
7959         the permanent marks (insert and selection bound)
7960
7961         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7962
7963 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7964
7965         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7966         flag to on.
7967
7968         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7969         Honor DOUBLE_BUFFRED_FLAG
7970
7971         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7972         function to set the DOUBLE_BUFFERED flag.
7973
7974         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7975         or not exposes done on the widget should be double-buffered.
7976
7977         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7978         to be what would be expected. (Fixes problem with a
7979         g_return_if_fail() validating a TextDirection enumeration)
7980
7981 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7982
7983         * gtk/gtkwidget.c: Remove all references to 
7984         offscreen flag which was no longer used.
7985
7986         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7987
7988         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7989         for non-null label_widget->parent.
7990
7991         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7992         which no longer was used.
7993
7994         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7995
7996         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7997         for null arguments.
7998
7999         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8000         check for destroyed windows.
8001
8002 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8003
8004         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8005         the slave context there.
8006
8007         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8008         identical to GtkWindow.
8009
8010 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8011
8012         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8013         pangox to here, so we can write them independent of rendering
8014         system, using GDK primitives.
8015
8016         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8017         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8018         since we have a rendering-system independent implementation in
8019         terms of draw_glyphs().
8020         
8021         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8022         function to render a single line.
8023
8024         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8025         into ../gdkpango.c, which simplifies things, since we
8026         don't have to deal with raw X gc's.
8027
8028 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8029
8030         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8031         get the logical attributes for a given GtkTextLine.
8032
8033 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8034
8035         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8036         g_locale_get_codeset() to g_get_codeset() change.
8037
8038 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8039
8040         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8041         descriptions.
8042
8043         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8044         the entry.
8045
8046         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8047         redoing (vastly simplifying) for Pango. Still needs quite
8048         a bit of work. (Size selection is currently poor. List of 
8049         predefined sizes is not a good idea, since all of these
8050         sizes won't necessarily be distinct.)
8051
8052 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8053
8054         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8055         CODESET results for LANG=C.
8056
8057 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8058
8059         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8060         which takes a stringized pango font description;
8061         ignore the older 'font' and 'fontset' declarations.
8062
8063         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8064         field with a GdkFont derived via gdk_font_from_description(),
8065         for compatibility. (Should we just remove it entirely?
8066         Probably too much compatibility breakage, but people
8067         should be migrating to the new Pango stuff as quickly
8068         as possible.)
8069
8070 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8071
8072         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8073
8074 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8075
8076         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8077         redoing; there are some bugs in size allocation right
8078         now, the semi-existant distinction between header / day
8079         fonts was removed, but, with Pango, could actually
8080         be made functional in a nice way.
8081         
8082         * gtk/testcalender: Move calender from examples into this
8083         directory as a test program. (We really need to restrcture
8084         testgtk into a whole directory full of tests for every
8085         widget or functionality group, separated into multiple .c
8086         files.)
8087
8088 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8089
8090         * gtk/testgtk.c (file_exists): Fix stupid typo that
8091         was keeping RC file from being loaded.
8092
8093         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8094         RC file font code.
8095
8096 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8097
8098         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8099         Add function to load a GdkFont from a PangoFontDescription.
8100
8101 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8102
8103         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8104         variable should be of type GdkEventPrivate.
8105
8106 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8107
8108         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8109         to have any widget for the label, use a GtkLabel widget
8110         to display the text. (Based partially on a patch from
8111         Anders Carlson.)
8112
8113         (Quite a bit of code reorganization - strip 90% of the
8114         guts out of gtkaspectframe and add a single virtual
8115         func to GtkFrameClass - compute_child_allocation.)
8116
8117 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8118
8119         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8120         (Removed clist->row_center_offset field because caching
8121         it wasn't saving time or code, added private function
8122         _gtk_clist_create_cell_layout()).
8123
8124 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8125
8126         * gtk/gtkaccellabel.c: Pangoized.
8127
8128         * gtk/[hv]ruler.c: Pangoized
8129
8130 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8131
8132         * gtk/gtkfilesel.c (gtk_file_selection_init):
8133         Use gtk_clist_set_column_auto_resize() to remove need
8134         need for manual column width computations.
8135
8136 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8137
8138         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8139         ensuring Pango correctness, and considerably simplifying the
8140         code.
8141         
8142         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8143
8144         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8145         getting of numbers of lines.
8146
8147         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8148         to the actual requested width of the lable, not to the wrap
8149         width we set.
8150
8151         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8152
8153         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8154           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8155
8156         * gtk/gtktextview.c: Fix structure inheritance.
8157
8158         * gtk/gtkprogressbar.c: Pangoize.
8159
8160 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8161
8162         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8163         in a function.
8164
8165         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8166         bug with computing line tops.
8167
8168         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8169
8170 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8171
8172         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8173         and y_offset coordinates to do what we need now. (The offset between
8174         buffer and layout coordinates has been reintroduced, but is a 
8175         bit different than before.)
8176
8177         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8178         handle the adjustments ourselves, and scroll as necessary using
8179         the new gdk_window_scroll().
8180         
8181         The advantage of this is that when we are incrementally revalidating,
8182         we are essentially rearranging things around the visible portion
8183         of the screen. With the old setup, the visible portion of the
8184         screen was moved around in the layout, so scrolling and redrawing
8185         to track that caused jumping of the display. Since we now
8186         control the scrolling ourselves, we can suppress this and
8187         only redraw when things actually change.
8188
8189 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8190
8191         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8192         the region not just redisplay it after-all, since we store the
8193         cursors in the LineDisplay. (Ugly interactions here between
8194         GtkLayout and GtkTextBTree here.)
8195         
8196         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8197
8198 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8199
8200         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8201         Added function to scroll contents of a window while keeping the
8202         window constant. Works by XCopyArea or guffaw-scrolling depending
8203         on the details of how the window is set up. (guffaw-scrolling
8204         still needs to be filled in.)
8205
8206 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8207
8208         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8209         move the debugging that was tied to a global variable
8210         to that.
8211
8212         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8213
8214         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8215         validated flag, in line data instead of setting height/width to
8216         -1. This allows us to perform operations with partially invalid
8217         buffer (using the old size for invalid lines) and thus to do
8218         incremental vaidation. Keep height/width aggregates up to date
8219         when deleting text and rebalancing the tree.
8220
8221         * gtk/gtktextbtree.[ch]: Add functions validate a line
8222         (gtk_text_btree_validate_line), and to validate up
8223         to a number of pixels (gtk_text_btree_validate).
8224
8225         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8226         that indicates that something is changed and a revalidation
8227         pass is needed. Change ::need_repaint to ::changed, and
8228         make it take old and new yranges instead of a rectangle.
8229
8230         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8231         the line_data_destroy() function from 
8232         gtk_text_btree_add_view() to a virtual function in 
8233         GtkTextLayout
8234
8235         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8236         since we are handling partial repaints in a different fashion
8237         now.
8238
8239         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8240         of the selection instead of queueing a repaint on the
8241         entire widget.
8242
8243         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8244         get_selection_bounds() down to btree, make the function
8245         in buffer a wrapper around the btree function.
8246
8247         * gtk/gtktextlayout.[ch]: Add functions to check if the
8248         layout is valid and to recompute either a range of pixels
8249         aroudn a line or a certain total number of pixels.
8250
8251         * gtk/gtktextlayout.[ch]: Cache a single line display;
8252         now that we only redraw the needed portions, the hit rate
8253         for this cache is quite high.
8254         
8255         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8256         on the screen so that when re-laying-out the buffer, we can
8257         keep the same place. This requires connecting to ::value_changed
8258         on the adjustments
8259
8260         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8261         the buffer after we receive an ::invalidated signal.
8262         
8263 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8264
8265         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8266         to max of allocation and layout size, not just to the
8267         layout size.
8268
8269         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8270         Invalidate window so it gets redrawn properly.
8271
8272         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8273         to mean the entire window.
8274
8275         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8276         into public header.
8277
8278 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8279
8280         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8281         to get the name of a mark.
8282
8283         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8284         to find the paragraph from a y position.
8285
8286 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8287
8288         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8289         nodes have width/height >= 0, not > 0.
8290
8291 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8292
8293         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8294         Add a size_only flag, so when we only need the size, we don't create
8295         useless appearance attributes.
8296
8297         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8298         duplicate setting of font description.
8299
8300         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8301
8302 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8303
8304         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8305         EXTRA_DIST. It does not work well when the file that
8306         everything depends on is not in the tarball.
8307
8308 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8309
8310         * gtk/testgtk.c: Some hacks and fixes so that it basically
8311         works when not sitting in the GTK+ build tree.
8312
8313 2000-05-03  Havoc Pennington  <hp@redhat.com>
8314
8315         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8316         Properly determine the ordering of the tag root and the current
8317         line within the tree. Previous algorithm only worked if the tag
8318         root's immediate parent was the common root of both the current
8319         line and the tag root.
8320
8321 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8322
8323         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8324         alignment.
8325
8326         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8327         the widget text directional dynamically.
8328
8329         * gtk/gtktextview.[ch]: Added functions to get and set default
8330         wrap mode.
8331
8332 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8333
8334         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8335         in cursor location computation.
8336
8337 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8338
8339         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8340         vadjusment values properly when layout gets smaller.
8341
8342         * gtk/gtktextview.c (need_repaint_handler): Areas being
8343         passed in are far completely inaccurate, and sometimes
8344         too small, so, for now, just queue a redraw on the
8345         whole visible region.
8346
8347 2000-04-25  Havoc Pennington  <hp@redhat.com>
8348
8349         * gtk/gtktextbtree.c (summary_destroy): new function to 
8350         destroy tag summary nodes
8351         (gtk_text_line_next_could_contain_tag): this function was 
8352         totally broken if the line passed in wasn't below the tag
8353         root. Fix it.
8354         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8355         "wildcard" case, we have to do a linear scan. Blah.
8356         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8357         we have to do the linear scan
8358         (tag_removed_cb): When a tag is removed from the tag table, 
8359         remove the GtkTextTagInfo node from the btree.
8360         (gtk_text_btree_spew): Implement the spew function, for 
8361         our debugging pleasure.
8362
8363 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8364
8365         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8366         a problem with referring to the wrong buffer.
8367
8368         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8369
8370         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8371         font description to gtk_style_new() - otherwise things
8372         don't work without a .gtkrc file.
8373
8374         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8375         tags table if we create it ourself, too.
8376
8377         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8378         it was conflicting with XKB modifiers.
8379
8380         * gtk/gtktextview.[ch]: Add simple support for 
8381         GtkIMContext.
8382
8383 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8384
8385         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8386         with deletion from last commit.
8387
8388 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8391         in the context from the current locale.
8392         
8393         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8394         context, not hardcoded value.
8395
8396         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8397         not logical.
8398
8399 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8400
8401         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8402         attributes - that doesn't handle partial-glyph selection
8403         properly. Instead use new pango_layout_line_get_x_ranges()
8404         functionality to draw the selection.
8405
8406         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8407         now properly handles out-of-range coordinates.
8408
8409         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8410
8411         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8412         public.
8413
8414         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8415         for paragraphs opposite to the base direction of the widget.
8416
8417         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8418
8419         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8420         causes Arabic words to reshape as you cursor through.
8421
8422         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8423         cursor position when moving vertically with the arrow keys and
8424         scrolling with page-up/page-down. (Arrow keys save only the X,
8425         scrolling saves both X and Y.)
8426
8427         This means you can line-up / line-down or page-up / page-down
8428         without losing your place, and also that moving vertically
8429         with the cursor keys keeps the same X position, not the same
8430         character count:
8431
8432         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8433         arrow keys move by display lines, not paragraphs.
8434
8435 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8436
8437         * gtk/gtklayout.c: Make sure that the bin window is at least
8438         as big as the allocation. (Should we also make sure that the
8439         bin window is big enough to completely cover widget->window?)
8440
8441         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8442         function to get the onscreen rectangle.
8443
8444         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8445         for offsets in window coordinates.
8446
8447 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8448
8449         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8450         confusion.
8451
8452         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8453         from the widget direction.
8454
8455         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8456         Add a "direction" attribute.
8457
8458         * gtk/gtktextview.c: global s/tkxt/text_view/.
8459
8460         * gtk/testtext.c: Added long block of text in Arabic, to test out
8461         the direction attributes. (Some problems with the shaping system
8462         for arabic become obvious - like the fact the cursor splits words
8463         into unjoined pieces.)
8464
8465 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8466
8467         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8468
8469         * gtk/gtktextlayout.c: Fix up alignment.
8470
8471         * gtk/testtext.c: Add some tests for centering, wrapping.
8472
8473 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8474
8475         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8476         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8477         If we wrote GTK+-specific layout-render function this could just replace
8478         the draw_layout() operation in the vtable.
8479
8480         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8481         pango_layout_get_cursor_pos() and use that function.
8482
8483         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8484         is a non-static symbol.
8485
8486         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8487         with gtk_text_btree_find_line_by_y()
8488
8489         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8490         renderer that handles GtkTextAppearance attributes.
8491
8492         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8493
8494           - Move the values in the style that don't affect geometry into a
8495             GtkTextAppearance structure.
8496           - Change underline to take a PangoUnderline and "font" a string
8497             representation of a font description
8498           - Add a "font_desc" attribute which takes a FontDescription structure.
8499
8500         * gtk/gtktextlayout.[ch]:
8501
8502           - Get rid of the display-line list per each line. Instead, we
8503             generate, on demand, a GtkTextLineDisplay structure which]
8504             contains a PangoLayout * and other necesary information
8505             (offsets, cursor locations) for displaying a paragraph.
8506           - Get rid of the code to wrap lines, create display chunks,
8507             etc. Instead, we just go through a paragraph and convert
8508             it into the necessary inputs to a PangoLayout.
8509           - Implement a new attribute type, GtkTextAttrAppearance. This
8510             holds a GtkTextAppearance, and is used to pass colors, 
8511             stipple, etc, through from the layout to the display without
8512             having to use lots and lots of individual attributes.
8513           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8514             in terms of PangoLayout functions.
8515         
8516         * gtk/gtktextview.c: 
8517          
8518           - Handle passing the necessary PangoContext to the layout
8519           - Some fixups in painting to deal with the automatic backing store
8520             and offsetting of GTK+-1.4
8521           - Add a style_set handler so that the default style reacts
8522             properly to theme changes.
8523         
8524         * gtk/gtktext?*.[ch]: Random code-style fixes.
8525
8526         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8527
8528 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8529
8530         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8531         in original form preparatory to Pango-ization and gdkimcontext-ization.
8532
8533 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8534
8535         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8536         so that we can derive from gtkimcontext in language bindings properly.
8537
8538 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8539
8540         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8541         Add a compose table including (almost) all the compose combinations
8542         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8543         data in the XIM implementation.
8544
8545         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8546         Moved functions to convert keyvalues from and to unicode here from
8547         the win32 port and made them public.
8548
8549 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8550
8551         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8552
8553 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8554
8555         * gtk/gtkimcontext.[ch]: Base class for new input context system
8556
8557         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8558         the real input context implementation to be loaded from modules
8559         and switched on the fly.
8560
8561         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8562         context that just does direct keysymbol => unicode translation.
8563
8564         * gtk/gtkentry.[ch]: Start switching editing over to using
8565         GtkInputContext. (No handling of preedit yet.)
8566
8567 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8568
8569         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8570         many substitutions. (klass should not be subsituted.)
8571
8572 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8573
8574         * configure.in: Add checks for Pango
8575
8576         * configure.in docs/Makefile.am: Add test for sgml2html
8577         and allow 'make dist' without building html, but print out
8578         warnings in that case. (For making snapshots)
8579
8580         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8581         Add Pango libraries and C flags
8582
8583         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8584         Add function (gdk_draw_layout) to draw a pango layout.
8585
8586         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8587         for getting Pango contexts for GDK.
8588
8589         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8590
8591         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8592         editing.
8593
8594         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8595         keysym => unicode translations. More languages can be added
8596         here, but real input-method support is needed.
8597
8598         * docs/Changes-1.4.txt: Added note about entry behavior.
8599         
8600         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8601         to set the reading direction for a widget and the global direction.
8602         Add test which allows toggling the global direction. Two private
8603         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8604
8605         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8606           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8607
8608         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8609
8610         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8611         underlining now handled by Pango.
8612
8613         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8614         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8615         is temporary.)
8616
8617         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8618         convenience functions for creating contexts and layouts for widgets.
8619
8620         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8621
8622 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8623
8624         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8625         titles to be active, even if they aren't visible.
8626         (gtk_clist_column_titles_passive):  Ditto.
8627
8628 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8629
8630         * gtkmenu.c:
8631         * gtkmenu.h:
8632         * gtktypeutils.h: Spelling/grammar fixes in comments.
8633
8634 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8635
8636         * gdk/nanox/*.h: add missing header files.
8637
8638 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8639
8640         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8641         send_event to TRUE.
8642         (gtk_drawing_area_size): queue a resize.
8643
8644 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8645
8646         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8647         the handlers, also invalidate them. bug nailed down by Karl Nelson
8648         <kenelson@ece.ucdavis.edu>.
8649
8650 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8651
8652         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8653         "(nil)" foundries, patch from Grigorios Magklis.
8654
8655         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8656         on non-available fonts, based on a patch by Grigorios Magklis
8657         <maglis@cs.rochester.edu>.
8658
8659 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8660
8661         * gdk/x11/gdkregion-generic.c: If a region does not have any
8662         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8663         instead of GDK_OVERLAP_RECTANGLE_IN.
8664
8665 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8666
8667         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8668         OFFSCREEN, as it is no longer necessary.
8669
8670 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8671
8672         * gtk/gtkcolorsel.c: Patch from David Santiago
8673         <mrcooger@cyberverse.com> to change things so that the 
8674         indicator of the active palette entry is done independently,
8675         not via the focus, since it should always be visible.
8676
8677 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8678
8679         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8680         refcount leaks as in the X11 backend.
8681
8682         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8683         cosmetics.
8684
8685         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8686         backend. Add _gdk_windowing_window_destroy().
8687
8688         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8689         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8690         either, but these probably do exist on nanox?)
8691         
8692         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8693         which isn't necessarily defined by <math.h>.
8694
8695         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8696         ancestry past GtkObject.
8697
8698         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8699         from DLL on Win32.
8700
8701         * gtk/gtk.def: Update corresponding to recent changes.
8702
8703         * gtk/makefile.{cygwin,msc}: Updates.
8704
8705 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8706
8707         * docs/Changes-1.4.txt: A bit of editing.
8708
8709         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8710         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8711         to clear the update area for the window, and clear it
8712         when hiding a window.
8713
8714         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8715         if window destroyed.
8716
8717         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8718
8719         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8720         gdk_window_destroy() to the generic code, since there was a lot of 
8721         window-system-independent logic it in. Add a function:
8722         
8723          _gdk_window_destroy() 
8724
8725         to the internal API to destroy a window without unreferencing it.
8726         Add a function:
8727
8728          _gdk_windowing_window_destroy()
8729
8730         That does the windowing-system-dependent part of destroying 
8731         the window.
8732
8733 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8734
8735         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8736
8737 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8738
8739         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8740         Make gtk_widget_shape_combine_mask() keep a reference count on
8741         the pixmap since it keeps it around.
8742
8743 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8744
8745         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8746         leak.
8747
8748         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8749         leak with event filters.
8750
8751 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8752
8753         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8754         signal handlers with the right data arguments. (Fixes
8755         some warnings when a widget was repeatedly set as a drag
8756         destination.)
8757
8758         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8759         window so we can avoid avoid setting the DND properties on the
8760         toplevel window repeatedly.
8761
8762 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8763
8764         * gdk/win32/gdkwin32.h: Define more message types missing from
8765         mingw headers.
8766
8767         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8768         call gdk_window_destroy_notify(). It was never called. This
8769         probably meant that the GdkWindow was never freed. Thanks Owen for
8770         noticing (!).
8771
8772         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8773         window as destroyed before calling DestroyWindow(). DestroyWindow()
8774         causes a call to the window procedure (gdk_WindowProc), which
8775         calls gdk_event_translate(), which calls
8776         gdk_window_destroy_notify(), which gets confused unless the window
8777         is set as destroyed.
8778
8779         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8780         this function to indicate it's win32 only. Put inside #ifdef
8781         G_ENABLE_DEBUG.
8782
8783         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8784         debugging function. (gdk_event_translate:) Add a default branch
8785         that uses the above function to print debug messages with all
8786         Windows messages symbolically.
8787
8788         * gdk/win32/gdkprivate-win32.h: Declare it, and
8789         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8790
8791 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8792
8793         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8794         public header file.
8795
8796 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8797
8798         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8799
8800         * gtk/gtktext.c: made the adjustments no-construct args, simply
8801         provide default adjustments.
8802         (gtk_text_destroy): release adjustments.
8803
8804         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8805         adjustment argument non-construct.
8806
8807         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8808         instead of in finalize.
8809         (gtk_progress_get_text_from_value): 
8810         (gtk_progress_get_current_text): 
8811         (gtk_progress_set_value): 
8812         (gtk_progress_get_percentage_from_value): 
8813         (gtk_progress_get_current_percentage): 
8814         (gtk_progress_set_percentage): 
8815         (gtk_progress_configure): ensure an adjustment is present.
8816
8817 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8818
8819         * gtk/gtkcolorsel.[hc]:
8820         * gtk/gtkcolorseldialog.[hc]:
8821         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8822         their parent implementation, use bit fields for boolean values, don't
8823         create unused widgets, usage of glib types, braces go on their own
8824         lines, function argument alignment, #include directives etc. etc. etc..
8825
8826         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8827
8828 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8829
8830         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8831
8832         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8833         of NULL.
8834
8835         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8836         to freed data.
8837         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8838
8839         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8840         to NULL when the toplevel is getting destroyed.
8841         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8842         (gtk_menu_destroy): 
8843         (gtk_menu_init): store the information of whether we have to
8844         readd the initial child ref_count during destruction in a new
8845         GtkMenu field needs_destruction_ref_count.
8846
8847         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8848         here, those reading: learn from my mistake! ;)
8849         in order for set_?adjustment to support a default adjustemnt if
8850         invoked with an adjustment pointer of NULL, the code read (pseudo):
8851         if (v->adjustment) unref (v->adjustment);
8852         if (!adjustment) adjustment = adjustment_new ();
8853         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8854         now imagine the first unref to actually free the old adjustment and
8855         adjustment_new() creating a new adjustment from the very same memory
8856         portion. here, the latter comparision will unintendedly fail, and
8857         all hell breaks loose.
8858         (gtk_viewport_set_hadjustment):
8859         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8860         after unreferencing it.
8861
8862         * gtk/gtkcontainer.[hc]: removed toplevel registration
8863         functions: gtk_container_register_toplevel(),
8864         gtk_container_unregister_toplevel() and
8865         gtk_container_get_toplevels() which had wrong semantics
8866         anyways: it didn't reference and copy the list.
8867
8868         * gtk/gtkwindow.c: we take over the container toplevel registration
8869         bussiness now. windows are registered across multiple destructions,
8870         untill they are finalized. the initial implicit reference count
8871         users are holding on windows is removed with the first destruction
8872         though.
8873         (gtk_window_init): ref & sink and set has_user_ref_count, got
8874         rid of gtk_container_register_toplevel() call. add window to
8875         toplevel_list.
8876         (gtk_window_destroy): unref the window if has_user_ref_count
8877         is still set, got rid of call to
8878         gtk_container_unregister_toplevel().
8879         (gtk_window_finalize): remove window from toplevel list.
8880         (gtk_window_list_toplevels): new function to return a newly
8881         created list with referenced toplevels.
8882         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8883
8884         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8885         adjustment a non-construct arg.
8886         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8887         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8888         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8889
8890         * gtk/gtkrange.c: added some realized checks.
8891         (gtk_range_destroy): get rid of the h/v adjustments in the
8892         destroy handler instead of finalize. remove timer.
8893         (gtk_range_get_adjustment): demand create adjustment.
8894
8895         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8896         we simply create them on demand now and get rid of them in
8897         the destroy handler.
8898         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8899         destroy handler instead of finalize.
8900         (gtk_viewport_get_hadjustment): 
8901         (gtk_viewport_get_vadjustment): 
8902         (gtk_viewport_size_allocate): demand create h/v adjustment
8903         if required.
8904
8905         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8906         gtk_widget_real_destroy () functionality.
8907         (gtk_widget_real_destroy): reinitialize with a new style, instead
8908         of setting widget->style to NULL.
8909
8910 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8911
8912         * gtk/gtkcalendar.c:
8913         * gtk/gtkbutton.c: ported _get_type() implementation over to
8914         GType, either to preserve memchunks allocation facilities,
8915         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8916
8917         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8918         over. prepare for ::destroy to be emitted multiple times.
8919         removed reference tracer magic. chain into GObjectClass.shutdown()
8920         to emit ::destroy signal.
8921
8922         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8923         fundamental.
8924
8925         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8926         cludge.
8927
8928         * gtk/gtksocket.c:
8929         * gtk/gtkplug.c:
8930         * gtk/gtklayout.c:
8931         * gtk/gtklabel.c:
8932         * gtk/gtkargcollector.c:
8933         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8934         not being a fundamental anymore, and to work with the new
8935         type system (nuked fundamental type varargs clutter).
8936
8937         * gtk/*.c: install finalize handlers in the GObjectClass
8938         part of the class structure.
8939         changed direct GTK_OBJECT()->klass accesses to
8940         GTK_*_GET_CLASS().
8941         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8942
8943         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8944         GType. made most of the GTK_*() type macros and Gtk* typedefs
8945         simple wrappers around macros and types provided by GType.
8946         most notably, a significant portion of the old API vanished:
8947         GTK_TYPE_MAKE(),
8948         GTK_TYPE_SEQNO(),
8949         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8950         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8951         GTK_TYPE_ARGS,
8952         GTK_TYPE_CALLBACK,
8953         GTK_TYPE_C_CALLBACK,
8954         GTK_TYPE_FOREIGN,
8955         GtkTypeQuery,
8956         gtk_type_query(),
8957         gtk_type_set_varargs_type(),
8958         gtk_type_get_varargs_type(),
8959         gtk_type_check_object_cast(),
8960         gtk_type_check_class_cast(),
8961         gtk_type_describe_tree(),
8962         gtk_type_describe_heritage(),
8963         gtk_type_free(),
8964         gtk_type_children_types(),
8965         gtk_type_set_chunk_alloc(),
8966         gtk_type_register_enum(),
8967         gtk_type_register_flags(),
8968         gtk_type_parent_class().
8969         replacements, where available are described in ../docs/Changes-1.4.txt.
8970         implemented compatibility functions for the remaining API.
8971
8972         * configure.in: depend on glib 1.3.1, use gobject module.
8973
8974 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8975
8976         * TODO.xml: Various updates to current status.
8977
8978 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8979
8980         * gtk.m4: Print out version when test succeeds.
8981
8982 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8983
8984         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8985         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8986         
8987         (Original triangle color selector from Simon Budig
8988         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8989         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8990         Santiago <mrcooger@cyberverse.com>)
8991
8992         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8993         out into a separate widget.
8994
8995         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8996         and opacity controls.
8997
8998 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8999
9000         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9001         snuck in prematurely.
9002
9003 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9004
9005         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9006         had deleted a ! operator by mistake, which caused
9007         GDK_SELECTION_CLEAR events never to be generated, which caused
9008         only the first copy to the clipboard from an gtkeditable to
9009         actually cause a copy to the Windows clipboard.
9010
9011 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9012
9013         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9014         compilation, too. Current mingw gcc distributions include the
9015         necessary headers. Also the necessary IIDs are now in mingw
9016         headers/libraries, and own definitions unnecessary.
9017
9018         More hacking on OLE2 DND, still doesn't work though, and thus
9019         ifdeffed out.
9020
9021         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9022         here, too.
9023
9024 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9025
9026         * gdk/nanox/*: nano-X port work in progress.
9027         * gdk/simple.c: simple test for Gdk.
9028         * README.nanox: notes about the port: read this first!
9029         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9030         with nano-X.
9031
9032 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9033
9034         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9035         gdk_window_clear() into common code, implement in terms of
9036         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9037         not redirected to the backing rectangle.
9038
9039 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9040
9041         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9042         EXTRA_DIST. It does not work well when the file that
9043         everything depends on is not in the tarball.
9044
9045 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9046
9047         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9048         with recursion where process_updates() is called from
9049         an expose handler. (GtkTextView is highly broken in
9050         doing this, but it should work, so it is a nice test
9051         case.)
9052
9053 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9054
9055         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9056         handle the case where updates are queued during processing of
9057         updates.
9058
9059 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9060
9061         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9062         window is on gdk_display - use that instead of segfaulting.
9063
9064 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9065
9066         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9067         broken and require an empty arg, give it to them.
9068
9069 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9070
9071         * gtk/gtklabel.h: indentation fixes.
9072
9073 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9074
9075         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9076         draw too narrow or too low arcs, they seem to fail, at least with
9077         some display drivers.
9078
9079         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9080
9081         Large changes to the Win32 backend, partially made necessary by
9082         the changes to the backend-independent internal
9083         structures. Attempts to implement similar backing store stuff as
9084         on X11. The current (CVS) version of the Win32 backend is *not* as
9085         stable as it was before the no-flicker branch was merged. A
9086         zipfile with that version is available from
9087         http://www.gimp.org/win32/. That should be use by "production"
9088         code until this CVS version is usable. (But note, the Win32
9089         backend has never been claimed to be "production quality".)
9090
9091         * README.win32: Add the above comment about versions.
9092
9093         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9094
9095         * gdk/gdk.def: Update.
9096
9097         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9098         presumably be replaced by some more better mechanism as 1.4 gets
9099         closer to release shape.
9100
9101         * gdk/makefile.{cygwin,msc}: Update.
9102
9103         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9104         internal headers. Change code according to changes in these. Use
9105         gdk_drawable_*, not gdk_window_* where necessary.
9106
9107         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9108         our old DND.
9109
9110         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9111         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9112         Use correct function name in warning messages.
9113
9114         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9115         GSourceFuncs gdk_event_prepare and gdk_event_check.
9116         (gdk_event_get_graphics_expose): Do implement, use
9117         PeekMessage. Thanks to Hans Breuer.
9118         (event_mask_string): Debugging function to print an GdkEventMask.
9119         (gdk_pointer_grab): Use it.
9120
9121         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9122         (old) book I used claimed was Hangul actually is CJK Unified
9123         Ideographs Extension A. Also, Hangul Syllables were missing.
9124         Improve logging.
9125
9126         * gdk/win32/gdkgc-win32.c: Largish changes.
9127
9128         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9129         g_win32_getlocale() from GLib, and not setlocale() to get current
9130         locale name.
9131
9132         * gdk/win32/gdkprivate-win32.h
9133         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9134         gdkwin32.h, similarily as in the X11 backend.
9135
9136         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9137         assignment was used instead of equals in if test. Thanks to Hans
9138         Breuer.
9139
9140         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9141         the X11 version.
9142
9143         * gdk/win32/makefile.{cygwin,msc}
9144         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9145         path to the Win32 headers that works also with the mingw compiler.
9146
9147         * gtk/gtkstyle.c: Include <string.h>.
9148
9149 2000-04-26  Havoc Pennington  <hp@redhat.com>
9150
9151         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9152         replacing the broken gtk_label_get ()
9153
9154 2000-04-15  Havoc Pennington  <hp@pobox.com>
9155
9156         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9157         this keeps scanner scripts from getting confused.
9158
9159         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9160         data, rather than void
9161
9162 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9163
9164         * gtk/gtkclist.c (gtk_clist_motion)
9165         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9166         with is_hint FALSE, get x and y from the event. They used to be
9167         used uninitialised. The Win32 backend never sends motion events
9168         marked as hints. This for instance fixes the annoying file and
9169         font selector behaviour in the Win32 version.
9170
9171 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9172
9173         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9174         gtk_private_n_signals variables, they are used by some software,
9175         sigh.
9176
9177         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9178         installation directory from the Registry, where the installer
9179         should have put it.
9180
9181 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9182
9183         * gdk/x11/Makefile.am: Fix problem with installation directory for
9184         gdkx.h
9185
9186         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9187         <mrcooger@cyberverse.com> so that when selecting menus with the
9188         mouse, the first item will not be selected, but when selecting
9189         with an accelerator, or navigating left-right on a menubar with
9190         the menus popped up, the first item will be selected.
9191
9192 2000-04-05  Dan Damian  <dand@dnttm.ro>
9193
9194         * configure.in: Added "ro" to ALL_LINGUAS.
9195
9196 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9197
9198         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9199         indentation.
9200
9201         * Makefile.am (EXTRA_DIST): Fix typo.
9202
9203         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9204         to catch gdkconfig.h
9205
9206         * gtk/gtkitemfactory.c: Added FIXME.
9207
9208 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9209
9210         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9211         s/return_if_fail/return_val_if_fail/g and add a return value.
9212
9213 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9214
9215         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9216         merge slipup.
9217
9218         * gdk/gdkinput.h: Fix missing line from merge.
9219
9220 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9221
9222         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9223         instead of gdkprivate.h.
9224
9225 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9226
9227         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9228         parent class to correctly be GtkDialogClass.
9229
9230 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9231
9232         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9233         toplevel windows and their immediate children by their parents,
9234         since the size of toplevel windows is out of our immediate
9235         control and we don't get any real benefit from trying to track
9236         this size for clipping.
9237
9238         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9239         for input_only windows.
9240
9241         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9242         to fix some hacks and make sure that we don't try to set the
9243         background of input only windows.
9244
9245 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9246
9247         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9248         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9249         stuff that we've traditionally exposed.
9250
9251         * gdk/**.c: Use gdkinternals.h where appropriate.
9252
9253         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9254         not include gdkprivate-x11.h, move all stuff of conceivable public
9255         interest into gdkx.h; keep all really private stuff in
9256         uninstalled header gdkprivate-x11.h.
9257
9258         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9259         image->image_put on windows through a new function _gdk_window_draw_image()
9260         to allow us to do backing store for images. (Sort of ugly)
9261
9262         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9263         contexts locally so that we can offset them properly when drawing 
9264         onto backing pixmaps.
9265
9266         * gdk/gdkinput.h: Reindented
9267
9268         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9269         pixmap or color for the window, so we can properly initialize
9270         our double-buffer pixmaps, and also so that we temporarily set
9271         a background of None while scrolling.
9272
9273         * gdk/gdkregion.h: Revise region boolean operators to have an
9274         interface that is actually convenient - switch from creating new
9275         regions on every op, to "methods" that modify existing regions
9276         (A = A OP B). 3 argument forms which allow dest == src, would also
9277         be possible, but the current interfaces seem to map nicely
9278         onto what needs to be done. (There is quite a lot of region
9279         code in GDK now.)
9280
9281         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9282         operator.
9283
9284         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9285         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9286         to 32 bit coordinates, modify it to be mostly GTK+ style
9287         and to have interfaces that match gdkregion.h.
9288
9289         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9290         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9291         create a backing pixmap and redirect all drawing to
9292         that backing pixmap until a matching gdk_window_end_paint().
9293
9294         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9295         Create a special drawable class for GtkWindow's that 
9296         redirects the drawing to the backing pixmap as necessary
9297         and then calls the real operations in _gdk_windowing_window_class.
9298
9299         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9300         Store invalid region for each window. Generate expose events for invalid
9301         region in an idle. This replaces both the expose compression
9302         and the redrawing queuing in GTK+. It is both more efficient and
9303         simpler than either one individually and far more so then the
9304         combination.
9305
9306         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9307         Emulate 32 bit coordinates for windows with 16 bit coordinates
9308         by offsetting drawing, guffaw scrolling techniques and
9309         mapping/unmapping child windows as necessary.
9310
9311         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9312         where, when invalid regions are processed, the region is stored,
9313         and if expose events come in that are detectably duplicate
9314         the processed exposes (by comparison of event serial numbers),
9315         the stored region is subtracted out of those exposes.
9316
9317         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9318         regions newly exposed when scrolling or resizing windows.
9319         This, combined with forcing processesing of queued invalidated
9320         regions, gives nice flicker-free scrolling.
9321
9322         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9323         invalidated regions after every scroll.
9324
9325         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9326         emulation in GDK. Its, for all practical purposes just a
9327         GtkViewport/GtkFixed hybrid now.
9328
9329         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9330         (16-bit) structures as necessary instead of just casting.
9331
9332         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9333         in terms of the structures from gdkregion-generic.c, using appropriate
9334         offsets from GDK to X11 coordinates. Cache clip mask and
9335         origin and ts origin locally and only flush to the server
9336         when drawing, to avoid constantly setting and resetting these
9337         values when offsetting GC's for scrolling and backing pixmaps.
9338
9339         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9340
9341         * gtk/gtkcontainer.c: Call process_all_updates at end
9342         of resizing to reduce flicker. (Avoids having redraw
9343         lag arbitrarily behind resize under some circumstances)
9344
9345         * gtk/gtkentry.c: Remove old backing store code, and simply take
9346         advantage of the new backing store capabilities of GDK.
9347
9348         * gtk/gtkmain.c: Simple implementation of widget backing
9349         store - simply push a paint while handling each expose.
9350         (Should really be configurable widget for widget.)
9351         
9352         * gtk/gtkwidget.c: Remove all the old complicated redraw
9353         code, and simply invalidate the GDK windows from
9354         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9355         debugged complexity ... gone to the winds.)
9356
9357         Remove all the code for suppressing expose events while
9358         resizes are pending; this isn't needed since the invalid
9359         areas won't be processed until after the resizes are
9360         processed, since they are in a lower priority idle.
9361
9362 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9363
9364         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9365         and height of dest rectangle for non-intersecting rectangles.
9366
9367 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9368
9369         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9370         for GdkRectangle.
9371
9372 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9373
9374         * gdk/gdk{events,image,private,types,window}.h
9375          gdk/x11/gdkinputprivate.h: Change all coordinates
9376          from int16 to int. Also, Change width and height from
9377          unsigned to signed to avoid all the stupid C 
9378          signedness bugs.
9379
9380 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9381
9382         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9383         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9384         Add some more detailed checking.
9385
9386         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9387         New function to retrieve the depth of a drawable.
9388
9389         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9390         field, reorder fields to save memory. 
9391
9392 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9393
9394         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9395         of the background image instead of scaling the background down to
9396         a line.
9397
9398         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9399         which temporarily set slider to wrong size.
9400
9401         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9402         queue_clear().
9403
9404 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9405
9406 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9407
9408         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9409
9410 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9411
9412         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9413         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9414
9415         * gdk/win32/gdkfont-win32.c
9416         * gdk/win32/gdkproperty-win32.c
9417         * gdk/win32/gdkselection-win32.c
9418         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9419         now declared such.
9420
9421 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9422
9423         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9424
9425 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9426
9427         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9428         is called without trapping X errors.
9429
9430 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9431
9432         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9433         way into the fontset lists.
9434
9435 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9436
9437         * gtk/gtkthemes.h: add extern "C" scope.
9438
9439 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9440
9441         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9442         to make appends to the list constant. (gtk-guy-990901-0.patch)
9443
9444 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9445
9446         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9447         for the typename hash table.
9448
9449 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9450
9451         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9452         to make sure we never divide by zero. 
9453         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9454
9455 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9456
9457         * gtk/gtkfontsel.c: Apply patch from
9458         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9459         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9460
9461         Also, some cleanups in atom handling.
9462
9463 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9464
9465         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9466         not GtkWidget.
9467
9468 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9469
9470         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9471         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9472         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9473         more guint wrap-around bugs before going to bed.
9474
9475 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9476
9477         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9478         guint wrap arounds in allocation.width.
9479
9480         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9481         process untill we fit the allocation given.
9482
9483 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9484
9485         * gtk/gtkwidget.c:
9486         (gtk_widget_unrealize): guard widget access with ref/unref
9487         around signal emission.
9488         (gtk_widget_hide): same here, but also check its destroyed
9489         state before queueing a resize.
9490
9491 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9492
9493         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9494         of gtk_default_insensitive_bg as insensitive base color.
9495
9496         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9497         to the widget's state.
9498         (gtk_text_realize): same here.
9499         (gtk_text_state_changed): same here.
9500         (draw_bg_rect): compare background color against base[] from
9501         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9502
9503 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9504
9505         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9506         grabs are active, unless a delete event is send to the toplevel
9507         of the currently grab holding widget.
9508
9509 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9510
9511         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9512         debugging g_print's.
9513
9514 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9515
9516         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9517         ever make the scrolled-window requisition ever depend on the 
9518         visibility state of the scrollbars for the AUTOMATIC policy. 
9519         This breaks the GTK+ requisition model, and causes loops.
9520
9521 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9522
9523         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9524         the default font to avoid problems with XFree86-4.0 where the
9525         default charset is iso10646-1, not iso8859-1.
9526
9527 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9528
9529         * acinclude.m4
9530         * config.guess
9531         * config.sub
9532         * ltconfig
9533         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9534
9535         * gtk/Makefile.am: minor cosmetic consistency tweak
9536
9537 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9538
9539         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9540         the activate_time to 0, so that we handle a quick
9541         press/release press/release properly and don't suppress
9542         the second release. (Red Hat bug #7545)
9543
9544 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9545
9546         * gtk/gtkctree.c (row_delete):
9547         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9548         bugs with destruction notifier, *always* update internal
9549         structures *before* calling user code.
9550
9551 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9552
9553         A few more fixes for bug #5487, #2051, #2677.
9554         * gtk/gtkclist.c : 
9555         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9556         not GDK_BUTTON_PRESS.
9557         (resync_selection): resync only if selection_mode is
9558         GTK_SELECTION_EXTENDED
9559         * gtk/gtkctree.c (resync_selection): same here
9560
9561 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9562
9563         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9564         gdk_drag_get_selection() and gtk_menu_detach().
9565
9566         [ From Jeroen Ruigrok/Asmodai ]
9567
9568 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9569
9570         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9571         page->tab_label can be NULL.
9572
9573 2000-01-25  Havoc Pennington  <hp@pobox.com>
9574         
9575         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9576         arg is boolean
9577
9578         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9579
9580         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9581
9582         * gdk/gdkproperty.c (gdk_property_get): return boolean
9583
9584         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9585
9586         * gdk/gdkim.c (gdk_im_ready): return boolean
9587
9588         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9589
9590         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9591         glib clash, should fix glib)
9592
9593         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9594         (gdk_get_show_events): return gboolean, and canonicalize 
9595         to TRUE/FALSE
9596
9597         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9598         colormap is private
9599         (gdk_colors_alloc): gboolean whether to be contiguous
9600         (gdk_color_equal): return gboolean since we are a predicate
9601         and not a qsort() (this looks semi-wrong due to glib breakage,
9602         IMO glib should be fixed)
9603         
9604         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9605         (gdk_get_use_xshm): return gboolean
9606         (gdk_pointer_is_grabbed): return gboolean
9607
9608         * gdk/gdk.h: Change prototypes to match all the above changes,
9609         and re-run egtk-format-protos as required.
9610
9611 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9612
9613         * gtk/gtkctree.c (resync_selection): 
9614         * gtk/gtkclist.c (resync_selection):
9615
9616         Return immediately if clist->drag_pos < 0. This is a workaround
9617         for the corrupt state that the clist gets into when a
9618         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9619
9620         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9621         
9622         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9623         variable from recent commit.
9624
9625 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9626
9627         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9628
9629 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9630
9631         * gtk/Makefile.am: prefix all autogenerated source that get build in
9632         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9633         in builddir. since we subsequently cd into srcdir for autogeneration,
9634         the paths have to be stripped from the target file names, thusly we
9635         use $(@F) as target names now.
9636         put a comment about configure.in's --disable-rebuilds option,
9637         which can be used for non-writable source directories, for development
9638         setups though, srcdir has to be *writable*.
9639
9640 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9641
9642         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9643           Finish the job of allowing event to be NULL.
9644           (Fixes bug #4283, reported by Chris Blizzard)
9645
9646         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9647           things so that the cursor appears on screen, properly
9648           take into account INNER_BORDER.
9649           (Fixes bug #4754, reported by Antonio Campos)
9650
9651 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9652
9653         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9654           show the tab_label unless it itself is visible.
9655
9656           gtk/gtknotebook.c (gtk_notebook_size_request):
9657           Do a better job of making sure that the visibility
9658           of the tab label corresponds to whether it should
9659           be mapped or not.
9660
9661 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9662
9663         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9664           Use the requisition, not the allocation, since the
9665           allocation has not necessarily been computed yet.
9666           (Pointed out by Eugene Osintsev)
9667
9668 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9669
9670         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9671           style/base[GTK_STATE_INSENSITIVE] both to
9672           gtk_default_insensitive_bg!
9673           (Bug #2187, reported by Jonathan Blandford)
9674
9675         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9676           Add Alt_L, Alt_R to list of invalid accelerators.
9677           (Bug #3736, reported by Vlad Harchev)
9678
9679 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9680
9681         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9682         bugs which occured after an attempt to open 
9683         invalid home directory left cmpl_state->reference_dir == NULL.
9684
9685          - completion on files in home directory didn't work
9686          - completion on an empty string caused  segfault
9687
9688          (Bug #3678, reported by Steve Ratcliffe)
9689
9690         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9691         cut and paste error that was causing scales to
9692         be incorrectly positioned.
9693         (Bug #2956,
9694          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9695
9696 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9697
9698         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9699         when checking for dcgettext, if we've found we needed
9700         it for dgettext.
9701 +
9702 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9703
9704         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9705         queue_clear on NO_WINDOW widgets during a reparent,
9706         since at that point the window and widget heirarchies
9707         are out of sync. This stops crashing in some cases
9708         (the scrolled window reparent test, for instance), and
9709         _probably_ won't cause drawing errors.
9710
9711         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9712         test do what it was supposed to do and be robust against
9713         window closings, etc. (Bug #2443)
9714
9715 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9716
9717         * gtk/gtkentry.c: Fix return values on mouse events.
9718         (Bug #2686, Sky <seb_sky@yahoo.com>)
9719
9720         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9721         (pointed out by George Lebl)
9722
9723         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9724         (From Ettore Perazzoli  <ettore@helixcode.com>)
9725  
9726 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9727
9728         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9729         clicks between rows or outside calender area correctly.
9730         (Patch from Damon Chaplin)
9731
9732         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9733         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9734           Call destroy function when overwriting existing data. 
9735           (Pointed out by Damon Chaplin)
9736
9737 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9738
9739         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9740           which was causing problems on various systems with Xmu.
9741           This hasn't been needed for a very long time.
9742           (Fixes #1185 3167)
9743
9744 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9745
9746         * gdk/gdki18n.h: Include <ctype.h> when defining
9747           gdk_isw* in terms of is* as a fallback.
9748           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9749
9750 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9751
9752         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9753           realize the widget when it is size allocated!
9754           (old, old bug)
9755
9756         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9757           Removed unused call to gdk_window_get_size() that
9758           showed up when the above was fixed.
9759
9760 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9761
9762         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9763           fix up widget->window when the widget is a
9764           NO_WINDOW container widget.
9765
9766 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9767
9768         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9769           to account for the fact that feof() does _not_ 
9770           return TRUE on errors, and thus avoid infinite loops
9771           when trying to use gdk_pixmap_create_from_xpm()
9772           on unreadable values.
9773
9774 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9775
9776         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9777
9778 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9779
9780         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9781           gdk_gc_set_dashes to take gint8 instead of gchar to
9782           make it clearer that it is _not_ a NULL terminated string.
9783
9784         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9785           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9786           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9787           arguments.
9788
9789 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9790
9791         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9792         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9793         background size relative to our allocation, guard against small
9794         allocations, we may have not yet been size allocated.
9795
9796 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9797
9798         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9799         not just version == 3. We implement all 3 + most of 4 - 
9800         (we don't support matching text/plain;charset=iso-8859-1
9801         to a dest that expects text/plain). We'll still advertise
9802         3 to be safe, but any client implementing version >= 3
9803         must interoperate with 3.
9804         
9805 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9806
9807         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9808         background and gc members, add a warning in gtk_tooltips_set_color()
9809         indicating that this function is deprecated.
9810
9811 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9812
9813         * docs/gtkfaq.sgml: FAQ Update:
9814           - Minor cleanups (Emmanuel, me)
9815           - New questions:
9816                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9817                 How can I retrieve the text from a GtkMenuItem? (timj)
9818                 How do I validate/limit/filter the input to a GtkEntry? (me)
9819                 Memory does not seem to be released when I free the list
9820                         nodes I've allocated (timj)
9821
9822 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9823
9824         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9825         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9826         for which it is no use to call GetLastError onWin9x.
9827         (gdk_other_api_failed) New function, for general error
9828         reporting without calling GetLastError.
9829         (gdk_win32_api_failed) OTOH, this function always calls
9830         GetLastError. (gdk_win32_last_error_string) Remove this function,
9831         GLib has the equivalent now.
9832
9833         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9834         call them with function name, file name and line number in the
9835         arguments.
9836
9837         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9838         functions.
9839         
9840         * gtk/gtk.def: Add some missing entry points.
9841
9842         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9843         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9844         
9845         Fixes by Hans Breuer:
9846
9847         * gdk/makefile.msc: Update for debugging.
9848
9849         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9850         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9851         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9852         in the dash_list.
9853
9854         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9855         the x11 backend.
9856
9857         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9858
9859         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9860
9861 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9862
9863         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9864         just pixel value of background colour.
9865
9866         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9867         containing code snippet previously duplicated in a couple of
9868         places.
9869         
9870         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9871         gdk_colormap_color.
9872
9873         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9874         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9875         events for autorepeated Shift, Control and Alt keys. Use
9876         gdk_colormap_color.
9877
9878         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9879         pointer is inside the window the cursor of which we are setting,
9880         call SetCursor immediately.
9881
9882         * gdk/win32/makefile.cygwin
9883         * gtk/makefile.cygwin: If we don't have the build number stamp
9884         file, use zero.
9885
9886         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9887         gtk_paned_set_gutter_size as empty.
9888
9889         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9890         
9891 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9892
9893         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9894           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9895           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9896           docs/gtk_tut.sgml docs/gtk.texi TODO:
9897
9898           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9899
9900 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9901
9902         * gtk/gtkcalendar.c: Implement num_marked_dates,
9903           and don't emit mutiple day_selected signals on
9904           month_prev.
9905
9906 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9907
9908         * docs/make-todo (lineno): let title and logo be configurable so
9909         that GNOME can use this script too.
9910
9911         * TODO.xml: added logourl and a title
9912
9913 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9914
9915         * TODO.xml: Added some UI items, and an explanatory
9916         comment at the top of the file.
9917
9918 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9919
9920         * TODO.xml: some updates, added abunch of new entries.
9921         a note for those fiddeling with this file, when done
9922         with it, invoke:
9923         $ ./docs/make-todo TODO.xml >/dev/null
9924         and correct output errors before comitting changes.
9925
9926 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9927
9928         * TODO.xml: Added XML-structured TODO file.
9929         * docs/make-todo: python script to turn TODO.xml into
9930           pretty XML output. 
9931
9932 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9933
9934         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9935         the function to let it draw the seven dots, instead of the old,
9936         much maligned, method.
9937         (draw_dot): New function to draw a dot.
9938
9939         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9940         to draw the handle inside the border width as opposed to outside.
9941         Use paint function instead of gdk_draw_point.
9942
9943         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9944         to draw the handle inside the border width as opposed to outside.
9945         Use paint function instead of gdk_draw_point.
9946
9947         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9948         Change indenting to be more GTK like.
9949
9950 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9951
9952         * docs/gtk_tut.sgml: New section on GtkCalendar
9953         * examples/calendar: Update example code
9954
9955 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9956
9957         * docs/gtkfaq.sgml: FAQ Update
9958
9959 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9960
9961         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9962         to prevent the scroll event to be propagated upwards.
9963
9964 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9965
9966         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9967         OwnerGrabButtonMask from button entries for
9968         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9969
9970         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9971         to the event mask (which will result in button/press release
9972         being added to the event mask on Unix) so scrolling works
9973         for layouts in scroll windows.
9974
9975         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9976
9977         Patch from Anders Carlsson  <andersca@gnu.org> to add
9978         a scroll event.
9979
9980         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9981         scrolling to the "Test Scrolling" part of testgtk.
9982  
9983         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9984  
9985         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9986         it against GDK_SCROLL.
9987  
9988         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9989         way of mouse wheel scrolling.
9990  
9991         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9992  
9993         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9994  
9995         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9996  
9997         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9998         gdk_event_mask_table.
9999  
10000         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10001         GdkEventScroll handler.
10002  
10003         * gdk/gdkevents.h: Added GdkEventScroll structure.
10004  
10005 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10006
10007         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10008         and Anders Carlsson to change the Paned widgets so that they
10009         can be dragged from anywhere along the length. Also change
10010         the way that this is drawn to make this apparent.
10011
10012         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10013         from George Lebl to check that option_menu->menu is present
10014         before getting history.
10015
10016 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10017
10018         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10019         before the assertion for non-NULL segment list.
10020
10021         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10022         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10023         machine, but it might be display driver dependent. Sigh, so make
10024         sure the stipple is that size. Does Windows suck or what?
10025
10026         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10027         places.
10028
10029 2000-02-13  Havoc Pennington  <hp@pobox.com>
10030
10031         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10032         refcount to 1
10033         (gdk_cursor_new): init refcount to 1
10034
10035         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10036
10037 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10038
10039         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10040         so that we don't have to do unnecessary settings to the HDC.
10041
10042         * gdk/win32/gdkdrawable-win32.c
10043         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10044         gdk_gc_predraw.
10045
10046         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10047         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10048         GDI paths, call WidenPath to get the outline of the stroken path,
10049         and then fill the outline (with the brush that was built from the
10050         stipple).
10051
10052         * gdk/win32/gdkgc-win32.c: Factor out common code from
10053         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10054         gdk_win32_gc_values_to_win32values. Use correct colour for
10055         SetBkColor() (Until now the code actually used a random colour in
10056         the call to SetBkColor()... but that didn't show up as not many
10057         GDI APIs use the background colour. Pattern (opaque stippled)
10058         brushes do.)
10059
10060         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10061         gdk_win32_api_failed): New functions for error logging.
10062
10063         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10064         WIN32_API_FAILED to call them, passing function or file name and
10065         line number.
10066
10067         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10068
10069         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10070         GdkColor for foreground and background in GdkGCWin32Data.
10071
10072         * gdk/makefile.cygwin: Link in the resource object separately.
10073
10074         * gdk/win32/rc/gdk.rc
10075         * gtk/gtk.rc (New file)
10076         * gdk/win32/makefile.cygwin
10077         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10078         as in GLib.
10079
10080 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10081
10082         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10083         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10084         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10085         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10086         parameters given and cursor->ref_count. coding style fixups.
10087
10088         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10089         not GtkWidget.
10090         
10091         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10092         fix up widget macros and add _GET_CLASS() variant.
10093         
10094         * gtk/*.c: some GtkType fixups.
10095
10096 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10097
10098         * gdk/win32/gdkproperty-win32.c
10099         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10100         were reversed.
10101
10102 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10103
10104         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10105         g_filename_to_utf8 to convert the font names Windows gives us from
10106         whatever is the default codepage to UTF-8.
10107         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10108         in the other direction.
10109
10110         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10111         error in debugging output.
10112
10113 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10114
10115         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10116         and height parameters to gdk_window_clear_area(). Not minus one.
10117
10118 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10119
10120         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10121         checks if the widget passed to gtk_drag_get_data() was not the
10122         dest widget.
10123
10124 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10125
10126         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10127         g_filename_from_utf8 functions (which were added a moment ago to
10128         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10129         size buffers.
10130
10131         gtk_file_selection_get_filename returns the filename in the C
10132         runtime encoding. It calls g_filename_from_utf8, but copies the
10133         returned string to a static buffer, which is returned. I think
10134         this is better than returning the result from g_filename_from_utf8
10135         directly, which would mean all apps that use it would have to free
10136         the return value. Or should this function care about this issue at
10137         all? Maybe a new function with clearly defined semantics.
10138
10139         * gtk/gtkfilesel.h: Add comment about
10140         gtk_file_selection_get_filename returning the filename in the C
10141         runtime's encoding.
10142
10143         * README.win32
10144         * gdk/gdk.def
10145         * gdk/makefile.{cygwin,msc}
10146         * gtk/gtk.def: Updates.
10147
10148         * gdk/gdkcursor-win32.c: Initialise refcount.
10149
10150 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10151
10152         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10153
10154 2000-01-30  Havoc Pennington  <hp@pobox.com>
10155
10156         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10157         destroy
10158
10159         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10160
10161         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10162         implemented in platform-specific code
10163
10164         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10165
10166         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10167         underscore in front
10168
10169         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10170         put an underscore in front
10171
10172         * gdk/gdkcursor.c: new file, implements
10173         gdk_cursor_ref/gdk_cursor_unref
10174
10175         * gdk/gdkcursor.h: Refcount GdkCursor
10176
10177         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10178
10179 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10180
10181         * gdk/gdkwindow.h
10182         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10183
10184 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10185
10186         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10187         structures to properly inherit from GtkWidget not GtkBin.
10188
10189 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10190
10191         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10192         (bug #5178 - Peter Wainright)
10193         
10194         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10195         so that it will be installed.
10196         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10197
10198 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10199
10200         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10201         for the GtkStyleClass vtable const.
10202
10203         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10204         take a const string argument like GtkTranslateFunc. This will
10205         require changes in use code.
10206
10207 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10208
10209         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10210         semantics (to mimic the X11 backend, which just calls XClearArea)
10211         is to check for zero width (and height), and in that case use the
10212         window's width minus x (height minus y). This fixes for instance
10213         some redraw problems with gtkclist, which were easily noticeable
10214         in the gtk file selection widget.
10215
10216         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10217         windows.
10218
10219 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10220
10221         * configure.in
10222         * gdk/Makefile.am
10223         * gdk/x11/Makefile.am
10224         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10225         (bug #5177).
10226         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10227         out later.
10228
10229 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10230
10231         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10232         WM_MOVE for iconified or invisible windows. This fixes various
10233         problems when minimising windows. Thanks to Bernd Herd.
10234
10235 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10236
10237         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10238         backend's draw_lines method, not draw_points.
10239
10240 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10241
10242         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10243         before Owen's reorganisation: Don't have queued_events and
10244         queued_tail statics in this file, but use gdk_queued_events and
10245         gdk_queued_tail. This makes exposure event compression work again.
10246
10247         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10248         seem to be needed?
10249
10250 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10251
10252         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10253         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10254         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10255         doesn't do anything.
10256
10257         * gdk/gdk.def: Add gdk_xid_table_insert.
10258
10259         * gdk/win32/gdkprivate-win32.h
10260         * gdk/win32/gdkevents-win32.c
10261         * gdk/win32/gdkinput-win32.c
10262         
10263         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10264         extension_events field in the GdkWindowWin32Data struct. Use only
10265         the extension_events field in GdkWindowPrivate. Previously one was
10266         set, and the other one tested, which broke tablet
10267         functionality. Thanks to Keishi Suenaga for pointing this out.
10268
10269 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10270
10271         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10272         When handling a single character (text length == 1), don't handle
10273         it as if it was UTF-8.
10274
10275 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10276
10277         * Makefile.am: Distribute README.win32.
10278         
10279         * gdk/Makefile.am
10280         * gdk/win32/Makefile.am: Distribute Win32 files.
10281
10282         * gdk/makefile.msc: New file.
10283
10284         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10285         after label).
10286
10287         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10288         gdk_error_code as GDKVAR, as they are referred outside GDK.
10289
10290         * gdk/win32/makefile.msc: Update.
10291
10292         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10293         tweaks. Check only if at least one of those Unicode subrange bits
10294         we care for is set. If no code page bits are set, guess (wildly)
10295         based on the charset.
10296
10297         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10298
10299         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10300         non-NULL.
10301
10302         * gtk/gtkdnd.c
10303         * gtk/gtklayout.c
10304         * gtk/gtkplug.c
10305         * gtk/gtkselection.c
10306         * gtk/gtksocket.c
10307         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10308         appropriate. There must be a cleaner way to handle this?
10309
10310         * gtk/gtkrc.c: Must include windows.h on Win32.
10311
10312         * gtk/testgtk.c: No need to include gdkx.h.
10313
10314         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10315
10316 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10317
10318         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10319         the rbearing is set to the same as the width, but this should be
10320         fixed.
10321
10322 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10323
10324         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10325         function. If Windows doesn't tell us what Unicode subranges a font
10326         covers, guesstimate based on the codepages it covers. This will
10327         hopefully help those Windows versions or fonts that don't give us
10328         any useful Unicode subrange information with GetTextCharsetInfo.
10329         Call this function in gdk_font_load_internal.
10330
10331         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10332         minor changes.
10333
10334 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10335
10336         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10337         New function, long needed.
10338
10339 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10340
10341         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10342         only_if_exists argument of gdk_atom_intern to
10343         bool.
10344
10345 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10346
10347         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10348         Fix two copy&paste errors.
10349
10350         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10351         win32 has changed.
10352
10353         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10354         GdkWin32SingleFont struct.
10355
10356         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10357         subranges of loaded fonts. Clear font signature first, in case
10358         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10359         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10360
10361         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10362         Unoffset clip region.
10363
10364 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10365
10366         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10367         event->any.window before calling filter functions.
10368
10369 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10370
10371         * gtk/gtkgamma.h: Adapt cast macros to standard.
10372
10373 [ Merges from 1.2 ]
10374
10375 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10376
10377         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10378         If translation does not include a '/', use entire
10379         translation instead of crashing.
10380
10381 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10382
10383         * docs/gtk_tut.sgml:
10384         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10385
10386 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10387
10388         * gtk/gtkselection.c (gtk_target_list_remove): Use
10389         g_list_remove_link, not g_list_remove.
10390
10391         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10392         
10393 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10394
10395         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10396         statement upon unselection (how the heck did that slip in?).
10397
10398 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10399
10400         * gtk/gtktext.c (gtk_text_freeze): 
10401         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10402         in frozen state (and aparently crashes). patch provided by Anders
10403         Melchiorsen <and@kampsax.dtu.dk>.
10404
10405 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10406
10407         * fix insensitive default/focus widget activation,
10408         reported by Matt Goodall <mgg@isotek.co.uk>.
10409
10410         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10411         (gtk_window_activate_default):
10412         (gtk_window_activate_focus):
10413         return handled=FALSE for actiavtion of insensitive default
10414         widgets. return handled=TRUE for activation of insensitive
10415         focus widgets. don't activate in either case.
10416
10417 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10418
10419         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10420         and $glib_cflags to match library order and in the
10421         theory that an old version of GLib is more likely to
10422         be in the include directory for X then vice-versa.
10423         (Bug #2776)
10424
10425 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10426
10427         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10428         to determine the locale for fontsets, not LC_MESSAGES;
10429         the user may want English messages with a handling
10430         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10431         will still be broken) (Bug #2891)
10432
10433 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10434
10435         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10436
10437 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10438
10439         * gtk/gtkrc.ko: Changed the Korean default fontset.
10440
10441 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10442
10443         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10444         where when scrolling to the left or top double exposes
10445         were done, causing major slowdowns.
10446
10447 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10448
10449         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10450         names to lowercase and alphanumeric, before looking
10451         them up.
10452
10453         * gtk/Makefile.am: Install codeset variant gtkrc files
10454         with normalized names.
10455
10456 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10457
10458         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10459         popup menus when the menu is already visible, but its parent
10460         is still hidden, (happens after tornoff window got hidden).
10461
10462 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10463
10464         * gtk/Makefile.am (install-data-local): Fix
10465         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10466         deleted, causing error messages on install.
10467
10468 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10469
10470         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10471         the handle as well, since we now sometimes ignore
10472         exposes on the handle while resizing.
10473
10474 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10475
10476         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10477         extra g_free introduced in one of the last one or two 
10478         commits.
10479
10480 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10481
10482         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10483         consistent, put each style that a gtkrc.* file creates
10484         in a unique namespace, remove old files before installing.
10485
10486 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10487
10488         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10489         gtk_rc_init is called multiple times. (Yes, people who
10490         do that have bugs in their code.)
10491
10492 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10493
10494         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10495         Remove it since it's generated by the Makefile anyway
10496
10497 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10498
10499         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10500         device->info.axes for core pointer.
10501
10502 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10503
10504         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10505         idle_id, to deal with obsolete, broken C libraries.
10506
10507 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10508
10509         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10510         allocation->x/y twice!
10511
10512         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10513         consistent with gtk_vscale_pos_trough().
10514
10515 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10516
10517         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10518         be queueing a resize on a toplevel container between
10519         the time we show it and when we map it. So, we need
10520         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10521         use GTK_WIDGET_DRAWABLE() for child windows.
10522
10523 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10524
10525         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10526         (fixes bug #2144)
10527
10528 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10529
10530         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10531         container DRAWABLE (instead of VISIBLE), so we don't queue
10532         resizes on non-toplevel containers.
10533
10534 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10535
10536         * gtk/gtkselection.[ch]: Make the data argument
10537         const guchar *.
10538
10539 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10540
10541         * gtk/gtkwindow.c: Try to behave sensibly if 
10542         the focus widget is the window itself. (Should
10543         we allow this at all?)
10544
10545 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10546
10547         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10548         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10549         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10550         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10551         in prototypes and implementations consistent (Tomas Ogren).
10552
10553         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10554         before the widget is unparented (reported by damon).
10555
10556         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10557         since we provide unsigned data anyways.
10558
10559 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10560
10561         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10562         the call to gtk_tooltips_layout_text() until later.
10563
10564         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10565         Call gtk_widget_ensure_style() before using the style.
10566
10567 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10568
10569         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10570         for old widgets that don't propagate draws to all
10571         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10572
10573 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10574
10575         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10576         for a redraw but just the widget that requested the resize.
10577
10578 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10579
10580         * gtk/gtkcontainer.c: added new widget level method
10581         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10582         reallocate_redraws : 1 to reflect the setting, exported this through
10583         the argument system as a boolean ::reallocate_redraws.
10584
10585         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10586         on the widget because the allocation changes, do so as well for
10587         widget->parent if the parent has reallocate_redraws set to TRUE.
10588         with that containers requesting reallocation redraws get automatically
10589         redrawn if their children changed allocation (this unfortunately
10590         affects also other children that didn't change allocation, but we
10591         cannot work around that before 1.3).
10592
10593 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10594
10595         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10596         _and_ height are >0 (not _or_).
10597
10598         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10599         instead of gtk_container_queue_resize(), which is a core gtk internal
10600         function (must have been on crack when i queued that).
10601
10602         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10603         we can check more reliably if we want to discard expose events.
10604         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10605         flag.
10606         
10607         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10608         we simply trust these events. for deciding whether to discard exposes,
10609         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10610         
10611 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10612
10613         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10614         queues of areas that are completely off screen.
10615
10616         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10617         logic for handleboxes.
10618
10619         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10620         check on width/height.
10621
10622 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10623
10624         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10625         we are fine with using $@ the way we do (if we actually encounter
10626         brokeness with $@ in VPATH builds because of additional path prefixes,
10627         we need to use $(@F) actually).
10628
10629 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10630
10631         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10632         short lived bugs, that would allow language bindings to do surgeries
10633         to our guts.
10634
10635 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10636
10637         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10638         where comparison was being done against an uninitialized
10639         value causing intermittant results depending on
10640         compiler flags. Also make it clearer that we aren't
10641         ever initializing the child as 0x0 (though this will
10642         be caught in gtk_widget_size_allocate())
10643
10644 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10645
10646         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10647         gtk_window_unset_transient_for() call after we do checks
10648         involving the old transient parent.
10649         [ From Lance Capser <lmc@cyberhighway.net> ]
10650
10651 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10652
10653         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10654         an empty file.
10655
10656 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10657
10658         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10659         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10660
10661 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10662
10663         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10664         `$@' is valid only in the build dir, not after we've done 
10665         `cd $srcdir'.  Also use `test -f' instead of less portable
10666         `test -e'.
10667
10668 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10669
10670         * gtk/gtktext.c (correct_cache_insert): Rewrite
10671          for simplicity, and hopefully correctness.
10672          (Fixes bug #1322, which was a segfault when
10673           on some insertions with the properties around
10674           the insertion set up just wrong.)
10675
10676         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10677          a "changed" signal, clamp the new value to the adjustment
10678          bounds to avoid segfaulting if someone tries to change
10679          the adjustment to a bogus value. (Bug #1795)
10680
10681 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10682
10683         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10684         for children, for toplevel windows handle them
10685         like delete_event.
10686
10687         * gtk/gtkplug.c: Add an unrealize handler so that
10688         we unref plug->socket_window when we are done
10689         with it.
10690
10691 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10692
10693         * gtk/gtktext.c (clear_area): Fix stupid signedness
10694          problem that was causing background to sometimes
10695          be misaligned.
10696
10697 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10698
10699         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10700         
10701         * gtk/gtkmenu.c (gtk_menu_position): Make
10702          sure we never position menus with negative x, y,
10703          since gtk_widget_set_uposition() can't handle that.
10704
10705         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10706          Modify the positioning code a bit so that we always
10707          put the top-left corner onscreen. (This is for
10708          UI reasons, gtk_menu_position() now takes care of
10709          gtk_widet_set_uposition() brokeness.)
10710
10711 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10712
10713         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10714
10715 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10716
10717         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10718           RC style that is passed in. The lack of the ref
10719           before was a bug. If people worked around this
10720           bug, this will introduce a slight memory leak
10721           in their code. The code should typically look like:
10722
10723             rc_style = gtk_rc_style_new ();
10724             [...]
10725             gtk_widget_modify_style (widget, rc_style);
10726             gtk_rc_style_unref (rc_style);
10727
10728         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10729           the style if it was already set.
10730
10731         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10732           style if it was set before.
10733
10734 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10735
10736         * gtk/testgtk.c (main): Add a check to see if we
10737           are being run from the correct directory and
10738           to quit nicely if we are not.
10739
10740         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10741           static.
10742
10743 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10744
10745         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10746
10747         * gtk/gtkwindow.c:
10748         queue resizes unconditionally (gtk_widget_queue_resize will figure
10749         what to do if the window is not realized).
10750         (gtk_window_move_resize): only recenter the window
10751         for GTK_WIN_POS_CENTER_ALWAYS.
10752         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10753         the same way as GTK_WIN_POS_CENTER.
10754
10755 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10756
10757         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10758         with (!(info->last_flags & GDK_HINT_POS)) instead of
10759         (!info->last_flags & GDK_HINT_POS).
10760
10761         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10762         new_height unconditionally, because we use these values even if
10763         !default_size_changed && !hints_changed.
10764         comented the (default_size_changed || hints_changed) case with
10765         respect to resize rejects from the window manager.
10766
10767         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10768         in the zvt condition hack, since this includes the window hints, set
10769         the hints after the handling_resize case.
10770
10771         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10772         window is initially shown with to the geometry.
10773
10774 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10775
10776         * gtk/gtkwindow.c (gtk_window_move_resize):
10777         s/size_changed/default_size_changed/g so i know what's
10778         really going on (frying brain on smaller flame now).
10779
10780 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10781
10782         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10783         we have size_changed upon handling_resize. this is a gross
10784         workaround for the broken zvt widget and should be removed in
10785         1.3 again (search for FIXME).
10786         Owen provided an accurate comment for this:
10787
10788         /* We could be here for two reasons
10789          *  1) We coincidentally got a resize while handling
10790          *     another resize.
10791          *  2) Our computation of size_changed was completely
10792          *     screwed up, probably because one of our children
10793          *     is broken. It's probably a zvt widget.
10794          *
10795          * For 1), we could just go ahead and ask for the
10796          * new size right now, but doing that for 2)
10797          * might well be fighting the user (and can even
10798          * trigger a loop). Since we really don't want to
10799          * do that, we requeue a resize in hopes that
10800          * by the time it gets handled, the child has seen
10801          * the light and is willing to go along with the
10802          * new size. (this happens for the zvt widget, since
10803          * the size_allocate() above will have stored the
10804          * requisition corresponding to the new size in the
10805          * zvt widget)
10806          *
10807          * This doesn't buy us anything for 1), but it shouldn't
10808          * hurt us too badly, since it is what would have
10809          * happened if we had gotten the configure event before
10810          * the new size had been set.
10811          */
10812
10813 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10814
10815         * gtk/gtkrc.c: deal properly with the fact that RC
10816           style lists may include rc styles more than once.
10817
10818         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10819           unused static function.
10820
10821         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10822           stack of directories of RC files currently being
10823           parsed and implicitely add them to pixmap path.
10824           
10825           This fixes a bug where the directory would get
10826           appended then overwritten by pixmap_path declarations.
10827
10828           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10829
10830         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10831           theme's exit function. (Patch from Peter Wainwright,
10832           bug #1454)
10833
10834         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10835           Add a destroy() handler to take care of removing
10836           group for menu item. (Fixes bug #1197)
10837
10838         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10839           in warning message.
10840
10841 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10842
10843         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10844         roundtrip to figure window's width and height, since we know that
10845         anyways from widget->allocation.
10846
10847 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10848
10849         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10850           the hints after we request the new size.
10851
10852 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10853
10854         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10855           GTK_WIDGET_REALIZED() assertion - we can compute the
10856           hints before we are realized.
10857
10858         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10859           hint changing so that we have a value of hints_changed
10860           when we decide whether to constrain the window size.
10861
10862         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10863
10864         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10865         change back to G_MAXINT.
10866
10867 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10868
10869         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10870         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10871         contain uncluttered values.
10872         (gtk_window_compute_hints): simply assert that window is realized
10873         and that geometry_info is valid, since we rely on this anyways.
10874         (gtk_window_constrain_size): major cleanups to the code.
10875         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10876         for the base size, instead of the minimums. use 32767 as max width
10877         and height (like in gtkwindow.c) instead of G_MAXINT.
10878
10879 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10880
10881         * cleaned up the GtkContainer.need_resize flag handling mess, we
10882         only need to force resize requests when we were prematurely
10883         realized, or our widget tree was modified when we were temporarily
10884         hidden. handling these cases directly upon showing the window (i.e.
10885         while the GdkWindow is still unmapped) avoids the need to wait for
10886         a configure event response and therefore makes the GUI more snappier
10887         and avoids blank windows during the roundtrip.
10888
10889         * gtk/gtkwidget.c:
10890         (gtk_widget_hide): 
10891         (gtk_widget_show): don't queue resizes on toplevels, they know how
10892         to deal with matters.
10893
10894         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10895         flag directly for not visible resize containers and spare us unecessary
10896         signal emissions.
10897
10898         * gtk/gtkwindow.c:
10899         (gtk_window_realize): if we need to enforce premature size allocation,
10900         queue a container resize so we are correctly resized later on.
10901         (gtk_window_init):
10902         (gtk_window_size_request):
10903         don't freak around with the ->need_resize flag,
10904         gtk_container_queue_resize() will care about that.
10905         (gtk_window_show):
10906         handle initial resizing issues here, we can handle matters better in
10907         this place, especially since we know that our GdkWindow is still
10908         unmapped.
10909         (gtk_window_move_resize):
10910         don't care about ->need_resize at all.
10911         handle size changes properly that occoured while we waited for a
10912         configure event.
10913
10914 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10915
10916         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10917         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10918         Move the hint setting code from gtk_widget_set_uposition
10919         to here; set the hints so that we respect any previously
10920         set geometry hints.
10921
10922         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10923         change the window hints here or move the window here,
10924         let that happen in gtk_window_move_resize().
10925
10926 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10927
10928         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10929         to already queued resizes (and therefore redraws) on a widget, check
10930         its anchestry as well.
10931
10932         * gtk/gtkcontainer.c:
10933         (gtk_container_queue_resize): clear resize widgets for resize
10934         containers before aborting prematurely. this is especially important
10935         for toplevels which may need imemdiate processing or their resize
10936         handler to be queued.
10937         (gtk_container_dequeue_resize_handler): added new internal function for
10938         gtkwindow.c.
10939
10940         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10941         configure event, take possible changes in window position into account
10942         as well.
10943         if we request a new window size, queue up a resize handler that will
10944         last until the configure event response arrives.
10945         combined the ->need_resize case (initial show) with the general size
10946         (hints) changed case and added even more comments.
10947         if !auto_shrink, only revert to the old allocation if the new size
10948         is smaller than the current allocation.
10949
10950 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10951
10952         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10953                            gtk_window_set_geometry_hints
10954                            gtk_window_set_default_size):
10955         When hints are set, queue a resize so that the hints will
10956         be eventually reset on the toplevel.
10957
10958         * gtk/gtkwindow.c (gtk_window_show): Use
10959         gtk_window_compute_default_size(). Clear the need_resize flag
10960         on the initail map so that we don't unnecessarily trigger the
10961         resize code.
10962
10963         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10964         into separate functions. Compare the hints we are setting
10965         with what we set last time so that we can accurately
10966         tell when we need to reset the hints.
10967
10968         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10969         function to figure out the size from requisition
10970         and default_size.
10971
10972         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10973         from fvwm to constrain a size to the geometry hints.
10974
10975         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10976         to compare two sets of geometry hints.
10977
10978         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10979         from gtk_window_set_hints(), just compute the hints,
10980         don't set them.
10981
10982         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10983         code from gtk_window_move_resize() to separate function,
10984         rationalize a bit.
10985
10986 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10987
10988         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10989         structure into a new private structure.
10990
10991         * gtkrc.c: Split GtkRcStyle into public/private.
10992         In the private part, add a list of pointers to the
10993         RcStyle lists this RcStyle participates in.
10994
10995         * gtkrc.c: When a RcStyle is free, remove all
10996         lists referencing it from the 
10997         realized_style_ht hash, and free those lists.
10998         
10999         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11000         gtk_rc_init(), since that adds the default styles
11001         to the list of parsed RC files again.
11002
11003         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11004         
11005 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11006
11007         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11008         checks that ensure that a widget's allocation is at least 1 in width
11009         and height. (GNOME note: this doesn't affect old panel code anymore,
11010         because GtkSocket will request width and height of at least 1 since
11011         Fri Jul 23).
11012
11013         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11014         allocated yet (happens if the user realizes the window prematurely),
11015         size request and allocate it.
11016         (gtk_window_size_allocate): guard against guint underflows.
11017
11018 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11019
11020         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11021         in gtk_built_sources, so gtk.defs gets built prior to all other
11022         sources.
11023
11024 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11025
11026         * gtk/Makefile.am:
11027         invoke indent on gtkmarshal.*. 
11028         rewrote source generation rules, use COPYING as oldest source tag for
11029         a piggyback rule to generate all sources from (don't touch it ;).
11030         major cleanups, strip spaces on build rules for GNU Make.
11031
11032         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11033         source and target files from commandline arguments. don't invoke indent.
11034
11035 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11036
11037         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11038         notebook after switch to avoid drawing problems.
11039         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11040         
11041         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11042         show them instead. 
11043         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11044
11045 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11046
11047         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11048         notebook after switch to avoid drawing problems.
11049         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11050         
11051         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11052         show them instead. 
11053         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11054
11055 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11056
11057         * gtk/gtkwindow.c:
11058         we use window->need_resize from configure_event now, to indicate that
11059         the gtkwindow should keep its allocation (e.g. because the user resized
11060         the window through window manager handles). resize_count is now reliably
11061         used to figure whether we got the allocation we requested from the
11062         window manager.
11063         configure events get queued as resizes now, the real stuff (size
11064         computation and allocation) now only goes on in gtk_window_move_resize().
11065         GtkWindow's requisition now contains its *real* requisition (like all
11066         other widgets), *not* taking usize into account.
11067         geometry_info->last_{width|height} is now updated from set_hints() only
11068         so it always contains the last hints we set for the window manager.
11069         made some event handlers return TRUE instead of FALSE.
11070         the overall code should be much more straight forward now, and the
11071         significant code portions are accompanied by comments now.
11072         (gtk_window_set_hints):
11073         removed requisition argument and made it
11074         fetch the requisition through gtk_widget_get_child_requisition.
11075         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11076         does that now.
11077         (gtk_window_show):
11078         ensure that the widget is realized before calling 
11079         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11080         ensure that we got properly size requested and allocated before
11081         realization.
11082         (gtk_window_configure_event):
11083         ignore plain window moves, or reallocate the widget tree through the
11084         resize queue otherwise.
11085         (gtk_window_move_resize):
11086         mostly rewrote this function to figure window manager hints more
11087         reliably, coalesce window moves and resizes to reduce configure events
11088         and do actuall size allocations.
11089
11090 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11091
11092         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11093         that have a resize pending, because a redraw is already queued for them.
11094
11095         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11096         hack to clear resize_widgets.
11097
11098         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11099         for resize containers prior to size allocation. (this is also a bit
11100         ugly, but avoids side effects for stopped emissions and is thus more
11101         reliable).
11102         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11103
11104         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11105         function from gtk_tooltips_expose, as we connect to ::expose_event
11106         *and* ::draw now.
11107
11108 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11109
11110         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11111         checks.
11112         (gtk_target_list_unref): Likewise.
11113
11114         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11115
11116 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11117
11118         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11119         guard against division by zero. (Fixes bug #1339)
11120
11121 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11122
11123         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11124         Prevent the trivial leak of information of allowing
11125         word motion when the entry is not visible.
11126
11127 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11128
11129         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11130         modality to error dialog as well as confirmation dialogs.
11131         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11132
11133 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11134
11135         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11136         tree->view_lines.
11137         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11138
11139         * gtk/Makefile.am (install-data-local): Solaris apparently
11140         has various troubles with ln -f; use rm first instead.
11141         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11142
11143 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11144
11145         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11146         use `cp' followed by `rm' (the `rm' was already there).
11147
11148 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11149         
11150         * configure.in: Fix autoconf warnings about cross compilation by
11151         trying to provide sane defaults for AC_TRY_RUN.
11152         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11153         put them into $(srcdir) when generated. Also add a dependency of
11154         gtksignal.h on gtkmarshal.h for -j builds. 
11155         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11156
11157 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11158
11159         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11160         GDK_THREADS_{LEAVE,ENTER} pair.
11161         (From Paul Fisher <pnfisher@redhat.com>)
11162
11163 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11164
11165         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11166         width and height are always >0 (owen).
11167
11168 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11169
11170         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11171         change that assured that a widget's allocated with and height are
11172         always >1, since this breaks *buggy* panel code. unfortunately this
11173         back-breaks the gimp's color selector.
11174
11175         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11176         allocation is always >0 in width and height, before sending the
11177         configure event; this is a *gross* hack to get the gimp back to work.
11178         
11179         * marked both cases with TODO-1.3
11180
11181 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11182
11183         * gtk/gtktext.c: Don't display wrap indicators when
11184         text is not editable and word wrap is on.
11185
11186 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11187
11188         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11189         option menus here as they are not derived from menu shell, assure that
11190         the option menu has a menu we can add items to.
11191
11192 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11193
11194         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11195         width/height to (gint) before calculations and check against < 0 to
11196         avoid guint wraparounds.
11197
11198 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11199
11200         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11201         width and height is never zero. sanity check both dimensions against
11202         32767 and issue a warning if the allocation is greater than that.
11203
11204 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11205
11206         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11207         to g_main_pending() as well.
11208
11209 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11210
11211         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11212         call to g_main_iteration() - since that will regrab
11213         GTK+ lock to process events.
11214
11215 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11216
11217         * gtk/gtkwindow.c
11218         - Regularize with the rest of GTK+ by making widget->requisition
11219           not reflect the set_usize()
11220         - Always recompute geometry hints, then check if they
11221           changed before sending them to the X server. The
11222           previous checks for changes would fail in a number
11223           of circumstances. 
11224
11225 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11226
11227         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11228
11229 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11230
11231         * gtk/gtkdnd.c:
11232         - Code cleanups
11233         - Instantaneously update on modifier key presses
11234         - Allow cancellation of the drag with Escape.
11235
11236 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11237
11238         * gtk/testgtk.c (create_handle_box): Set the policy
11239         to auto_shrink - otherwise the appearance is rather
11240         strange when flipping between horizontal and vertical.
11241
11242 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11243
11244         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11245         (gtk_window_set_default_size): don't change a value if it's < 0.
11246         queue a resize.
11247
11248 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11249
11250         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11251
11252 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11253
11254         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11255         add an extra "/" when concating "/" + filename.
11256         (From Matt Grossman <mattg@oz.net>)
11257
11258 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11259
11260         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11261         for fg_gc if we set it for drawing pixmap.
11262
11263 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11264
11265         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11266         
11267         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11268         already set, call old engine's destroy function and
11269         unref the old engine.
11270
11271 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11272
11273         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11274
11275 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11276
11277         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11278
11279 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11280
11281         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11282         expand behaviour changed.
11283
11284         * gtk/gtklabel.c (gtk_label_set_pattern):
11285         (gtk_label_set_justify):
11286         (gtk_label_set_line_wrap):
11287         don't bother invoking queue_clear, the reallocation does
11288         that for us, always free_words so the upcoming resize will
11289         relayout the label's contents.
11290
11291 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11292
11293         * applied argument implementation patches from Elena Devdariani
11294         <elena@cogent.ca>.
11295
11296         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11297         ::space_style, ::relief
11298         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11299         * gtk/gtkpreview.c: ::expand
11300         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11301         * gtk/gtknotebook.c: ::homogeneous
11302         * gtk/gtklabel.c: ::wrap
11303         * gtk/gtklist.c: ::selection_mode
11304         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11305         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11306         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11307         * gtk/gtkclist.c: ::sort_type
11308         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11309         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11310
11311 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11312
11313         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11314         comment.
11315
11316 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11317
11318         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11319         counting right when we have to attach a new style
11320         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11321
11322         * gtk/gtkstyle.c: Documented the refcounting
11323         peculularities of gtk_style_attach.
11324
11325 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11326
11327         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11328         window types.
11329
11330         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11331         of GTK_TOPLEVEL for creating the window.
11332
11333 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11334
11335         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11336         the last argument (reported by Per Winkvist).
11337         
11338 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11339
11340         Fixes for invisible XOR lines (Frank Loemker
11341         <floemker@TechFak.Uni-Bielefeld.DE>)
11342         
11343         * gtk/gtkclist.c (gtk_clist_realize): Always use
11344         a non-zero pixel for GDK_XOR.
11345
11346         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11347         Use GDK_INVERT instead of GDK_XOR.
11348
11349 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11350
11351         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11352         signals if h/voffsets differ from adjustment values.
11353         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11354
11355 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11356
11357         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11358         ::selection-done emissions up to the topmost menu shell.
11359
11360 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11361
11362         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11363         the user data on the window before destroying it.
11364
11365         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11366         unrealize handler to take care of destroying 
11367         notebook->panel properly. 
11368         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11369
11370         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11371         of g_new and g_realloc to stop memory leak. (Actually,
11372         we could just use g_realloc(), but I'm not 100% sure
11373         that is portable).
11374         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11375
11376 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11377
11378         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11379
11380         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11381         for fontsets.
11382
11383         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11384         with bin/button confusion.
11385
11386 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11387
11388         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11389         and show how preselection of radio items is done.
11390
11391 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11392
11393         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11394         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11395         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11396         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11397         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11398         * gtk/gtktable.c (gtk_table_attach): 
11399         * gtk/gtklist.c (gtk_list_insert_items): 
11400         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11401         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11402         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11403         * gtk/gtkbin.c (gtk_bin_add): 
11404         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11405         * gtk/gtkfixed.c (gtk_fixed_put): 
11406         * gtk/gtklayout.c (gtk_layout_put):
11407         general fixups to container_add logic. always realize child if
11408         child->parent is realized, only map the child and queue a resize
11409         if child and child->parent are both visible.
11410
11411 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11412
11413         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11414         instead of gtk_container_foreach to walk and unrealize children, so
11415         composite children get also unrealized.
11416         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11417         (gtk_widget_map): assert that the widget is visible (basic constrain).
11418         (gtk_widget_real_map): assert that the widget is realized (basic
11419         constrain).
11420
11421 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11422
11423         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11424
11425 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11426
11427         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11428         file for iso-8859-2 locales.
11429
11430         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11431
11432 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11433
11434         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11435          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11436          Remove some suspicious and useless lines. 
11437
11438 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11439
11440         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11441         width,height = 0, 0 to mean - here to edge of window,
11442         instead of -1, -1, since the former is all we support.
11443
11444 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11445
11446         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11447         when removing from quit_functions list.
11448
11449 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11450
11451         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11452
11453 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11454
11455         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11456          When redrawing characters on non-visible entry, use appropriate
11457          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11458
11459 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11460
11461         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11462         from drag coordinates.
11463         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11464         use drag_dest_cell.
11465
11466         * gtk/gtktree (drag_dest_cell)
11467         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11468         (Bug #1129)
11469
11470 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11471
11472         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11473         translate_* fields.
11474         (gtk_item_factory_finalize): invoke translate_notify independant from
11475         translate_data.
11476         (gtk_item_factory_set_translate_func): likewise.
11477         (gtk_item_factory_destroy): only remove ifactory pointer from those
11478         widgets that belong to us (stupid me).
11479
11480 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11481
11482         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11483         rc_style list when lookup succeeeds.
11484
11485 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11486
11487         * gtk/gtkctree.c (resync_selection): 
11488         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11489         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11490         bug.
11491
11492 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11493
11494         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11495         Add some missing GDK_THREADS_ENTER()/LEAVE around
11496         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11497
11498 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11499
11500         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11501         rather than emit_by_name.
11502
11503         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11504         on the widget across multiple signal emissions.
11505         (gtk_editable_delete_text): same here.
11506         (gtk_editable_class_init): set widget_class->activate_signal after
11507         editable_signals[ACTIVATE] has been created.
11508
11509 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11510
11511         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11512         position here prematurely -- we might not have the
11513         right ->min_position and ->max_position yet.
11514
11515 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11516
11517         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11518         Add error traps so if the other end of the connection
11519         dies, we survive.
11520
11521         * gtk/gtkselection.c (gtk_selection_notify): Clean
11522         up properly when selection property retrieval fails.
11523         
11524         * gtk/gtkselection.c (gtk_selection_request): Correctly
11525         reject SelectionRequest notifies where the handler
11526         returns no data.
11527
11528 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11529
11530         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11531         when we've previously highlighted.
11532
11533         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11534         emit two "drag_leave" signals for Motif drops.
11535
11536         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11537         back the correct status messages when dropping from
11538         Motif onto a proxy window that is rejecting the
11539         drop.
11540
11541 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11542
11543         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11544         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11545         to compare two argument values. added gtk_arg_to_valueloc() to set a
11546         variable from an arg through its location (pointer).
11547
11548         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11549         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11550         as gfloat*, uchars are collected as guchar*, ints are collected as
11551         gint*, etc...
11552
11553 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11554
11555         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11556         Include <string.h> instead of <strings.h>.
11557
11558         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11559         (actually, a lot more duplicate includes occur if
11560          you trace through the sequence of #include's)
11561         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11562         
11563 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11564
11565         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11566         gtk-a-higuti-990322-[0-3]
11567
11568         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11569         that was causing -DX_LOCALE not to work.
11570
11571         * gtk/gtkrc.c (gtk_rc_init):
11572         X_LOCALE will never have LC_MESSAGES defined
11573
11574 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11575
11576         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11577         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11578
11579         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11580         left/right as well (gtk-michael-980726-0.patch.gz).
11581
11582         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11583         for pointer values, use gchar instead of char. fixed uline allocation
11584         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11585         chunks instead of G_ALLOC_ONLY.
11586         (gtk_label_size_request): always alter requisition as passed and leave
11587         widget->requisition alone.
11588         (gtk_label_set_text): allow NULL strings.
11589         (gtk_label_new): likewise.
11590
11591 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11592
11593         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11594
11595 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11596
11597         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11598         *and* mapped (i.e. drawable).
11599         (gtk_bin_expose): only send exposes to drawable children.
11600
11601         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11602         (gtk_box_expose): only send exposes to drawable children.
11603
11604         * gtk/gtkhscale.c (gtk_hscale_draw): 
11605         * gtk/gtkvscale.c (gtk_vscale_draw):
11606         hm, this is an ugly one. we first compute the size of our trough area
11607         here (window relative) and then check intersection with the draw_area
11608         which is parent relative because we're a NO_WINDOW widget, so we need
11609         to offset the trough area by allocation.x and allocation.y before the
11610         check. (this must not be done for the background area though, since
11611         that's already computed parent relative).
11612
11613 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11614
11615         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11616         unrealize title buttons.
11617
11618 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11619
11620         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11621         (gtk_clist_column_title_active): 
11622         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11623
11624         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11625         zero initialize event, removed superfluous gdk_window_get_pointer call
11626
11627         * gtk/gtklist.c (gtk_list_vertical_timeout)
11628         (gtk_list_horizontal_timeout): removed superfluous
11629         gdk_window_get_pointer call
11630
11631 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11632
11633         * plugging problems reported by "Bruce Mitchener, Jr."
11634         <bruce@puremagic.com> due to a purify session.
11635
11636         * gtk/gtkstyle.c:
11637         (gtk_style_ref): 
11638         (gtk_style_unref): assert ref_count to be > 0.
11639
11640         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11641         the requisition.
11642         (gtk_clist_set_shift): likewise.
11643
11644         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11645         adjustments.
11646
11647         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11648         event before sending it and set send_event to TRUE (which needs to
11649         be done for *all* synthesized events).
11650         (gtk_list_vertical_timeout): likewise.
11651
11652         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11653         leaks.
11654
11655         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11656         to TRUE when synthesizing events.
11657
11658 [ *** end of merges from 1.2 *** ]      
11659         
11660 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11661
11662         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11663         (or copied from gdkconfig.h.win32 on Win32, sigh).
11664
11665         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11666
11667         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11668
11669         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11670
11671         * gdk/gdkconfig.h.win32: New file.
11672
11673         * gdk/win32/makefile.cygwin: Build just a static archive here.
11674
11675         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11676         for the DLL from the static archive built above.
11677
11678         * gdk/gdk.def: Moved here from the win32 subdirectory.
11679
11680         * gdk/win32/*: Adapt for the changed private struct organisation.
11681
11682         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11683
11684 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11685
11686         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11687         for wheel mice (buttons 4 and 5).
11688
11689 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11690
11691         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11692         drawables use just the pixel field in the foreground and
11693         background GdkColor of the GdkGC.
11694
11695         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11696         GdkColors containing uninitialized (red,green,blue) fields, and
11697         just the pixel field filled in, and furthermore in the
11698         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11699         It thus turns out that we really don't need to have the full
11700         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11701         it later to have just the pixel values.
11702
11703 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11704
11705         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11706
11707 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11708
11709         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11710         New question on GtkLabel background colors.
11711
11712         * docs/gtk_tut.sgml:
11713           - Correct the example code callback
11714             function definitions.
11715           - Update the gtkdial example code, from Frans van Schaik.
11716           - Update setselection.c to current API.
11717
11718         * examples/Makefile examples/*/*.c: Update to code
11719         listed in tutorial.
11720
11721 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11722
11723         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11724         subrange table (from the "Developing International Software for
11725         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11726         block... Get the loaded font's charset correctly.
11727
11728         (Note that this, and the other *-win32.c files, still really are
11729         the old ones, the win32 subdirectory is not ready for compilation
11730         yet after the reorg.)
11731
11732 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11733
11734         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11735         check.
11736
11737 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11738
11739         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11740         on results of XQueryDeviceState().
11741
11742 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11743
11744         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11745         we need to accesss only ->children. We need an accessor
11746         for the children.
11747
11748         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11749         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11750         to get rid of gdkx.h include.
11751         
11752         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11753         and random references to 'None'.
11754
11755         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11756         Get rid of unused #include <gdk/gdkx.h>
11757
11758         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11759         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11760         gdkconfig.h.
11761
11762 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11763
11764         * gdk/win32/gdkdraw.c
11765         * gdk/win32/gdkfont.c
11766         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11767         following yesterday's changes. (Unrelated to Owen's reorg.)
11768
11769 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11770
11771         * gdk/x11/gdkinput-gxi.c: Add missing include,
11772           fix GdkWindowPrivate => GdkDrawablePrivate.
11773
11774         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11775
11776         * gdk/x11/Makefile.am (xinput_sources): Add missing
11777         backslash to fix building with --with-xinput=none
11778
11779 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11780
11781         Move all X specific code into the x11/ directory.
11782         Aside from shuffling things around, did the following:
11783
11784        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11785          gdk_arg_context_* - a simple argument parsing system
11786          in the style of popt.
11787
11788        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11789          gdk/x11/gdkprivate-x11.h:
11790          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11791          add ->klass and ->klass_data fields. The klass_data
11792          field points to an auxilliary structure that is
11793          windowing system dependent.
11794
11795        * gdk/gdkfont.c: Make most of the measurement functions
11796          simply wrappers around gdk_text_extents().
11797
11798        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11799          _gdk_font_strlen() function that hides the weird
11800          behavior in gtk+-1.[02] where a string is interpreted
11801          differently for 8-bit and 16-bit fonts.
11802
11803        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11804          to store common code for synthesizing double/triple
11805          press events.
11806         
11807        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11808          Make all the function that modify an existing GC
11809          simply wrappers around gdk_gc_set_values().
11810          
11811        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11812          for throwing out later.
11813
11814        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11815          GdkImagePrivate and GdkColormapPrivate to have a
11816          windowing system dependent part (GdkFontPrivateX etc.)
11817          that "derives" from the system-independent part.
11818
11819        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11820          Got rid of the included-source-files for XInput in
11821          favor of automake conditionals. (Which didn't exist
11822          when XInput support was originally added.)
11823
11824        * gdk/gdkrgb.c: Remove the visual id from the debugging
11825          statements since that is X11 specific; print out
11826          type/depth info instead.
11827          
11828
11829 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11830
11831         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11832         loading duplicates of hashed fonts.
11833
11834         * gdk/gdk.c (gdk_keysym_convert_case): rename
11835         gdk_XConvertCase to gdk_keysym_convert_case, allow
11836         results to be NULL in the GTK+ style.
11837
11838         * gdk/gdkcompat.h: Started compatibility header
11839         for renames.
11840
11841 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11842
11843         * gdk/win32/gdkprivate.h: New font private structures, related to
11844         fontsets.
11845
11846         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11847         gdk_font_list_free(). On X11, will just be wrappers to
11848         XListFonts() and XFreeFontNames(). On Win32, the code previously
11849         in gtkfontsel.c is now here.
11850
11851         New function gdk_font_xlfd_create(). On X11 will get the FONT
11852         property of the font (for GDK_FONT_FONTs), or call
11853         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11854         builds a XLFD style name from the font information in the LOGFONT
11855         struct(s).
11856
11857         New function gdk_font_xlfd_free(), which correspondingly frees the
11858         string returned by gdk_font_xlfd_create().
11859
11860         Implement fontsets on Win32. Add a function that iterates over a
11861         wide char string and calls a callback function for each substring
11862         of wide chars from the same Unicode subrange (and thus probably
11863         available in the same real font).
11864
11865         Improve the XLFD emulation a bit.
11866
11867         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11868
11869         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11870         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11871         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11872         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11873         ImmGetCompositionStringW() to get the composed Unicode chars.
11874
11875         * gdk/win32/gdkgc.c
11876         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11877         struct changes.
11878
11879         * gdk/win32/gdk.def: Add the new functions.
11880
11881 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11882
11883         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11884         get the Platform SDK to get <dimm.h>.
11885
11886         * gdk/win32/gdkevents.c: More event handling fixes and
11887         simplification. Never generate motion events with is_hint true. We
11888         used to do that on bogus grounds earlier. Windows sends
11889         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11890         moved, ignore these.
11891
11892         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11893
11894         * gdk/win32/gdkglobals.c
11895         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11896         the TrackMouseEvent function, and use it.
11897
11898         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11899         char before calling WideCharToMultiByte in order to get a string
11900         for the window title.
11901
11902         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11903
11904         * gdk/win32/gdk.def: Remove obsolete functions.
11905
11906         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11907         /nodefaultlib and /defaultlib switches.
11908
11909         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11910
11911 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11912
11913         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11914         EuroSign).
11915
11916         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11917         same type as GdkWChar, especially on Win32.
11918
11919         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11920
11921         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11922         before passing to Windows GDI for drawing etc. Convert to the
11923         system default codepage before passing to Windows as window
11924         titles.
11925
11926         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11927         support changing input locale on the fly.
11928
11929         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11930         on-the-fly changes. Convert incoming characters from the current
11931         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11932         on the current input language. Use keysym<->Unicode mapping tables
11933         and functions borrowed from xterm sources.
11934
11935         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11936         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11937         Manager) if available. IMEs and the Active IMM are available under
11938         the disguise of Chinese, Korean and Japanese support for IE and
11939         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11940         support is present in all editions (as long as you install it).
11941
11942         Call DispatchMessage from gdk_events_queue() (and thus
11943         gdk_WindowProc()), instead of duplicating the code in
11944         gdk_WindowProc().
11945
11946         Reworked the grab handling and propagation code, factored out
11947         duplicated code snippets into separate functions. Other cleanups,
11948         too.
11949
11950         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11951         the <dimm.h> header describing the Active IMM.
11952
11953         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11954         just do the same as for "single" fonts.
11955
11956         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11957         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11958         the new keysyms from gdkkeysyms.h.
11959
11960         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11961         fontset, so that gtkentry uses wide characters.
11962
11963         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11964         GTk+'s system directory "gtk+", not "gtk".
11965
11966 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11967
11968         * docs/gtkfaq.sgml: FAQ update
11969
11970 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11971
11972         * gdk/win32/gdkprivate.h: Add more font private data.
11973
11974         * gdk/win32/gdkfont.c
11975         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11976         fonts and strings. Now works much better. You still have to
11977         have a correct font selected, though. No fontset emulation yet.
11978
11979 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11980
11981         * gtk/maketypes.awk: Use G_OS_WIN32.
11982
11983         * gtk/gtk.def: Add some missing entry points. Also some non-public
11984         ones, but PyGTK porter claims to need them.
11985
11986         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11987         built-in type generation.
11988
11989 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11990
11991         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11992         GDK_FONT_FONT fonts (which is all we have for now, we don't
11993         emulate fontsets). The X11 version uses plain XDrawString in that
11994         case, too. The string passed to gdk_draw_text_wc seems to be in
11995         fact (at least, when used by gtkentry and gtktext) either in a
11996         single-byte charset, or a DBCS. Not Unicode.
11997
11998         This fixes the problem in gtkfontsel, where even if you had
11999         selected a font with a non-Latin1 charset (windows-greek, for
12000         instance), the preview still used Latin-1 glyphs.
12001
12002         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12003         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12004         (gdk_font_load): Recognize the demibold etc weights, even if we
12005         don't have the corresponding constants in the headers.
12006         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12007         version. Should save font resources a bit, when we don't have
12008         multiple HFONTs for the same font.
12009
12010         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12011         version.
12012
12013 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12014
12015         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12016         X values
12017
12018 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12019
12020         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12021         layout support (as mentioned on
12022         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12023
12024 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12025
12026         * gtk/fnmatch.c
12027         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12028
12029 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12030
12031         * configure.in (ALL_LINGUAS): Added Galician (gl)
12032
12033 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12034
12035         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12036
12037         * gdk/win32/gdkcompat.c: New file, actually provide an
12038         implementation for the deprecated functions. (Just temporarily.)
12039
12040         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12041
12042         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12043
12044         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12045
12046 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12047
12048         * configure.in: Added "uk" to ALL_LINGUAS.
12049         
12050 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12051
12052         * configure.in: correct checking for BeOS check
12053
12054         * gdk/gdktypes.h
12055         * gtk/fnmatch.c
12056         * gtk/gtkfilesel.c
12057         * gtk/gtkitemfactory.c
12058         * gtk/gtkmain.[ch]
12059         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12060
12061 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12062
12063         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12064         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12065         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12066         by Bulgarian). 
12067
12068 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12069
12070         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12071         Fix a reference to window_private->destroyed.   
12072
12073         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12074         (ugly) setting of an internal GdkWindow member to use
12075         a _slightly_ cleaner macro.
12076
12077         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12078         GdkDrawablePrivate and GdkWindowPrivate.
12079         Add extra macros for accessing GDK_DRAWABLE_ components.
12080
12081         * *.[ch]: Massive adjustments for the above, use the
12082         new macros in a lot of places.
12083
12084 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12085
12086         * gdk/gdktypes.h: Make GdkDrawable the base type,
12087         not GdkWindow.
12088
12089 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12090
12091         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12092
12093 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12094
12095         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12096
12097 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12098
12099         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12100         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12101
12102         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12103
12104         * docs/gtk-config.1: Now autogenerated.
12105         * docs/Changes-1.4.txt: started
12106         
12107 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12108
12109         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12110         to #ifdef also here.
12111
12112         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12113         Owen did to the X11 backend.
12114
12115         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12116         ScrollWindowEx when blitting inside a window, it can't be correct
12117         in the general case.
12118
12119         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12120         WM_GETMINMAXINFO is easier.
12121
12122         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12123         depth equal to the bitspixel value, not the visual's depth.
12124
12125         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12126         to 24 even if the bitspixel value is 32.
12127
12128         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12129         need to check for depth==32 when bpp==32, depth will always be 24.
12130
12131 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12132
12133         * docs/Changes-1.4.txt: Started
12134         
12135         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12136
12137         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12138         
12139         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12140         into C file.
12141         
12142         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12143         header to gdkinputprivate.h.
12144
12145         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12146         unused since before 1.2.
12147
12148 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12149
12150         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12151         expand possible hex escapes in the font family (put there by
12152         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12153         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12154         On Win32, add hex escapes here, too.
12155
12156 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12157
12158         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12159         to #ifdef GDK_WINDOWING_X11.
12160
12161 [ Merges from gtk-1-2 ]
12162
12163 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12164
12165         * configure.in: fixed "GNU Make" check to pass with new make version
12166         3.77.95.
12167
12168 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12169
12170         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12171         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12172         AM_PATH_GTK() macros don't get confused by the -pre1.
12173
12174 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12175
12176         * configure.in (REBUILD): Change check for perl5
12177           to check explicitely for v >= 5.002. (5.001
12178           does not work with our scripts.)
12179
12180 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12181
12182         * configure.in: evaluate $PERL for the perl version check. added
12183         --disable-rebuilds to give the user an option to completely disable
12184         any source autogeneration rules.
12185
12186 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12187
12188         * configure.in: evaluate $ac_make when checking for GNU Make.
12189
12190 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12191
12192         * docs/Makefile.am: added generation.txt.
12193
12194         * Makefile.am: require automake 1.4, build README from README.in and
12195         INSTALL from INSTALL.in in dist-hook.
12196         
12197         * README.in:
12198         * INSTALL.in: new files to autogenerate README and INSTALL from.
12199
12200         * configure.in: figure whether we have GNU Make
12201
12202         * docs/generation.txt: minor additions/corrections.
12203
12204 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12205
12206         * docs/gtkfaq.sgml: FAQ Update
12207
12208 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12209         
12210         * configure.in: Fix autoconf warnings about cross compilation by
12211         trying to provide sane defaults for AC_TRY_RUN.
12212
12213 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12214
12215         * ltconfig
12216         * ltmain.sh: upgrade to libtool 1.3.3
12217
12218 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12219
12220         * INSTALL: Indicate that the --with-glib= configure
12221         time flag is unsupported.
12222
12223 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12224
12225         * docs/generation.txt: Added a file that gives
12226         documenation about the autogeneration process for
12227         various autogenerated files.
12228         
12229 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12230
12231         * configure.in (LIBS): Look for libgmodule in the
12232         right location.
12233
12234 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12235
12236         * docs/gtk_tut.sgml: Removed references to
12237         code examples in my directory on gtk.org as
12238         they should all be in the tutorial now.
12239
12240         * docs/gtk_tut.sgml: Added sources for dial-test
12241         and scribble-xinput programs that were previously
12242         missing.
12243
12244 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12245
12246         * TODO: Added entry about menu keyboard navigation, removed
12247         some finished items.
12248
12249 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12250
12251         * acinclude.m4: Standardize on func_dgettext
12252         not func_gettext, so that the checks for dgettext
12253         actually are paid attention to.
12254
12255 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12256
12257         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12258         directly, rather than repeating the checks for
12259         gettext.
12260
12261         * INSTALL: Added information about gettext and
12262         NLS support.
12263
12264         * acinclude.m4 (LIBM): Check for dgettext, not
12265         just gettext. This should hopefully fix things wrt
12266         systems with old versions of GNU gettext installed.
12267
12268 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12269
12270         * configure.in (LIBS): Look for libgmodule in the
12271         right location.
12272
12273 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12274
12275         * autogen.sh: add --enable-maintainer-mode
12276
12277         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12278
12279 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12280
12281         * docs/gtk-config.1.in:
12282           docs/Makefile.am:
12283           configure.in: gtk-config is now generated.
12284
12285         * docs/gtk-config.1: Removed, now generated.
12286
12287 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12288
12289         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12290         handle CreateNotify itself, still put out a debuging message for
12291         --gdk-debug=events. made the ReparentNotify debugging message more
12292         verbose.
12293         wrap xcoords translation for ConfigureEvents into an error trap,
12294         a destroy event may already be pending, and in that case, the
12295         actuall coordinate values are not at all critical.
12296
12297 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12298
12299         * gdk/gdkcc.c: Stop leaking the color_hash all over
12300         the place. Simplify and improve the logic.
12301
12302 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12303
12304         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12305         for prototypes and function implementations consistent (reported
12306         by Tomas Ogren).
12307
12308 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12309
12310         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12311         send_event set in debugging output.
12312         (gdk_compress_exposures): default initialize the event so we don't
12313         operate on bogus values (namely send_event).
12314
12315 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12316
12317         * gdk/gdkwindow.c: When we receive an unexpected
12318         destroy notify on one of our windows, don't just
12319         warn about it, also mark our windows as destroyed.
12320
12321 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12322
12323         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12324           name => font and name => fontset hashes. The 
12325           name => fontset hash is a _big_ win since we
12326           weren't previously caching fontsets at all and loading
12327           fontsets is expensive. The name => font hash
12328           is less of a win, but it does save us from doing
12329           repeated XQueryFont calls on the same font.
12330
12331         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12332           list so we can remove font/fontset from hash.
12333
12334 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12335
12336         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12337           and slightly confusing test. [ XInternAtom (,,TRUE)
12338           will never return None ].
12339
12340 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12341
12342         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12343           gdk/gdkwindow.c (gdk_window_set_hints):
12344
12345         Don't omit setting the properties if flags == 0 -
12346         there may be an existing set of properties there
12347         already. (Very old bug. Would it be better to
12348         delete the property instead?)
12349
12350         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12351           spelling error in comment.
12352
12353 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12354
12355         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12356           to avoid stomping over gdk_error_warnings.
12357
12358         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12359           as (bits_per_pixel + 7) / 8. This gives the same
12360           result as before for multiples of 8, but actually
12361           a "reasonable" value for 1bit or 4bit displays.
12362
12363 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12364
12365         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12366         GNU Make.
12367
12368 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12369
12370         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12371         discarding configure events.
12372
12373 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12374
12375         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12376         refcount is greater than zero.
12377
12378         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12379
12380         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12381
12382         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12383
12384         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12385
12386 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12387
12388         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12389         that format 32 => sizeof(item) == 4. It really is
12390         sizeof(long).
12391
12392 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12393
12394         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12395         core dump at all on X IO errors, only core dump
12396         if --enable-debug for X errors.
12397
12398 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12399
12400         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12401         unknown window:" message. disabled ConfigureNotify discarding code,
12402         because it led to events being processed out of order.
12403
12404 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12405
12406         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12407
12408         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12409         we export this function, supress error warnings and don't reset the
12410         error code in the first half of this function.
12411
12412         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12413         code (instead of just -1) so gdk_error_trap_pop() reveals something
12414         actually informative about the error that happened.
12415
12416         * gdk/*.c:
12417         don't rely on gdk_error_code being -1 if an error occoured, but just
12418         gdk_error_code != 0.
12419
12420 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12421
12422         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12423         pointer *before* invoking the filter function, so we at least don't
12424         crash if a filter is removed that is currently executed. window filters
12425         *really* need to be made truely reentrant at some point.
12426
12427 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12428
12429         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12430         PropertyNotify debug messages.
12431
12432 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12433         
12434         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12435         
12436         * gdk/gdkim.c: Fix cut-and-paste errors for 
12437         x/y and PreeditAttributes/StatusAttributes.
12438
12439 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12440
12441         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12442         G_MAXINT to 2^16 to alleviate overflow problems in
12443         various window managers.
12444
12445 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12446
12447         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12448         for fontsets.
12449
12450 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12451
12452         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12453         Initialize size_hints.x and size_hints.y because kwm
12454         brokenly pays attention to them.
12455         (Bug #1181 -  Lars Heete <hel@admin.de>)
12456
12457 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12458
12459         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12460         return value of gdk_list_visuals(). 
12461         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12462
12463 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12464
12465         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12466         XSetIMValues to (void *) when comparing to NULL, to workaround
12467         the problem of some compilers barfing since older X headers don't
12468         have the prototype for it.
12469
12470 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12471
12472         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12473         for pseudocolor where colormap->colors was double
12474         allocated.
12475
12476         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12477         color value in the hash table with the pixel filled
12478         in so when we do later hash table lookups, the color
12479         value is correct.
12480         
12481 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12482
12483         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12484         making the call
12485
12486 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12487
12488         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12489         pointed out by Morten Welinder <terra@diku.dk>.
12490
12491 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12492
12493         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12494           default filter from the list
12495
12496 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12497
12498         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12499           default filter from the list
12500
12501 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12502
12503         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12504
12505         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12506         g_strdup_printf instead of calcing the length separately
12507
12508 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12509
12510         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12511         that we don't do in many other places. (Fixing duplicate 
12512         #include of config.h)
12513
12514         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12515         Otherwise, #ifndef XINPUT_NONE check in the latter
12516         doesn't work. (Bug #546)
12517
12518 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12519
12520         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12521         "None" case insensitive.
12522
12523 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12524
12525         * gdk/gdkselection.c: 
12526         Add error traps so if the other end of the connection
12527         dies, we survive.
12528
12529 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12530
12531         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12532         dest_xid field into two fields - one for the window
12533         to send in messages, one to indicate the last looked
12534         up window for caching purposes. This is needed, so
12535         that Leave messages get the correct window.
12536
12537 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12538
12539         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12540         Fix warning created by people mucking around
12541         with the gsource API.
12542
12543         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12544         Change mapping between GIOCondition and GdkInputCondition
12545         to match the way the Linux kernel does it. This should
12546         fix problems where closed pipes were no longer signalling
12547         GDK_INPUT_READ on systems with a native poll().
12548
12549 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12550
12551         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12552         explicitly for the string "None" - it is in the XPM
12553         spec and some servers treat unknown colors in odd ways
12554         (like asking the user!)
12555
12556 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12557
12558         * gdk/gdkevents.c: made "->" into a "." of previous change so
12559         it compiles
12560
12561 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12562
12563         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12564         window field of the event structure before calling
12565         user filters.
12566
12567 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12568
12569         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12570         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12571
12572 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12573
12574         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12575         intermediate text property - prevents major memory
12576         leak when gdk_use_mb.
12577         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12578
12579 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12580
12581         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12582         gtk-a-higuti-990322-[0-3]
12583
12584         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12585         sizeof(wchar_t) != sizeof (GdkWChar)
12586
12587         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12588         that was causing -DX_LOCALE not to work.
12589
12590         * gtk/gtkrc.c (gtk_rc_init):
12591         X_LOCALE will never have LC_MESSAGES defined
12592
12593         * gdk/gdk.c (gdk_init_check):
12594         Remove --xim-preedit and --xim-status from argv properly.
12595
12596         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12597         that the client window is present on the X server
12598         before we pass it to the input method.
12599
12600 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12601
12602         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12603         if --display is specified on the command line, than
12604         the drag window will not be created on that display.
12605         
12606 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12607
12608         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12609         lookups with only_if_exists == TRUE were inserting
12610         bogus values into the atom cache.
12611
12612 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12613
12614         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12615         then reset it to NULL.
12616
12617         * gdk/gdkcolor.c:
12618         (gdk_colors_free): 
12619         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12620         key for g_hash_table_remove() in both functions, this prevents us
12621         from accessing possibly uninitialized portions of a GdkColor structure
12622         where we are only interested in its pixel value.
12623
12624 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12625
12626         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12627         font hash table, if we have a GdkFontPrivate entry for this font
12628         already, simply increment its reference count, provided by Olaf Dietsche
12629         <olaf.dietsche+list.gtk@netcologne.de>.
12630
12631 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12632
12633         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12634         just to be sure.
12635
12636         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12637         unused variables, leftovers from the X11 version.
12638
12639         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12640
12641         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12642         downcase fields on X11.
12643
12644 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12645         
12646         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12647         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12648
12649 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12650
12651         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12652
12653         * gtk/makefile.msc: Correct path to libintl.
12654
12655         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12656         use of gint vs. int, and gint vs. gboolean in headers and
12657         definitions. Use GtkType for the *_get_type functions. Note that
12658         these changes preserve binary compatibility.
12659
12660         * gdk/gdk.c
12661         * gdk/win32/gdk.c
12662         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12663
12664         * gtk/gtkmain.c
12665         * gtk/gtkclist.c
12666         * gtk/gtkmenufactory.c
12667         * gtk/gtknotebook.c
12668         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12669         vs. gboolean.
12670
12671         * gtk/gtkcolorsel.[ch]
12672         * gtk/gtkcombo.[ch]
12673         * gtk/gtkdrawingarea.[ch]
12674         * gtk/gtkgamma.[ch]
12675         * gtk/gtkhandlebox.[ch]
12676         * gtk/gtkhpaned.[ch]
12677         * gtk/gtkhruler.[ch]
12678         * gtk/gtkplug.[ch]
12679         * gtk/gtkpreview.[ch]
12680         * gtk/gtkruler.[ch]
12681         * gtk/gtksocket.[ch]
12682         * gtk/gtkstatusbar.[ch]
12683         * gtk/gtktoolbar.[ch]
12684         * gtk/gtkvbbox.[ch]
12685         * gtk/gtkvpaned.[ch]
12686         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12687         functions.
12688
12689         * gtk/gtkgamma.h: Fix bug, missing () in call of
12690         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12691
12692 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12693
12694         * gdk/gdkcolor.c (gdk_colormap_new)
12695         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12696         colormap->colors was allocated twice.
12697
12698         * gdk/win32/gdk.c: Remove some unused stuff.
12699
12700         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12701         colormap.
12702
12703         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12704         * gtk/gtklabel.h (gtk_label_get_type)
12705         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12706         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12707         in a couple of places, not guint.
12708
12709 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12710
12711         * configure.in,po/et.po: added Estonian language file
12712
12713 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12714
12715         * configure.in,po/da.po: added Danish file
12716
12717 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12718
12719         * docs/gtkfaq.sgml: Minor FAQ Update
12720
12721 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12722
12723         * docs/gtkfaq.sgml: FAQ update
12724
12725 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12726
12727         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12728         way to get window contents continually refreshed while resizing. I
12729         didn't like the effects myself, so it's not on by default.
12730
12731         * gdk/win32/gdkprivate.h: New flag variable
12732         gdk_event_func_from_window_proc, FALSE by default.
12733
12734         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12735         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12736         are passed --gdk-event-func-from-window-proc.
12737
12738         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12739         and we have am event_func, call it instead of enqueing the event.
12740
12741 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12742
12743         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12744         Kelley: Set expose_count in GdkEventExposes correctly.
12745
12746         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12747         MULTIPLE_WINDOW_CLASSES).
12748
12749         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12750         for bug in NT, apparently NT *does* draw the end pixel, too, in
12751         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12752
12753 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12754
12755         Improvements by Hans Breuer: 
12756
12757         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12758
12759         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12760         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12761         window contents while dragging" is turned on. Allocate at least
12762         one unique class for every GdkWindowType. If support for single
12763         window-specific icons is ever needed (eg. Dialog specific), every
12764         such window should get its own class.
12765
12766 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12767
12768         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12769         error that caused crashes.
12770
12771 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12772
12773         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12774         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12775         bugs when for instance part of the window was outside the
12776         display. Thanks to Philippe Colantoni for finding and fixing this.
12777
12778 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12779
12780         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12781         endpoint calculations which were totally wrong. (A little RTFMing
12782         helps a lot ;-)
12783
12784         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12785         from a separate directory, not from gettext, because of licensing
12786         issues (we want to use the LGPL version).
12787
12788         * README.win32: Mention the intl from glibc vs from gettext issue.
12789
12790 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12791
12792         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12793         in the key event handling: Now AltGr chars work again. Also,
12794         now Alt-digits are passed up as well as Control-digits.
12795         Pass keypad plus and minus as normal plus and minus.
12796
12797 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12798
12799         * docs/gtkfaq.sgml: FAQ Update
12800
12801 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12802
12803         * README.win32
12804         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12805         the Wintab SDK.
12806
12807         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12808         OK, but getting closer. Guard against bogus tilt data from Wacom
12809         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12810         enable easier building without Wintab.
12811
12812         * gdk/win32/gdkinput.h
12813         * gdk/win32/gdkevents.c 
12814         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12815         
12816         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12817         code. As we have just one visual on Win32, no sense to have it in a
12818         table, and no need for the hash table.
12819
12820         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12821         better on white background.
12822
12823 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12824
12825         * README.win32: Update gcc build instructions. Mention gettext is
12826         GPL.
12827
12828         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12829         supported cursor size with GetSystemMetrics.
12830
12831         * gdk/win32/gdkfont.c
12832         * gtk/gtkfontsel.c: Guard against some font weight and charset
12833         symbols being undefined (in mingw32 headers).
12834
12835         * gdk/win32/makefile.cygwin
12836         * gtk/makefile.cygwin
12837         * gtk/gtkthemes.c: No longer need to have differently named
12838         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12839
12840 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12841
12842         * docs/gtkfaq.sgml: Long awaited FAQ update.
12843
12844 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12845
12846         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12847         it. Obscure bit manipulation needed.
12848
12849         * gdk/win32/gdkevents.c: Logging.
12850         
12851         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12852         style (file name include compiler name) for theme engines.
12853
12854 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12855
12856         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12857
12858         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12859         events. The key.string wasn't zero-terminated, still we strdup'ed
12860         it in gdk_event_copy(). Synthesize crossing events for button
12861         events before possible propagation.
12862
12863         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12864
12865         * gdk/win32/makefile.cygwin
12866         * gtk/makefile.cygwin: Use new DLL naming style for the
12867         GCC-compiled ones.
12868
12869         * gdk/win32/makefile.msc
12870         * gtk/makefile.msc: Cosmetics mostly.
12871
12872         * gtk/gtk.def: Add missing entry points.
12873
12874         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12875
12876 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12877
12878         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12879         or height is zero. Don't print a warning if Pie or Arc fails, they
12880         always fail (?) for very narrow ellipses.
12881
12882         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12883         the part or the destination window corresponding to source area
12884         outside of the source drawable's boundary.
12885
12886         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12887         anything if less than two points.
12888
12889         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12890         return NULL. Gtk cut-and-paste inside a single program works
12891         better this way. (It always gets the clipboard contents from
12892         Windows, not from its own copy, which is cleared anyway. I can't
12893         say I fully understand what happens... Emulating the X selection
12894         and property stuff is a bit of a mess.)
12895
12896         * gdk/win32/gdkevents.c
12897         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12898
12899         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12900         that never got deleted). Revamp gdk_region_shrink.
12901
12902         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12903         after use.
12904
12905         * gtk/gtk.def: Add some missing entry points.
12906
12907         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12908         component.
12909
12910 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12911
12912         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12913         Control-digits specially.
12914
12915 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12916
12917         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12918
12919 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12920
12921         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12922         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12923         finding this.)
12924
12925 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12926
12927         * gtk+.spec.in: Corrected some typos in files section.
12928         
12929 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12930
12931         * README.win32: Mention using GNU gettext.
12932         * config.h.win32: Enable NLS stuff.
12933         * gtk/makefile.msc: Use GNU gettext.
12934         * gdk/win32/gdkdnd.c: Minor header reorg.
12935         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12936         cosmetics.
12937         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12938         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12939
12940 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12941
12942         * acinclude.m4
12943         * config.guess
12944         * config.status
12945         * ltconfig
12946         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12947
12948 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12949
12950         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12951         SafeAdjustWindowRectEx. Don't override all calls to
12952         AdjustWindowRectEx by it, but use it only in two places: When
12953         creating a new top-level window and when moving a top-level
12954         window.
12955
12956         Use screen coordinate rectangle, not client rectangle, in
12957         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12958         when we try to place a window so that the decoration (mainly,
12959         title bar) isn't visible.
12960
12961         These changes fix the bug that showed up for instance as the
12962         GIMP's saved top-level windows moving right and down (by an amount
12963         equal to the window decoration) for each session. This bug showed
12964         up also in testgtk's "Saved Position".
12965
12966         gdk_window_resize also redone a bit.
12967
12968 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12969
12970         * gtk/testgtkrc: Add (commented out) Windows-style theme
12971         include line.
12972
12973         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12974
12975 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12976
12977         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12978         gdkx.h to a gdk subdirectory, so that applications can include
12979         these with <gdk/*.h> without trouble.
12980
12981         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12982         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12983         have their bitmap destroyed.
12984
12985         * gdk/win32/gdk.def: Add gdk_root_parent.
12986
12987 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12988
12989         * configure.in
12990           gtk-config.in
12991           ltconfig
12992           ltmain.sh     
12993           gtk/Makefile.am: changes to compile nicely (with xlib) 
12994           on BeOS
12995
12996 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12997
12998         * acinclude.m4
12999         * config.guess
13000         * config.sub
13001         * ltconfig
13002         * ltmain.sh: upgrade to libtool 1.3
13003
13004 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13005
13006         * gtk/gtkclist.c:
13007         * gtk/gtkctree.c: merges from gtk-1-2
13008
13009 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13010
13011         Support added for building using a GNU toolchain on Win32,
13012         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13013
13014         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13015         * config.h.win32: Changes for gcc.
13016         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13017         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13018         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13019         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13020         Protect shl stuff unavaiilable with mingw32 headers.
13021         * gdk/win32/gdkevents.c: Fix typo.
13022         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13023         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13024         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13025         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13026         the mingw32 headers.
13027         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13028         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13029         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13030         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13031         Test for NATIVE_WIN32, not _MSC_VER.
13032         * gtk/gtkmain.c: No use warning about developer version on Win32,
13033         there aren't any non-developer versions anyhow.
13034         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13035         * gtk/makefile.msc: Use pthread from another directory. Minor other
13036         changes. 
13037
13038 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13039
13040         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13041           default filter from the list
13042
13043 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13044
13045         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13046          when gtk_widget_grab_default() is called for a widget that
13047          is not within a GtkWindow.
13048
13049 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13050
13051         * docs/gtk_tut.sgml, examples/clist.c: use a
13052           scrolled window in the clist example. Minor
13053           tutorial fixes.
13054
13055 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13056
13057         * docs/gtk_tut.sgml: Style check from David King
13058           <dking@youvegotmail.net>
13059
13060 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13061
13062         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13063         compile with unknown value of GDK_WINDOWING
13064
13065 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13066
13067         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13068         after the rule is fired.
13069         (install-exec-local): Install gdkconfig.h only if the contents are
13070         different from the currently installed gdkconfig.h.
13071
13072 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13073
13074         * gdk/Makefile.am (configexecincludedir): Rename from 
13075         configincludedir so that gdkconfig.h will be installed 
13076         as part of `make install-exec'. 
13077
13078 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13079
13080         * acinclude.m4
13081         * config.guess
13082         * config.sub
13083         * ltconfig
13084         * ltmain.sh: upgrade to libtool 1.2f
13085
13086         * autogen.sh: libtool is not required to autogen gtk+
13087
13088         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13089         needed)
13090
13091 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13092
13093         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13094         declaring gdk variables exported/imported from the DLL. New image
13095         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13096         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13097         GDK_DRAG_PROTO_OLE2.
13098
13099         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13100         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13101         declared only for the Win32 version, but could be in the X11
13102         version as well. (Needed for a Xlib-less gdk_imlib.)
13103         gdk_color_hash should have only one parameter. Declare
13104         gdk_threads_mutex with GDKVAR.
13105         
13106         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13107         just one parameter.
13108
13109         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13110         per pixel, not bits.
13111
13112         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13113         Fetch bpp (which means bits-per-pixel here) from another place on
13114         Win32. Accept also depth==32 (which we might get on Win32) with
13115         bpp==32.
13116
13117         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13118         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13119         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13120         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13121         in the backend-dependent directory, not in the common gdk
13122         directory.
13123
13124         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13125         headers.
13126
13127 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13128
13129         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13130         want to use the Gtk+ devel version (which is true, and yes - even i am
13131         currently working with the 1.2.x branch). so everyone reading this, you
13132         probably want to issue
13133         cvs checkout -r glib-1-2 glib
13134         and
13135         cvs checkout -r gtk-1-2 gtk+
13136         as your next two comands.
13137
13138 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13139
13140         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13141         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13142
13143         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13144         file. strongly deprecated the GTK_HAVE_* macros, we provide
13145         GTK_CHECK_VERSION() for people that need to check for certain
13146         Gtk+ versions.
13147
13148         * gtk/gtkcompat.h: removed this from CVS.
13149         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13150         idea right from the start, it just didn't seem like that back then.
13151
13152 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13153
13154         * merges from gtk-1-2:
13155
13156 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13157
13158         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13159         item factory class has been created.
13160         (gtk_item_factory_parse_rc): likewise.
13161
13162         * gtk/gtkmenu.c:
13163         keep proper references for old_active_menu_item.
13164         (gtk_menu_reparent): unset the usize of the new parent,
13165         so the menu can sanely be size requested and we don't get nasty screen
13166         artefacts upon next reparentation.
13167         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13168         enter notify. only synthesize enter notifies if the pointer really is
13169         inside the event window.
13170         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13171         (gtk_menu_popup): move the background setting stuff into
13172         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13173
13174         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13175         gtk_menu_shell_select_item() to select the new item.
13176         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13177         do the right thing for deselection as well.
13178
13179 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13180
13181         * gtk/gtkwidget.[hc]:
13182         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13183         are locked.
13184
13185         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13186         existing accelerators if the widget's accelerators are locked.
13187
13188 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13189
13190         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13191
13192         * gtk/gtkmenu.c: truely forward key press and key release events to
13193         the menu widget from the toplevel or tearoff window. we can't simply
13194         connect to that, we need to stop further processing of the events as
13195         well.
13196
13197 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13198
13199         * gtk/gtkmenu.c:
13200         (gtk_menu_key_press): pass event->keyval, event->state to
13201         gtk_accelerator_valid, instead of event->keyval twice.
13202         refuse to install single letter accelerators for menus that use
13203         single letter shortcuts.
13204
13205         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13206         gtk_menu_ensure_uline_accel_group().
13207
13208         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13209         which will always return an uline accel group, made
13210         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13211         yet created.
13212
13213 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13214
13215         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13216
13217         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13218         Leave button sensitive, trap  button_press, button_release,
13219         motion_notify, enter_notify and leave_notify events instead.
13220         (gtk_clist_column_title_active): disconnect event handler.
13221         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13222         Guillaume Laurent <glaurent@worldnet.fr>
13223
13224 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13225
13226         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13227         width/height mixups.
13228
13229         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13230         if needed.
13231
13232 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13233
13234         * gtk/testgtk.c (create_item_factory): unref the item factory after
13235         window's destruction.
13236
13237         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13238         count on the menu shell around the menu item's activation, since the
13239         signal emission may cause menu shell destruction.
13240
13241         * gtk/gtkitemfactory.c:
13242         the previous code leaked one accel group per menu. we use
13243         gtk_menu_get_uline_accel_group() now to fix that, and with that
13244         also create the underline accelerator group of the menus only if
13245         required (i.e. an underline accelerator has been specified).
13246         (gtk_item_factory_construct):
13247         (gtk_item_factory_create_item): removed code that would create an
13248         extra accel group for the menu (and leak references).
13249         (gtk_item_factory_create_item): adapted the underline accelerator
13250         installation code to properly feature gtk_menu_get_uline_accel_group().
13251
13252         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13253         menu->accel_group, this may return NULL if the accelerator group
13254         hasn't been set yet.
13255         added gtk_menu_get_uline_accel_group() to retrive the underline
13256         accelerator group of the menu, this will be created on demand
13257         and proper care is taken about its reference count.
13258
13259         * gtk/gtkitemfactory.h:
13260         * gtk/gtkitemfactory.c:
13261         dumped the approach of keeping a widgets by action list on the
13262         factory since the factory<->widget destroy negotiation didn't work
13263         and would be hard to get going at all. instead we keep a list of
13264         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13265         persistant throughout a program's life time).
13266         also, i removed the static const gchar *key_* variables, and made
13267         them inline strings (they weren't actually used anyways).
13268         (gtk_item_factory_add_item): update ifactory->items.
13269         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13270         the item factory pointer from the remaining ifactory widgets).
13271         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13272         list to find the widget.
13273         (gtk_item_factory_get_item): new function that works around
13274         gtk_item_factory_get_widget() limitations, this function will only
13275         return menu items, even for <Branch> entries.
13276
13277 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13278
13279         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13280         font hash table, if we have a GdkFontPrivate entry for this font
13281         already, simply increment its reference count, provided by Olaf Dietsche
13282         <olaf.dietsche+list.gtk@netcologne.de>.
13283
13284         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13285         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13286
13287 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13288
13289         * gtk/gtkcontainer.c:
13290         (gtk_container_add_with_args):
13291         (gtk_container_addv):
13292         (gtk_container_add): before adding a child to a conatiner, make sure
13293         it is (default) constructed, this is neccessary because under certain
13294         circumstances the child will get relized and mapped immediatedly, in
13295         which case it has to be constructed already.
13296
13297 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13298
13299         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13300         values > 1 as TRUE also.
13301
13302 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13303
13304         * README.win32: New file.
13305                 
13306         * configure.in: Check for lstat.
13307
13308         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13309         completeness.
13310
13311         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13312
13313         * gtk/gtk.def: Removed CRs.
13314
13315         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13316         ..\gdk\win32).
13317
13318         * gdk/win32/makefile.msc: Correct upwards relative paths.
13319         
13320 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13321
13322         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13323           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13324           it was connecting a void function to expose_event and the int
13325           returning function to the draw signal
13326
13327 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13328
13329         * configure.in:
13330         Use correct path to libgmodule.la when ref'ing uninstalled copy
13331         of glib.  (Already in stable branch, Bug #417)
13332
13333 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13334
13335         Win32 merge and general portability stuff:
13336                 
13337         * acconfig.h,configure.in: Check for <sys/time.h>.
13338
13339         * gdk/win32: New directory (actually, been there for a while).
13340         
13341         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13342         NATIVE_WIN32, and use these. Always case fold on Win32. No
13343         backslashed escapes on native Win32.
13344
13345         * gtk/{gtk.def,makefile.msc}: New files.
13346
13347         * gtk/Makefile.am: Add above new files.
13348         
13349         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13350         instead of <strings.h>.
13351
13352         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13353         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13354         <unistd.h> appropriately.
13355
13356         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13357         Use ABS() (from <glib.h>) instead of abs().
13358         
13359         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13360         of gtk (and thus glib) headers, so that WIN32 will be
13361         defined. With MS C, include <direct.h> for mkdir prototype.
13362
13363         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13364         some casts, needed by MS C.
13365
13366         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13367         implemented).
13368
13369         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13370         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13371         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13372
13373         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13374                 
13375         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13376         the event is not a hint, or its window is not the slider. Needed
13377         on Win32, at least.
13378
13379         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13380         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13381         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13382         a subdirectory of the Windows directory as gtk system
13383         configuration directory.
13384
13385         * gtk/gtkselection.c: No chunks on Win32.
13386
13387         * gtk/gtksocket.c: Not implemented on Win32.
13388
13389         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13390
13391         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13392
13393         * gtk/maketypes.awk: Declare variables with a macro that expands to
13394         necessary export/import magic in the case of Win32.
13395                 
13396         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13397
13398 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13399
13400         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13401         since those were meant only for gdki18n.h.  
13402         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13403         for widechar tests.
13404         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13405
13406 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13407
13408         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13409         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13410
13411         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13412         installed) to CFLAGS.
13413
13414         * gdk/Makefile.am: Add rules for gdkconfig.h.
13415
13416         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13417         APIs.
13418
13419         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13420         gdkx.h anyway when compiling for X11.
13421         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13422         general): Merge in Win32 version.
13423         
13424         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13425         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13426         expansion (if we don't have HAVE_PWD_H), allow for drive
13427         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13428         included code from Craig Setera's port to Win32 (the one that uses
13429         X11, and the cygwin dll), even if it probably will be abandoned.
13430
13431         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13432         the user entered one herself.  This way one can complete *.h and
13433         don't get matches on any .help files, for instance.
13434         
13435 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13436
13437         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13438         font hash table, if we have a GdkFontPrivate entry for this font
13439         already, simply increment its reference count, provided by Olaf Dietsche
13440         <olaf.dietsche+list.gtk@netcologne.de>.
13441
13442         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13443         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13444
13445 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13446
13447         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13448         the number of calls to gdk_draw_point() (and thus to X) by
13449         clipping the points by hand.
13450
13451         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13452         the clip parameter.
13453         (gtk_handle_box_paint): Only paint the handle if the expose area
13454         intersects it.
13455
13456 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13457
13458         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13459
13460 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13461
13462         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13463         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13464
13465 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13466
13467         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13468          textmode (O_TEXT) for OS/2 version.
13469
13470 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13471
13472         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13473         GtkSpinButton, "input" and "output", to make the output more flexible.
13474         The user has to provide a mapping between adjustment->value and the
13475         output string (and vice versa, if the spin button is editable). 
13476         See testgtk for examples.
13477
13478 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13479
13480         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13481         new one.
13482         
13483         * configure.in: set gtk+ version to 1.3.0.