]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-2
Sanitize GtkRowReference.
[~andy/gtk] / ChangeLog.pre-2-2
1 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
4         GtkRowReference.
5
6 2001-02-28  Havoc Pennington  <hp@redhat.com>
7
8         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
9         draw_default
10         (gtk_widget_draw_focus): remove this function; we could instead
11         make it just gtk_widget_draw(), but in most cases I think the
12         result would be broken user code, so think it's better to have
13         that code not compile and get fixed
14         (gtk_widget_draw_default): ditto
15
16         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
17         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
18         
19         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
20         widgets lose/get the default, instead of calling draw_default
21         
22         * docs/Changes-2.0.txt: note about all this
23
24         Then fixed every widget in GTK, I won't list all the filenames.
25
26 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
27
28         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
29         _gtk_tree_row_reference_deleted.
30         (inserted_callback): Proxy out to
31         _gtk_tree_row_reference_inserted.
32         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
33         get around signal emission ordering problem.
34
35         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
36         fix to work with SINGLE 
37         (_gtk_tree_selection_internal_select_node): Major sanitization on
38         selections.  SINGLE now seems to work.
39
40         * tests/Makefile.am: add testtreecolumn.c:
41
42         * tests/testtreecolumn.c: New test.  Mostly points out selection
43         bugs currently, but will test columns later.
44
45         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
46         selection bug.  I hate touching this code -- it's scary.
47
48 2001-02-26  Havoc Pennington  <hp@redhat.com>
49
50         * gtk/testgtk.c: test the window state stuff
51
52         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
53         window come to the user's attention as if it were just created
54         (gtk_window_iconify): new function
55         (gtk_window_deiconify): new function
56         (gtk_window_stick): new function
57         (gtk_window_unstick): new function
58         (gtk_window_maximize): new function
59         (gtk_window_unmaximize): new function
60
61         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
62
63         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
64
65         * gdk/x11/gdkevents-x11.c: create window state events when
66         appropriate
67         (gdk_wmspec_supported): new function
68
69         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
70         iconification before showing the window
71         (gdk_window_deiconify): new function
72         (gdk_window_stick): new function
73         (gdk_window_unstick): new function
74         (gdk_window_maximize): new function
75         (gdk_window_unmaximize): new function
76
77         * gdk/gdkwindow.c: store the window state in the window; 
78         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
79         window->mapped.
80         (gdk_window_get_state): return the current window state
81
82         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
83         (gdk_event_get_state): handle GDK_WINDOW_STATE
84         (gdk_synthesize_window_state): function to create the window state
85         events
86
87         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
88         event, for changes to "window state" such as maximized, sticky, 
89         etc.
90         
91         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
92         focuses a window
93
94         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
95         finds out if we support a given WM spec hint
96
97 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
98
99         * docs/faq/gtk-faq.sgml: New question re memory leaks.
100
101 2001-02-25  Hans Breuer  <hans@breuer.org>
102
103         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
104         cause we want to loose those prototypes only in the latter case
105
106         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
107         GdkPixmapImplWin32 because it itsn't derived from it. Use the
108         impl member variable instead
109
110         * gtk/gtk.def : updated
111
112         * gtk/gtklist.c : 
113         * gtk/gtkmenus.c : include <string.h> for memset ()
114
115         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
116         for everthing built here, but for gtk-x.x.dll only. This solves
117         problem of indifferent gtk type definitions
118
119 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
120
121         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
122
123 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
124
125         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
126         column that is exposed.
127
128         (_gtk_tree_view_update_size): Changed name from set_size, and
129         changed function to do more work, and not force people calling it
130         to figure out the size.  Simplifies a lot of code elsewhere.
131
132 2001-02-23  Alexander Larsson  <alexl@redhat.com>
133
134         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
135         return solid masks for xpms that have no transparent color.
136         This makes the ..._create_from_xpm... API backwards
137         compatible.
138
139 2001-02-23  Tor Lillqvist  <tml@iki.fi>
140
141         * README.win32: Update. Mention the gtk-1-3-win32-production
142         branch.
143
144         * gdk/win32/bdfcursor.c: New file. A program that generates
145         xcursors.h. Thanks to Stefan Ondrejicka.
146
147         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
148         compact format.
149
150         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
151
152         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
153         function, uses xcursors.h.
154         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
155         cursor from inline data instead of using LoadCursor() to generate
156         it from a resource.
157
158         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
159         event, must check the Windows message for mouse button state, as
160         the GDK event state might not have been built if it is
161         undelivered. Remove one goto.
162
163         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
164         SetCursor() if the current cursor as returned by GetCursor() is
165         the window's previous cursor. The ChildWindowFromPoint() test
166         apparently didn't work correctly.
167
168         * gdk/win32/rc/*.cur: Remove.
169
170         * gdk/win32/rc/gdk.rc.in: Remove cursors.
171
172         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
173
174         * gtk/makefile.{mingw,msc}.in: Updates.
175
176 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
177
178         * gtk/gtktreemodel.h: add functions for signal emission.
179
180         * gtk/gtktreestore.c: move to use above functions instead of
181         g_signal_emit.
182
183         * gtk/gtkliststore.c: ditto
184
185 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
186
187         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
188         GObject instead of GtkObject.
189
190         * gtk/gtkliststore.c: ditto.
191
192         * gtk/gtktreemodelsort.c: ditto.
193
194         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
195         GtkTreeModelIface, instead of in each model.
196
197 2001-02-21  Havoc Pennington  <hp@redhat.com>
198
199         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
200         unbreak this function
201
202         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
203         properties
204
205         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
206         properties
207
208         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
209         properties
210
211         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
212         mean unset the max length
213
214 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
215
216         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
217         Changed name to be set_cell_data_func to make it clear what
218         the functino does.  Close bug #51069.
219
220 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
221
222         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
223         have memory actually freed.  Keeps box running longer.
224
225 2001-02-21  Alexander Larsson  <alexl@redhat.com>
226         
227         * gtk/gtkseparatormenuitem.[ch]:
228         Added new menu separator item. The drawing and size handling
229         is still done in GtkMenuItem, but the API is a bit more sane.
230         
231         * gtk/Makefile.am:
232         Add gtkseparatormenuitem.[ch].
233
234         * gtk/gtk.h:
235         Add gtkseparatormenuitem.h.
236         
237         * gtk/gtkentry.c:
238         * gtk/gtkmenufactory.c:
239         * gtk/gtktextview.c:
240         Use the new API for menu separators.
241         
242         * demos/gtk-demo/menus.c (create_menu):
243         Add some GtkSeparatorMenuItem demo code.
244
245 2001-02-20  Havoc Pennington  <hp@redhat.com>
246
247         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
248         Lee Mallabone
249
250         * gtk/gtkarrow.c: Convert to new property API, patch from 
251         Lee Mallabone
252
253 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
254
255         * tests/testtreeview.c (toggled_callback): fix to reflect change
256         in GtkTreeModelStore.
257
258 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
259
260         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
261         function to create an icon set from a pixbuf.
262
263 2001-02-20  Alexander Larsson  <alexl@redhat.com>
264
265         * gtk/gtkcellrenderertext.[ch]:
266         Add a "markup" property.
267
268         * gtk/treestoretest.c:
269         Use the markup property, remove some leftover stuff from
270         GtkTreeModelMapping.
271
272 2001-02-20  Alexander Larsson  <alexl@redhat.com>
273
274         * gtk/gtklabel.c (gtk_label_set_selectable):
275         Queue a redraw if the selectable setting was changed.
276
277 2001-02-20  Alexander Larsson  <alexl@redhat.com>
278
279         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
280         Actually copy the whole gc, not just the public parts.
281         
282         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
283         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
284         labels.
285
286 2001-02-19  Havoc Pennington  <hp@pobox.com>
287
288         * gdk/gdkwindow.c: docs
289
290         * gdk/gdkrgb.c: docs
291
292         * gdk/gdkregion-generic.c: docs
293
294         * gdk/gdkgc.c (gdk_gc_set_values): docs
295
296         * gdk/gdkdraw.c: docs
297
298         * gdk/gdkdrawable.h: deprecate drawable get/set data
299
300 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
301
302         * demos/gtk-demo/dialog.c: Add simple new demo.
303
304 2001-02-19  Havoc Pennington  <hp@redhat.com>
305
306         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
307         insert_child_anchor signal, bug #50245
308
309         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
310         from create_child_anchor, so the anchor is passed in
311
312         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
313         (_gtk_widget_segment_new): have the child anchor object passed in, 
314         instead of creating it.
315
316         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
317         to gtk_text_buffer_get_modified
318
319 2001-02-19  Havoc Pennington  <hp@redhat.com>
320
321         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
322         changed GLib without fixing GTK
323
324         * gtk/gtkrange.h: Rename all the stupid implementation detail 
325         functions to have an underscore in front. Most of them should 
326         probably just go away, but for starters don't export them.
327         Bug #50482
328
329 2001-02-19  Havoc Pennington  <hp@redhat.com>
330
331         * gdk/gdkcolor.h: test was backward, so deprecated functions were
332         excluded by default
333
334         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
335         clean up the old code a bit
336
337         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
338         inconsistent state
339
340         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
341         draw inconsistent state
342
343         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
344         (create_menu): add inconsistent test
345
346         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
347         new function
348         (gtk_check_menu_item_get_inconsistent): new function
349         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
350         state (using etched in for now)
351
352         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
353         draw inconsistent state
354
355         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
356         function, used when the user has selected a range of stuff in
357         different states
358         (gtk_toggle_button_get_inconsistent): accessor for that
359         (gtk_toggle_button_paint): draw inconsistent state (etched in?
360         don't know what else to do)
361
362 2001-02-19  Hans Breuer <hans@breuer.org>
363
364         * gtk/gtk.def : updated exported symbols
365
366         * gtk/makefile.msc.in : updated
367
368         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
369         a colormap, when invoked from testgtk::entry. I'm not sure where
370         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
371         avoids immediate crashing ...
372
373         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
374         any objections ?
375
376         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
377         0 parameter. At least msvc doesn't like macros with var args. 
378         I simply removed the extra 0, was it a feature or a typo ?
379
380         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
381         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
382         because the value assignment to the internal struct wasn't working.
383         I'm not absolutely sure. The problem could have been resolved by
384         changing the "func" declartion in the struct, but was the pointer
385         to the function pointer intended ?
386
387         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
388
389         * gdk/gdk.def : updated exported symbols
390
391         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
392         only use SetDIBitsToDevice if there is a palette at the drawable
393         and the image is GDK_VISUAL_PSEUDO_COLOR
394
395         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
396
397         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
398
399         * gdk/*/makefile.msc : updated
400
401 2001-02-19  Havoc Pennington  <hp@redhat.com>
402
403         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
404         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
405
406         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
407         (gdk_key_repeat_restore): nuke
408
409         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
410         (gdk_init_check): no atexit func
411
412         * gdk/gdkrgb.h: mark some stuff deprecated
413
414         * gdk/gdkcolor.h: mark some stuff deprecated
415         
416         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
417
418         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
419
420 2001-02-16  Havoc Pennington  <hp@redhat.com>
421
422         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
423         scroll steps.
424
425         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
426         steps, and add Ctrl-arrow shortcuts for paging visually as with
427         HScale, since Page Up and Page Down move logically.
428
429         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
430         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
431         
432         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
433         steps
434         (gtk_range_scroll): handle the visual steps
435
436         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
437         scroll steps
438
439         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
440         steps, not the logical ones.
441
442         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
443         (scroll_vertical): handle up/down steps
444
445 2001-02-19 Alexander Larsson  <alexl@redhat.com>
446
447         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
448         Copy data and free data with free().
449
450         * gdk-pixbuf/gdk-pixbuf.c:
451         * gdk-pixbuf/io-jpeg.c:
452         * gdk-pixbuf/io-png.c:
453         Use g_try_malloc/g_free instead malloc/free.
454         
455         * gdk-pixbuf/test-gdk-pixbuf.c:
456         Must... initialize... gobject...
457         
458         * gdk-pixbuf/pixops/timescale.c:
459         * gtk/gtkcalendar.c:
460         Use g_malloc instead of malloc.
461         
462 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
463
464         * gtk/testgtkrc:
465         Comment out property assignments, these don't work yet.
466
467 2001-02-17  Havoc Pennington  <hp@pobox.com>
468
469         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
470         bit.
471
472 2001-02-17  Havoc Pennington  <hp@pobox.com>
473
474         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
475         shadowed variables that had broken size request in some cases,
476         leading to bogus tooltips (#50996)
477
478 2001-02-06  Jon K Hellan  <hellan@acm.org>
479
480         Implement fast browsing of tooltips, bug #50619
481         
482         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
483         and last_popdown
484         
485         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
486         use_sticky_delay and last_popdown.
487         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
488         time of popdown.
489         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
490         is NULL.
491         (gtk_tooltips_recently_shown): New static function.  Return true
492         if < sticky_delay has elapsed since last popdown.
493         (gtk_tooltips_event_handler): Display window after sticky_delay
494         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
495         since last popdown.
496         
497 2001-02-17  Havoc Pennington  <hp@pobox.com>
498
499         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
500         instead of (). #6394
501
502         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
503         G_CONST_RETURN, make it return by reference, #50473
504         
505 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
506
507         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
508         generated ENTER_NOTIFY event with 0, otherwise not explicitely
509         setup fields contain garbage (e.g. subwindow, breaking
510         gdk_drawable_ref() upon event copy).
511         (gtk_menu_stop_navigating_submenu_cb): same here.
512
513         * gtk/gtklist.c (gtk_list_vertical_timeout): 
514         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
515         * gtk/gtkclist.c (vertical_timeout): 
516         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
517         default-zero-intialization for unions to memset(,0,), as unions are
518         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
519         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
520
521         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
522         g_closure_sink() warning.
523
524         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
525         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
526         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
527         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
528         
529 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
530
531         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
532         gtk_*_store_get, and moved to GtkTreeModel.
533
534         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
535
536         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
537
538         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
539
540         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
541         set the func.
542
543         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
544         freeze/thaw notify between setting all the properties for a cell.
545
546         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
547
548 2001-02-15  Havoc Pennington  <hp@redhat.com>
549
550         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
551         the X coordinates so they're with respect to the line, rather than 
552         with respect to the layout.
553
554         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
555         Mallabone
556
557         * gtk/testgtk.c (create_range_controls): add vscale tests, 
558         and inverted test
559
560         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
561         #50806
562
563         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
564
565         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
566         gtk_text_iter_is_end
567
568         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
569         rename gtk_text_buffer_get_end_iter
570
571         * gtk/testgtk.c (create_labels): Add test for selectable
572
573         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
574         the selection stuff. This code is kind of broken since it doesn't 
575         use the theme engine.
576
577         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
578         fix infinite loop and y offset problem
579         (gdk_draw_layout_line_with_colors): fix foreground color handling
580
581         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
582         that makes the label selectable.
583         
584         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
585         layout when the style is set, since fonts etc. could have changed.      
586
587 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
588
589         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
590
591         * gtk/gtktreemodelsimple.[ch]: removed.
592
593 2001-02-16  Alexander Larsson  <alexl@redhat.com>
594
595         * gtk/gtktreemodelmapping.[ch]:
596         New files. Implement GtkTreeModelMapping.
597         
598         * gtk/Makefile.am:
599         Add gtktreemodelmapping.[ch].
600         
601         * gtk/gtk.h:
602         Add gtktreemodelmapping.h
603
604         * gtk/treestoretest.c:
605         Test the GtkTreeModelMapping
606
607 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
608
609         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
610         have a demo, we might as well pass in real values.  Thanks to
611         clahey for pointing this out.
612
613 2001-02-14  Havoc Pennington  <hp@pobox.com>
614
615         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
616         "static" to a private function
617         (gtk_image_menu_item_class_init): remove destroy handler,
618         add "image" object property
619
620 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
621
622         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
623         Add a shortcut if the window and the current clip_region doesn't
624         overlap. This is needed when there are a lot of windows in a
625         window. The layout test in testgtk is a good test.
626
627         * gdk/linux-fb/gdkwindow-fb.c:
628         Whitespace fix.
629
630 2001-02-13  Sven Neumann  <sven@convergence.de>
631
632         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
633
634 2001-02-13  Alexander Larsson  <alexl@redhat.com>
635
636         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
637         Don't reference last_cursor if it is null. Fixes crash when rotating
638         the screen before having moved the mouse.
639
640         * gdk/linux-fb/gdkcc-fb.c: Zapp!
641
642         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
643
644         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
645         when using 90 or 270 degrees rotation.
646
647 2001-02-12  Havoc Pennington  <hp@pobox.com>
648
649         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
650         it always set the foreground, even if we were only using
651         a stipple.
652         (gdk_draw_layout_line_with_colors): new function, allow
653         override colors
654         (gdk_draw_layout_with_colors): new function, allow override
655         colors
656         (gdk_pango_layout_line_get_clip_region): function to get the clip
657         region for a logical text range
658         (gdk_pango_layout_get_clip_region): get the clip region for a
659         logical text range
660
661         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
662         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
663         the right number of arguments.
664
665         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
666         enhance the function to check that node data corresponds to a 
667         view still belonging to the tree.
668
669         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
670         GtkTreePath
671         (gtk_tree_view_inserted): ditto
672         (gtk_tree_view_child_toggled): ditto
673
674         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
675         simplify this code.
676
677         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
678         a PangoAttrList
679
680         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
681
682         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
683
684         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
685         size in the size request 
686         (gtk_menu_bar_size_allocate): consider toggle size here
687
688         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
689         that displays a widget in the toggle slot
690
691         * gtk/testgtk.c: test GtkImageMenuItem
692
693         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
694         
695         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
696         request and allocation
697
698         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
699
700         * gtk/gtkcheckmenuitem.c
701         (gtk_check_menu_item_toggle_size_request): ditto
702         
703 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
704
705         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
706         reference.
707
708         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
709         and refuse to initialize GTK+ if they fail.
710
711 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
712
713         * configure.in: Add check for gtk-doc version.
714
715 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
716
717         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
718         where the xpad/ypad was only being used on one side!
719
720 2001-02-11  Tor Lillqvist  <tml@iki.fi>
721
722         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
723         function, copied from X11 version.
724
725         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
726         DestroyCursor failures. The reason for the problem (despite the
727         inconsistent messages from GetLastError()) was that
728         DestroyCursor() cannot be called while a cursor is set in a
729         window. Set the new cursor first and then destroy the old one.
730         Thanks to jpe@archaeopteryx.com.
731
732         * gdk/win32/gdkcc-win32.c: Remove.
733
734         * gdk/win32/Makefile.am: Remove from here, too.
735         
736         * gdk/gdk.def
737         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
738
739         * gtk/gtk.def
740         * gtk/makefile.mingw.in: Updates.
741
742 2001-02-08  Havoc Pennington  <hp@redhat.com>
743
744         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
745         add a widget to a bin that already has a child.
746
747         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
748
749         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
750         
751         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
752
753         * gdk/gdk.h: remove gdkcc.h
754
755         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
756
757         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
758         GdkPixbuf, since the previous implementation was GdkColorContext
759         dependent.
760
761         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
762         
763 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
764
765         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
766         a sane value!
767
768 2001-02-08  Havoc Pennington  <hp@redhat.com>
769
770         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
771         lighten them.
772
773 2001-02-08  Havoc Pennington  <hp@redhat.com>
774
775         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
776         validation idle
777
778         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
779         cell renderer
780
781         * demos/pixbuf-demo.c (timeout): remove deprecated
782         gtk_widget_draw
783
784         * demos/testpixbuf-save.c (main): remove deprecated
785         gtk_drawing_area_size
786
787         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
788         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
789         at the start of the allocation.
790         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
791         unsetup or NULL model.
792
793         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
794         even/odd/sorted cells in the tree view.
795
796         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
797         bugfixes
798
799         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
800         backgrounds with draw_flat_box using different detail for even/odd
801         rows.
802
803         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
804         row, so we can draw the alternating colors thing
805
806         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
807         property from a synonym property, notify for the synonym.
808         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
809         (gtk_text_tag_get_property): Always return the font, even if
810         all its fields aren't set
811
812         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
813         store the attr list; it leaves us with no way to change attributes
814         in _render according to the render flags, and no way to implement
815         get_property. Instead store all the specific text attributes. 
816         Separate whether an attribute is enabled from its value. Sync all
817         properties with GtkTextTag, make them all consistent, etc.
818
819         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
820         renderers can highlight the sort row/column     
821
822         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
823         accessor functions to get values; this has the side effect of
824         showing up which accessor functions were missing. Added those.
825
826         * gtk/gtktreeviewcolumn.h: Replace set_justification with
827         set_alignment, to be consistent with GtkLabel, GtkMisc
828
829         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
830         arrow.
831
832         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
833
834         * gtk/gtktreesortable.h: updates in here
835
836 2001-02-07  Sven Neumann  <sven@convergence.de>
837
838         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
839         pango dimensions after painting the background. We used to draw
840         gigantic flat boxes here.
841
842 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
843
844         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
845         error introduced with earlier commit) (pointed out by
846         Ollie Lho)
847
848 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
849
850         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
851         which are no longer necessary.
852
853 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
854
855         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
856
857 2001-02-04  Tor Lillqvist  <tml@iki.fi>
858
859         * gdk/gdk.def
860         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
861         Provide dummy implementations.
862
863 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
864
865         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
866
867         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
868         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
869         deprecated this function.
870
871         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
872         argument.
873
874 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
875
876         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
877
878 2001-02-03  Havoc Pennington  <hp@pobox.com>
879
880         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
881         Mikael Hermansson with patch from Mikael (if there was a toggle
882         start one after the first character in the range, this function
883         was broken). Bug #50380
884
885 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
886
887         * configure.in: Remove confusing comment about X11.
888
889 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
890
891         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
892         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
893         
894 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
895
896         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
897         it breaks things on BSD. If you want to compile GTK+ with
898         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
899         when configuring, since GTK+ simply can't be "pure ANSI" 
900         in the header files it uses. (#8170, Greg Hudson)
901
902 2001-02-02  Havoc Pennington  <hp@redhat.com>
903
904         * gtk/gtkwindow.c: docs
905
906         * gtk/gtkwidget.c: docs
907         (gtk_widget_set_colormap): add a reference to the colormap
908         (gtk_widget_get_default_colormap): add a reference to the colormap
909
910         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
911
912         * gtk/gtktextiter.c: docs
913
914         * gtk/gtkmain.c (gtk_propagate_event): docs
915
916         * gtk/gtkpaned.c (gtk_paned_get_position): docs
917         (gtk_paned_set_position): docs
918
919         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
920         sort interface, no implementation yet.
921
922         * demos/testpixbuf.c (new_testrgb_window): replace
923         gtk_drawing_area_size() with gtk_widget_set_usize()
924
925         * demos/testpixbuf-drawable.c (main): ditto
926         
927         * gtk/testgtk.c: remove use of GtkStatusbarMsg
928
929         * gtk/gtktextbuffer.c: docs
930
931         * gtk/gtkstock.c: docs
932
933         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
934
935         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
936
937         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
938         
939         * gtk/gtkimage.c: add some docs in here
940         (gtk_image_size_request): change name of
941         gtk_widget_render_stock_icon
942         (gtk_image_get_icon_set): don't dup returned string
943         (gtk_image_get_icon_set): don't dup returned string
944
945         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
946         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
947         and gtkiconfactory.h functions
948
949         * gtk/gtkiconfactory.c: add some docs in here
950
951         * gtk/gtkmain.c (gtk_get_default_language): document
952         (gtk_get_current_event): document
953         (gtk_get_current_event_state): document
954         (gtk_get_event_widget): document
955
956         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
957
958         * gtk/gtkcontainer.c: Add some documentation
959         (gtk_container_add): give a more explanatory warning on adding an
960         already-parented widget, this is kind of a FAQ and also a common
961         typo that's easier to debug with a nice warning 
962
963         * gtk/gtkcellrenderertoggle.c
964         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
965         adding this, it's useless
966         (gtk_cell_renderer_toggle_set_active): remove
967         (gtk_cell_renderer_toggle_get_radio): add
968
969         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
970         the NULL cell renderer, that doesn't make any sense to me. 
971
972         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
973         demo code should never use deprecated features.
974
975         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
976         code should never use deprecated features.
977
978         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
979         gtk_widget_queue_clear_area deprecated
980
981         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
982         deprecated
983
984         * gtk/gtklabel.h: mark gtk_label_get() deprecated
985
986         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
987         a GdkImage deprecated, replaced by new consistently-named
988         functions       
989
990         * gtk/gtkmain.h: Mark gtk_exit() deprecated
991
992         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
993
994         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
995         deprecated
996
997         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
998         so it won't appear in docs and confuse people.
999
1000         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1001
1002         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1003         macros deprecated. (can't mark the type itself deprecated, since
1004         GtkProgressBar is not deprecated and we need the type decl to use
1005         GtkProgressBar)
1006
1007         * gtk/gtkpixmap.h: Mark deprecated
1008
1009         * gtk/gtkoldeditable.h: Mark deprecated
1010
1011         * gtk/gtklist.h: Mark deprecated
1012
1013         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1014         for anything anymore.
1015
1016         * gtk/gtkctree.h: Mark deprecated
1017
1018         * gtk/gtkclist.h: Mark deprecated
1019
1020         * gtk/gtkpreview.h: Mark deprecated
1021
1022         * gtk/gtkpacker.h: Mark deprecated
1023
1024         * gtk/gtktipsquery.h: Mark deprecated
1025
1026         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1027
1028         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1029
1030         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1031
1032         * gtk/gtkruler.h: Add comment that it will move out of GTK
1033
1034         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1035
1036         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1037
1038 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1039
1040         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1041         gdk_colormap_sync private since it was never exported
1042         in a header file.
1043
1044         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1045         colormap->colors[] for StaticGray, StaticColor colormaps.
1046
1047         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1048         was being used as if it was image->bits_per_pixel.
1049
1050         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1051         for the image in the GdkImage structure since it isn't
1052         reconstructable, and we need it to handle packed types
1053
1054         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1055         the assumption that on Win32 image->bits_per_pixel == image->depth,
1056         always.
1057
1058         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1059
1060         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1061         warning message if no converter can be found. 
1062
1063 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1064
1065         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1066         chars to isupper() / tolower(). (#567)
1067
1068         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1069         to clear up 64-bit warnings. (#567)
1070
1071 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1072
1073         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1074         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1075
1076         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1077         since some people set $(libdir) separately. (#1290, David Kaelbling)
1078
1079 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1080
1081         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1082         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1083         MAXPATHLEN, but the code here depends on a fixed value.)
1084         (#4524)
1085
1086 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1087
1088         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1089         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1090
1091 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1092
1093         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1094         viewable there is no way that moving the node will cause the 
1095         focus row to become not viewable, so omit check on the visibility
1096         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1097
1098 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1099
1100         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1101         selection before inserting new text.
1102
1103 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1104
1105         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1106         Make the sensitivity of the reparented child track that of
1107         the original parent menu item. (#34218, David Hodson)
1108
1109         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1110         the case where the current item is destroyed properly.
1111
1112         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1113         some edge cases with child-less menuitems.
1114         
1115 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1116
1117         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1118         key pop down window. (#12074, Jon K Hellan)
1119
1120 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1121
1122         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1123         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1124         The solution here isn't perfect - you get an extraneous
1125         emission of "toggle", which could conceivably confuse an app,
1126         but better than the current situation. LXR search seems to
1127         indicate that no apps in GNOME CVS connect to "toggle".
1128
1129 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1130
1131         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1132         gtk_public_h_sources to directly here to avoid warning when
1133         building srcdir != builddir. (#9656)
1134
1135 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1136
1137         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1138         handlers in gtkrange.c return the proper values (TRUE == handled)
1139         (#10316).
1140
1141         This is just the tip of the iceberg, but gtkrange.c is the
1142         most common place where the propagation is problematical,
1143         and also a place where it is almost certainly safe to change
1144         this in the stable branch.
1145
1146         (You don't want right click popups on a range control or anything...)
1147
1148 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1149
1150         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1151         area on focus out, even if a background pixmap isn't set.
1152         (#13941)
1153         
1154 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1155
1156         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1157         to deal with setting the shape properly when scrolling arrows are
1158         turned on, but not visible because there is sufficient space.
1159         (#13432)
1160
1161 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1162
1163         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1164         items with submenus, destroy the item along with the submenu.
1165         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1166         properly.
1167
1168         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1169         later.
1170
1171 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1172
1173         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1174         the focus widget sometimes wasn't drawn with the default if there
1175         was no default widget.
1176
1177         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1178         unreference pixmaps. 
1179
1180         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1181         for some extra safety.
1182
1183 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1184
1185         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1186         the text of a cell to the old pointer value better, by
1187         copying the new text before freeing the old text. Some code
1188         cleanup. (#8079, Karl Nelson)
1189
1190 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1191
1192         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1193         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1194
1195 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1196
1197         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1198         item from a menu, check to see if it matches 
1199         menu->old_active_menu_item, and if so, unref and clear
1200         old_active_menu_item (Patch from Pavel Cisler)
1201
1202         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1203         menu_shell->active_menu_item, if it is the child being
1204         removed. (Patch based on that of Gene Ragan, #50337)
1205
1206 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1207
1208         * gdk/linux-fb/gdkselection-fb.c: 
1209         * gdk/linux-fb/gdkcolor-fb.c: 
1210         * gdk/linux-fb/gdkdrawable-fb2.c: 
1211         * gdk/linux-fb/gdkfont-fb.c: 
1212         * gdk/linux-fb/gdkim-fb.c: 
1213         * gdk/linux-fb/gdkinput.c: 
1214         * gdk/linux-fb/gdkkeyboard-fb.c: 
1215         * gdk/linux-fb/gdkmain-fb.c: 
1216         * gdk/linux-fb/gdkrender-fb.c: 
1217         A bunch of whitespace cleanup.
1218         
1219 2001-01-30  Havoc Pennington  <hp@pobox.com>
1220
1221         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1222         #ifdef GTK_ENABLE_BROKEN.
1223
1224         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1225         GTK_ENABLE_BROKEN just before including the broken headers.
1226         
1227         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1228         deprecated types registered.
1229
1230         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1231         we have to test the broken stuff.
1232
1233         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1234         
1235 2001-01-30  Havoc Pennington  <hp@redhat.com>
1236
1237         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1238         here where prev pointer was set to the wrong thing
1239
1240         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1241         (gtk_tree_path_is_descendant): new function
1242
1243         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1244         cached length
1245         (gtk_list_store_get_iter): don't modify iter if we can't get the
1246         path.
1247
1248         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1249         
1250         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1251         GtkTreeDragDest
1252
1253         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1254         was causing segfault
1255
1256         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1257         pointer to NULL
1258
1259         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1260
1261         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1262         on returning FALSE
1263         (gtk_list_store_iter_children): ditto
1264         (gtk_list_store_iter_nth_child): ditto
1265         (gtk_list_store_iter_nth_child): ditto
1266         (gtk_list_store_iter_parent): ditto
1267
1268         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1269         on iter->user_data != NULL instead of silently accepting it.
1270         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1271         we are returning TRUE.
1272         (gtk_tree_store_iter_children): ditto
1273         (gtk_tree_store_iter_nth_child): ditto
1274         (gtk_tree_store_iter_parent): ditto
1275         (gtk_tree_store_insert): remove handling of parent->user_data ==
1276         NULL, replace with parent == NULL       
1277
1278         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1279         and a comment explaining things
1280
1281         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1282         interface support to GtkTreeStore.
1283
1284         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1285         FALSE if no prev, fix
1286
1287         * gtk/gtktreeview.c (set_source_row): use a row reference
1288         (set_dest_row): use a row reference
1289
1290 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1291
1292         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1293         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1294         (gtk_tree_selection_select_iter): The same as above.
1295
1296 2001-01-26  Havoc Pennington  <hp@redhat.com>
1297
1298         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1299         which holds a handle to a specific row (particular set of values
1300         in the model, i.e. pointer-identity row).
1301
1302         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1303         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1304         Still need to use it for the src/dest row saved on the drag context.
1305
1306 2001-01-26  Havoc Pennington  <hp@redhat.com>
1307
1308         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1309
1310         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1311         not offset by TREE_VIEW_HEADER_HEIGHT
1312         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1313         TREE_VIEW_HEADER_HEIGHT
1314
1315         * configure.in (included_loaders): for me, --with-included-loaders
1316         generates the error "the specified loader yes does not exist",
1317         i.e. the arg defaults to "yes", so change test for value ""
1318         to test for value "yes", and include all loaders in that case.
1319
1320         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1321
1322         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1323         handle TREE_VIEW_VERTICAL_SEPARATOR
1324         (gtk_tree_view_bin_expose): fix to consider the row offset as
1325         pointing halfway into vertical separator.       
1326         (gtk_tree_view_draw_node_focus_rect): ditto
1327
1328         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1329         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1330         (TRUE) to be called.
1331
1332         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1333         debug mode where the invalid region is colored in on invalidate,
1334         so you can see the flicker and know whether your redraw code is 
1335         doing a good job.
1336
1337         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1338         tree window coordinates (clip rect is in tree window coords)
1339
1340         * gtk/Makefile.am: add gtktreednd.[hc]
1341
1342         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1343
1344         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1345         drag-and-drop data operations on a model (so we can set up tree
1346         drag-and-drop automatically)
1347
1348         * gtk/testgtk.c: Add a window to change sensitivity in the
1349         GtkLabel test; add a way to change the entry frame in GtkEntry
1350         test
1351
1352         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1353         (gtk_entry_get_has_frame): new functions to remove the frame
1354         around an entry
1355         (gtk_entry_size_request): shrink requisition if no frame
1356         (gtk_entry_draw_focus): don't draw frame if no frame
1357
1358         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1359         checks inside a cell renderer
1360         (gtk_default_draw_option): ditto for options
1361
1362         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1363         children from the alignment, not the button
1364         (gtk_tree_view_column_init): ref/sink the column, to emulate
1365         GObject refcounting.
1366
1367         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1368         
1369         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1370         Use theme functions to draw the toggles 
1371
1372         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1373
1374         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1375         GdkPangoAttrEmbossed to use in rendering insensitive text
1376
1377         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1378
1379         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1380         using new GDK features
1381         
1382 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1383
1384         * gtk/gtkimage.c:
1385         Splitted gtk_image_clear into gtk_image_clear() and
1386         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1387         to avoid leaks.
1388
1389         * gtk/gtklabel.c (set_markup):
1390         Don't leak text.
1391
1392         * gtk/gtktextlayout.c:
1393         Always free display->shaped_objects.
1394
1395         * gtk/testgtk.c (create_clist):
1396         Don't leak custom style.
1397
1398 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1399
1400         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1401         Don't leak image. Simplify using gdk_colormap_query_color().
1402         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1403
1404         * linux-fb/gdkcolor-fb.c:
1405         Implemented gdk_colormap_query_color.
1406
1407 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1408
1409         * linux-fb/gdkcursor-fb.c:
1410         Don't leak built-in cursors.
1411
1412         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1413         Don't leak tmp_points.
1414
1415         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1416         Don't modify desc. Don't leak font if the PangoFont
1417         isn't found.
1418         
1419         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1420         Free dash_list.
1421
1422         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1423         Don't leak string.
1424         
1425 2001-01-20  Havoc Pennington  <hp@pobox.com>
1426
1427         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1428         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1429         me, matches Pango
1430
1431 2001-01-22  Havoc Pennington  <hp@redhat.com>
1432
1433         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1434
1435         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1436
1437         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1438         Remove, move back to gdk-pixbuf
1439
1440         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1441         to all the word functions
1442
1443         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1444         before doing anything on NULL layout or if we don't have the focus
1445
1446         * gtk/testtext.c (fill_example_buffer): "justification"
1447
1448         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1449         to be called "justification" not "justify"
1450
1451         * demos/gtk-demo/textview.c (create_tags): "justification"
1452         
1453         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1454
1455 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1456
1457         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1458         Don't leak visible_region. Use visible_region instead of region.
1459         
1460         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1461         Don't do extra gdk_drawable_ref(). This is not X.
1462         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1463         gdk_fb_focused_window is ref:ed.
1464         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1465         windows.
1466
1467 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1468
1469         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1470         Don't leak the PangoFontDescriptor.
1471
1472 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1473
1474         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1475         when not realized.
1476         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1477         (gtk_tree_view_realize): add scroll_to support
1478         (gtk_tree_view_finalize): add a finalize method.  Populate.
1479         (gtk_tree_view_insert_column): ref and sink the column.
1480         (gtk_tree_view_append_column): ref and sink the column.
1481         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1482         individual nodes.  Should make the code much more efficient, if
1483         actually used.
1484
1485 2001-01-19  Havoc Pennington  <hp@redhat.com>
1486
1487         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1488         byte_offset variable was being used to mean both "offset into
1489         layout" and "offset into buffer line" which was no longer true
1490         with addition of preedit string; fix
1491
1492 2001-01-19  Havoc Pennington  <hp@redhat.com>
1493
1494         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1495
1496         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1497         function
1498
1499         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1500         implement
1501
1502         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1503         scroll_to_cell, matches TextView scroll functions better
1504         (gtk_tree_view_tree_to_widget_coords): new function
1505         (gtk_tree_view_widget_to_tree_coords): new function
1506         (gtk_tree_view_get_visible_rect): new function
1507         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1508         (gtk_tree_view_draw_node_focus_rect): new function moved from
1509         draw_focus, also, use width of bin_window as width of the focus
1510         rect
1511         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1512         already-expanded rows
1513         (gtk_tree_view_get_cell_rect): new function
1514         (gtk_tree_view_get_path_at_pos): return the click position
1515         relative to the passed-in cell
1516         (gtk_tree_view_set_expander_column): new function
1517
1518         * configure.in: remove gtk-config-2.0 chmod
1519
1520         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1521         and properly handle drags with targets we don't understand
1522         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1523         scrolling anyway
1524         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1525         mark invisible
1526
1527         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1528         function
1529         (gtk_drag_dest_get_target_list): new function
1530         (gtk_drag_dest_set_target_list): new function
1531         
1532         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1533
1534         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1535         related to drag-and-drop
1536
1537 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1538
1539         * gdk/linux-fb/gdkprivate-fb.h:
1540         Define EMULATE_GDKFONT.
1541         Add extra pango_font stuff to GfkFontPrivate.
1542         
1543         * gdk/linux-fb/gdkdrawable-fb2.c:
1544         * gdk/linux-fb/gdkfont-fb.c:
1545         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1546         emulation using PangoFont.
1547
1548 2001-01-17  Havoc Pennington  <hp@pobox.com>
1549
1550         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1551         all the non-deprecated set_foo functions. Added missing object
1552         properties, and added g_object_notify() to setters. 
1553         Wrote docs.
1554         
1555 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1556
1557         * gtk/gtkmain.c
1558         * gtk/gtkrc.c: (Win32) Use the new
1559         g_win32_get_package_installation_(sub)directory() functions.
1560
1561         * config.h.win32.in: New file.
1562         
1563         * config.h.win32: Removed.
1564
1565         * configure.in: Output config.h.win32.
1566
1567         * Makefile.am: Add it to EXTRA_DIST.
1568
1569         * gtk/gtk.def: Update.
1570
1571 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1572
1573         * gtk/gtklabel.c (gtk_label_size_request): Set the
1574         attributes onto the PangoLayout even if they are newly
1575         created from label->pattern.
1576
1577 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1578
1579         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1580
1581         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1582         structures in functions. Fixes bug where gtk_dataset_*
1583         was accidentally still being used in one place, causing
1584         every dest side event to be treated independently.
1585
1586         * gtk/gtkdnd.c: Remove last vestages of handling
1587         ::draw (fixes warning)
1588         
1589         * gtk/gtkentry.[ch]: Add drag and drop support.
1590
1591         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1592         new function gtk_check_drag_threshhold() for checking
1593         to check if (dx,dy) has exceeded the threshhold for starting
1594         a drag and use it everywhere.
1595
1596 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1597
1598         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1599         add -I{includedir}/gtk-2.0.
1600
1601         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1602         gdk/gdk-pixbuf.h: Doc fixups.
1603         
1604         * gtk/gtkobject.h: Remove trailing , from enum
1605
1606 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1607
1608         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1609         Doh! Mixed up x and y.
1610
1611         * gdk/linux-fb/gdkglobals-fb.c:
1612         Removed gdk_fb_pointer_grab_window_events,
1613         added _gdk_fb_pointer_grab_owner_events and
1614         _gdk_fb_keyboard_grab_owner_events.
1615
1616         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1617         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1618         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1619         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1620         Send crossing events after ungrab finished.
1621         (gdk_keyboard_grab): Set ..._owner_events
1622         (type_masks): Move out of function.
1623         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1624         gdk_fb_keyboard_event_window): New functions, return the
1625         window an event should be targeted at. Handles grabs and
1626         event propagation. Can return NULL.
1627         (gdk_event_make): Remove event_mask checking. Now always
1628         returns an event.
1629                 
1630         * gdk/linux-fb/gdkkeyboard-fb.c:
1631         * gdk/linux-fb/gdkproperty-fb.c:
1632         * gdk/linux-fb/gdkselection-fb.c:
1633         Use new event_window/gdk_event_make() behaviour.
1634         
1635         * gdk/linux-fb/gdkmouse-fb.c:
1636         Use new event_window/gdk_event_make() behaviour.
1637         Only send motion events if in the same window.
1638         If grabbed, use cursor from window if sibling of grabbed
1639         window, and cursor from grabbed window otherwise.
1640
1641         * gdk/linux-fb/gdkprivate-fb.h:
1642         Update gdk_fb_window_send_crossing_events, gdk_event_make
1643         and grab varaible declarations. Add gdk_fb_*_event_window().
1644
1645         * gdk/linux-fb/gdkwindow-fb.c:
1646         Use new event_window/gdk_event_make() behaviour.
1647         Keep correct track of focus window.
1648         (gdk_window_set_events): Set all specific button motion masks
1649         if GDK_BUTTON_MOTION_MASK set.
1650
1651         * gtk/gtkdnd.c (gtk_drag_update):
1652         Free info->last_event if gdk_drag_motion returned FALSE.
1653
1654 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1655
1656         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1657         Eliminate redraws when input-only windows are shown or
1658         hidden. Thanks to jpe@archaeopteryx.com.
1659
1660 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1661
1662         * docs/faq/gtk-faq.sgml: FAQ update:
1663           - Update to bugzilla
1664           - Add GTK+ and security/SUID/SGID
1665           - Add DnD question
1666
1667 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1668
1669         * gdk/linux-fb/gdkdnd-fb.c:
1670         Some cleanups.
1671         
1672 2001-01-15  Havoc Pennington  <hp@pobox.com>
1673
1674         * tests/testtreeview.c: add test stuff for CellRendererToggle
1675
1676         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1677         accessor
1678
1679         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1680         only toggle on button press (would do release like GtkButton, but
1681         we'd need implicit grab code for treeview cells)
1682
1683 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1684
1685         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1686
1687         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1688         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1689
1690         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1691         to g_{locale,filename}_{to,from}_utf8 to match current API.
1692
1693         * gtk/makefile.msc.in (gtk_OBJECTS)
1694         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1695
1696         * gtk/gtk.def: Update.
1697
1698 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1699
1700         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1701         implementaion that more closely mimics the events that an X server
1702         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1703         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1704         with nested preview widgets, for instance, more responsive when
1705         you move the mouse quickly into them.
1706         (find_window_for_pointer_event): Make it actually compile.
1707         (gdk_event_translate): Set send_event to the value of
1708         InSendMessage (). This doesn't really mean the same as X11's
1709         send_event flag, but is close enough, says jpe@archaeopteryx.com
1710
1711 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1712
1713         * gdk/linux-fb/gdkdnd-fb.c:
1714         Implemented drag and drop.
1715         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1716         when it tries to free and then copy the same event (info->last_event).
1717         I am not sure about why this happens, but will continue looking.
1718
1719 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1720
1721         * gdk/linux-fb/gdkwindow-fb.c:
1722         Use gdk_window_invalidate_rect instead of
1723         gdk_window_invalidate_rect_clear to minimise flashing.
1724         When hiding windows you need to clear the root window though.
1725
1726 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1727
1728         * gdk/linux-fb/gdkdrawable-fb2.c:
1729         For optization, add an full_shapes argument to gdk_fb_clip_region.
1730         If this is false, only the cliprects of the shapes are used.
1731
1732         * gdk/linux-fb/gdkprivate-fb.h:
1733         Export gdk_fb_window_peek_shape.
1734         Add full_shapes to gdk_fb_clip_region.
1735
1736         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1737         When moving a window, don't clear everything under the it, just the
1738         root window. Makes stuff faster and flash less.
1739         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1740         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1741         offset of the shape.
1742         
1743
1744 2001-01-12  Havoc Pennington  <hp@redhat.com>
1745
1746         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1747         current invalid region, fixes redraw bug while scrolling the 
1748         text widget
1749
1750         * gtk/gtktextview.c, gtk/gtktextview.h:
1751         Rearrange the scrolling/validation/etc. code in a major way, 
1752         so it seems to make sense to me. Probably isn't genuinely that
1753         much better, but...
1754
1755         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1756         notifies
1757
1758         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1759
1760 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1761
1762         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1763         Hide mouse pointer while rotation. Show it afterwards.
1764
1765 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1766
1767         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1768         windows in consideration when generating clip region.
1769
1770         * gdk/linux-fb/gdkfb.h:
1771         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1772
1773         * gdk/linux-fb/gdkprivate-fb.h:
1774         Add shape to GdkWindowFBDatat.
1775         exported gdk_fb_window_get_abs_shape().
1776         removed gdk_fb_draw_lines declaration.
1777
1778         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1779         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1780         send focus changes when there is a grabbed window.
1781         (gdk_window_get_pointer): Handle shaped windows.
1782         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1783         (gdk_fb_window_peek_shape): Returns the shape for a window,
1784         handles GDK_FB_USE_CHILD_SHAPE.
1785         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1786         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1787         (gdk_window_shape_combine_mask): Implement.
1788
1789         * gtk/gtkwindow-decorate.c:
1790         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1791         setting the shape of a window makes the window transparent.
1792
1793 2001-01-11  Havoc Pennington  <hp@redhat.com>
1794
1795         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1796
1797 2001-01-10  Havoc Pennington  <hp@redhat.com>
1798
1799         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1800         add this function, bug 40251
1801
1802         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1803         of type macro   
1804
1805 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1806
1807         * acconfig.h:
1808         Added ENABLE_SHADOW_FB
1809
1810         * configure.in:
1811         Added --disable-shadowfb
1812
1813         * gdk/linux-fb/gdkcursor-fb.c:
1814         Update shadowfb when updating cursor
1815
1816         * gdk/linux-fb/gdkdrawable-fb2.c:
1817         Added wrappers for shadowfb that calls  the normal drawable
1818         methods, but calls gdk_shadow_fb_update(bounding box) when
1819         GdkWindows are drawed to.
1820         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1821         which also returns the bounding box.
1822
1823         * gdk/linux-fb/gdkfb.h:
1824         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1825
1826         * gdk/linux-fb/gdkgeometry-fb.c:
1827         Update shadowfb when scrolling window.
1828
1829         * gdk/linux-fb/gdkglobals-fb.c:
1830         Add _gdk_fb_screen_angle.
1831         
1832         * gdk/linux-fb/gdkkeyboard-fb.c:
1833         Test code for screen rotation. Shift-F2 in the xlate driver
1834         rotates the screen.
1835
1836         * gdk/linux-fb/gdkmain-fb.c:
1837         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1838
1839         * gdk/linux-fb/gdkmouse-fb.c:
1840         Use fb_width/height instead of modeinfo.xres/yres.
1841
1842         * gdk/linux-fb/gdkprivate-fb.h:
1843         Added fb_men, fb_width, fb_height & fb_stride. When using
1844         shadow fb these can differ from the framebuffer stuff.
1845         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1846         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1847         _gdk_fb_screen_angle. Removed CM, RP.
1848
1849         * gdk/linux-fb/gdkrender-fb.c:
1850         Added code for shadowfb handling and screen rotation using
1851         shadowfb.
1852
1853         * gdk/linux-fb/gdkwindow-fb.c:
1854         Use fb_mem, fb_stride, fb_width, fb_height.
1855         Added recompute_rowstride to reset the rowstride of all windows.
1856         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1857         window abs positions and window rowstrides. Usefull when the
1858         rotation has changed.
1859
1860 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1861
1862         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1863
1864 2001-01-10  Havoc Pennington  <hp@redhat.com>
1865
1866         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1867         where sibling == iter
1868         (gtk_tree_store_insert_after): handle sibling == iter
1869         (gtk_tree_store_prepend): remove stamp checks
1870         (gtk_tree_store_insert_before): ditto
1871         (gtk_tree_store_append): ditto
1872         (gtk_tree_store_get_path): ditto
1873         (gtk_tree_store_get_value): ditto
1874         (gtk_tree_store_iter_has_child): ditto
1875         (gtk_tree_store_iter_n_children): ditto
1876         (gtk_tree_store_iter_nth_child): ditto
1877         (gtk_tree_store_insert_after): ditto
1878         (gtk_tree_store_is_ancestor): ditto
1879         (gtk_tree_store_iter_depth): ditto
1880         (gtk_tree_store_insert_before): assert that sibling's parent is
1881         the same as the passed-in parent
1882         (gtk_tree_store_insert_after): assert that sibling's parent is
1883         the same as the passed-in parent
1884
1885         
1886         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1887         function to get the first iterator in a model
1888         
1889         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1890         conventionally the "root" in this sense is just NULL afaict.
1891
1892         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1893         where sibling == iter
1894         (gtk_list_store_insert_after): handle case where sibling == iter
1895
1896         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1897         automated tests for ListStore, TreeStore
1898
1899         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1900         (gtk_list_store_insert): update tail pointer, and fix it to work
1901         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1902         (gtk_list_store_append): use tail to be faster
1903         (gtk_list_store_prepend): fix it, update tail pointer
1904         (gtk_list_store_insert_after): fix it, update tail pointer
1905
1906         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1907         the list
1908
1909 2001-01-09  Havoc Pennington  <hp@redhat.com>
1910
1911         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1912         is NULL due to a pending resize
1913
1914         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1915         column width to values less than 1
1916
1917         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1918         width to be between min/max width, and still set the width 
1919         even if autosize is turned on, so the tree view can use this 
1920         function in order to autosize.
1921         (gtk_tree_view_column_init): set initial width to 1 not 0
1922
1923         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1924         setter function to modify column width, so we get notification
1925         (gtk_tree_view_insert_iter_height): ditto
1926         (gtk_tree_view_calc_size): ditto
1927         (gtk_tree_view_check_dirty): ditto
1928
1929         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1930         properties to change all the interesting attributes of the tree
1931         view column.
1932         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1933         (gtk_tree_view_column_get_clickable): add
1934         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1935         attributes; assume a cell renderer with equivalent object
1936         properties has been swapped in. Do g_object_notify().
1937         (gtk_tree_view_column_set_visible): g_object_notify
1938         (gtk_tree_view_column_get_sizing): rename from get_col_type
1939         (gtk_tree_view_column_set_sizing): g_object_notify
1940         (gtk_tree_view_column_set_width): add g_object_notify
1941         (gtk_tree_view_column_set_min_width): ditto
1942         (gtk_tree_view_column_set_max_width): ditto
1943         (gtk_tree_view_column_set_title): ditto
1944         (gtk_tree_view_column_set_clickable): ditto
1945         (gtk_tree_view_column_set_widget): ditto
1946         (gtk_tree_view_column_set_justification): ditto
1947
1948 2001-01-09  Havoc Pennington  <hp@redhat.com>
1949
1950         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1951         there are no rows in the model
1952
1953         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1954         NULL, then return the start of the list
1955
1956         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1957         if we can't get any rows from an empty model 
1958
1959         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1960         extraneous * after function pointer typedef usage
1961
1962         * Makefile.am: don't specify full path to cp and rm
1963
1964         * gtk/gtkcellrenderertextpixbuf.c
1965         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1966         NULL before dereferencing, fixes a segfault that happened from
1967         time to time
1968
1969         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1970         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1971         and reindent the function
1972         (gtk_cell_renderer_pixbuf_get_size): indentation
1973
1974         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1975         we quit it
1976         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1977         (gtk_dialog_set_default_response): New function, to set default
1978         button
1979         (gtk_dialog_set_response_sensitive): New function, to set 
1980         sensitivity of buttons
1981
1982         * gtk/gtkcellrendererpixbuf.c
1983         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1984         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1985
1986         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1987         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1988         also boxed types.
1989         (_gtk_tree_data_list_value_to_node): ditto
1990
1991         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1992         --gtk-debug=tree
1993
1994         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1995
1996         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1997
1998 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1999
2000         * gdk/win32/gdkevents-win32.c: Implement better mouse
2001         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2002         (find_window_for_pointer_event): New function.
2003         (gdk_event_translate): Use it when handling mouse events.
2004
2005 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2006
2007         * configure.in:
2008         Added --with-included-loaders option
2009
2010         * gdk-pixbuf/Makefile.am:
2011         * gdk-pixbuf/gdk-pixbuf-io.c:
2012         Add support for including selected gdk-pixbuf loaders only.
2013
2014         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2015         gtk_window_set_has_frame):
2016         Added inline documentation.
2017
2018         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2019         * docs/reference/gdk/tmpl/windows.sgml:
2020         Added inline documentation.
2021
2022 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2023
2024         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2025         realizing buttons that have already been realized.
2026
2027 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2028
2029         * tests/testtreeview.c (main): Show menu items before adding to
2030         option menu.
2031
2032         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2033         around if we kill them.
2034
2035         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2036         Return if we pass in a NULL model.
2037
2038 2001-01-08  Havoc Pennington  <hp@redhat.com>
2039
2040         * tests/testtreeview.c: hack on this some
2041
2042         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2043         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2044         list
2045         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2046
2047         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2048         functions
2049
2050 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2051
2052         * gtk/gtkwindow-decorate.[hc]:
2053         * gtk/Makefile.am:
2054         New files. Contains an implementation of a minimal WM for
2055         linux-fb.
2056
2057         * gtk/gtkwindow.h:
2058         Add the possibility for GtkWindows to specify a frame. This
2059         is used for the window decoration code, but could concievably
2060         be used for X programs too (xmms style windows).
2061         GtkWindow->frame is the toplevel window if the window is framed.
2062         The signal frame_event gets all events that are targeted to
2063         GtkWindow->frame.
2064         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2065         
2066         * gtk/gtkwindow.c:
2067         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2068         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2069
2070 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2071
2072         * docs/README.linux-fb:
2073         Correct filename ~/.pangoft2_aliases
2074
2075         * gdk/gdkwindow.h:
2076         Added new function gdk_window_get_decorations.
2077
2078         * gdk/linux-fb/gdkfb.h:
2079         Removed _gdk_window_get_decorations declaration.
2080         Renamed _gdk_window_set_child_handler to
2081         gdk_fb_window_set_child_handler.
2082
2083         * gdk/linux-fb/gdkwindow-fb.c:
2084         Renamed _gdk_window_set_child_handler to
2085         gdk_fb_window_set_child_handler.
2086
2087         * gdk/x11/gdkwindow-x11.c:
2088         New function gdk_window_get_mwm_hints().
2089         Implemented gdk_window_get_decorations.
2090
2091         * docs/reference/gdk/tmpl/windows.sgml:
2092         * docs/reference/gdk/gdk-sections.txt:
2093         Added gdk_window_get_decorations docs.
2094         
2095 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2096
2097         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2098         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2099         gdk_fb_window_send_crossing_events):
2100         Possibly send focus events when the mouse moves from one
2101         window to another.
2102
2103 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2104
2105         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2106         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2107         to match current API.
2108
2109         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2110         environment variable is set, don't call g_error when on a
2111         palettized (PseudoColor) display. Some people want to use GTK+ 
2112         in 256-colour mode even though works only partially.
2113
2114         * gdk/gdk.def
2115         * gtk/gtk.def
2116         * gtk/makefile.mingw.in: Update.
2117
2118 2001-01-05  Havoc Pennington  <hp@redhat.com>
2119
2120         * tests/testtreeview.c: hack on this a bit
2121
2122         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2123         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2124
2125         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2126         was spelled incorrectly
2127         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2128
2129         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2130         from gtk_tree_view_set_headers_active   
2131
2132         * gtk/gtktexttag.c:
2133         (gtk_text_tag_get_property): handle PROP_DIRECTION
2134         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2135         properties, bug 40235
2136
2137         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2138         forward_to_line_end
2139
2140 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2141
2142         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2143         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2144         for unicode,locale,filename conversion functions.
2145
2146 2001-01-05  Havoc Pennington  <hp@redhat.com>
2147
2148         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2149         broken if called on the first position in the buffer.
2150
2151         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2152         forward_to_delimiters to be called only if we aren't already at
2153         the delimiters.
2154
2155 2001-01-05  Havoc Pennington  <hp@redhat.com>
2156
2157         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2158
2159 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2160
2161         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2162         colormap in here. Sync from X port.
2163         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2164         Sync from X port.
2165         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2166         This happens now and then, and i don't think it is a bug.
2167         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2168         != endpoint.
2169         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2170         GDK_LINE_SOLID.
2171
2172         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2173         some of the fields filled in at least.
2174
2175         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2176         miLineArcD is no more, remove it from the function definition.
2177
2178 2001-01-04  Havoc Pennington  <hp@redhat.com>
2179
2180         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2181         this
2182
2183         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2184         user_data instead of tree_node
2185
2186         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2187         TREE_VIEW_COLUMN_SIZE
2188
2189         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2190         "size" field to "width" finishes bug 40061
2191
2192         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2193         for bitfields, bug 40268
2194
2195 2001-01-04  Havoc Pennington  <hp@redhat.com>
2196
2197         Rename some stuff:
2198         
2199         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2200
2201         s/GtkModelSimple/GtkTreeModelSimple/g;
2202         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2203         s/gtk_model_simple/gtk_tree_model_simple/g;
2204         s/gtkmodelsimple/gtktreemodelsimple/g;
2205
2206         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2207
2208         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2209         s/column_set_col_type/column_set_sizing/g;
2210
2211         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2212         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2213
2214         s/GtkCellRendererType/GtkCellRendererState/g;
2215         
2216         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2217         (gtk_cell_renderer_toggle_class_init): change "state" property to
2218         "active", to match GtkToggleButton
2219         (gtk_cell_renderer_toggle_get_active): new function, bug
2220         40269
2221         (gtk_cell_renderer_toggle_set_active): new function
2222         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2223         state through gtk_cell_renderer_set_active
2224
2225 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2226
2227         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2228         temporarily until they work again.  Brought up to date with
2229         changes in the model.
2230         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2231         model.
2232
2233 2001-01-04  Havoc Pennington  <hp@redhat.com>
2234
2235         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2236         equal to the line length, then position iterator before paragraph 
2237         separators. Fixes crash reported by Mikael Hermansson when
2238         pressing left arrow from the start of a line.   
2239
2240         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2241         about byte indexes off the end
2242         (iter_set_from_char_offset): add g_error about char offsets
2243         off the end
2244
2245 2001-01-03  Havoc Pennington  <hp@redhat.com>
2246
2247         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2248
2249         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2250         of private functions; remove inclusion of private headers.
2251
2252         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2253         function, so we don't need private functions in gtktextdisplay.c
2254
2255         * gtk/gtktextiterprivate.h: underscore-ification
2256
2257         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2258         to instead say "only useful to implement widgets"
2259
2260         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2261         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2262         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2263
2264         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2265         This function was completely broken
2266
2267         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2268
2269         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2270
2271         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2272
2273         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2274
2275         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2276
2277         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2278
2279         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2280         gtk_paint_layout
2281
2282         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2283         gtk_paint_layout
2284
2285         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2286         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2287         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2288         which were not implemented.     
2289
2290         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2291         insert_pixbuf signal. Rename delete_text to delete_range since it
2292         also deletes pixbufs and child anchors. This almost closes bug
2293         40245 (still need to deal with child anchors)
2294
2295         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2296         insert_pixbuf, change signal names as appropriate, change types of
2297         signals taking marks/tags to have the specific type, not just
2298         G_TYPE_OBJECT
2299         
2300         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2301         closes bug 40051
2302
2303         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2304         unnecessary remove_contents() call
2305         (gtk_option_menu_class_init): add a "changed" signal, closes
2306         bug 40039
2307         (gtk_option_menu_update_contents): emit "changed" if the 
2308         active menu item changes
2309
2310         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2311         cast to GtkObject, reported by Jonas Borgstrom
2312         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2313         we can't do stuff with side effects in finalize. Instead, spew a
2314         warning if the loader isn't closed.
2315
2316         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2317         colormap in here, non-X ports probably need to sync to this change
2318
2319         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2320         assertion that colormap != NULL, you can set the colormap to NULL
2321         if you like.
2322         
2323         * Makefile.am: remove gtk-config-2.0
2324
2325         * configure.in: Use pkg-config to locate GLib. Remove
2326         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2327         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2328         Use pkg-config to locate Pango. Output correct Pango libs to
2329         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2330
2331         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2332         files
2333         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2334         X11 pc files
2335
2336         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2337         unref from here
2338
2339 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2340
2341         * configure.in:
2342         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2343
2344 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2345
2346         * gtk/gtktextlayout.c
2347         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2348         variable when moving back onto a single line.
2349
2350 2001-01-01  Havoc Pennington  <hp@redhat.com>
2351
2352         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2353
2354         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2355
2356         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2357         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2358
2359 2001-01-01  Havoc Pennington  <hp@redhat.com>
2360
2361         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2362
2363         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2364         GtkTextAttributes
2365
2366         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2367         #40246
2368         (gtk_text_attributes_copy_values): rename from 
2369         gtk_text_attributes_copy
2370         (gtk_text_attributes_copy): a more standard GTK copy function, 
2371         which returns a new object
2372
2373 2001-01-01  Havoc Pennington  <hp@redhat.com>
2374
2375         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2376         
2377         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2378         don't fill in tree_view->priv->selection, kind of an unexpected
2379         side effect
2380
2381         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2382         gtkintl.h
2383         
2384         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2385         gtkintl.h
2386         (gtk_cell_renderer_get_property): remove calls to g_value_init
2387
2388         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2389         gtkintl.h
2390
2391         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2392         and include gtkintl.h
2393         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2394         property names
2395
2396         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2397         GtkTreeSelection
2398         (_gtk_tree_selection_new_from_with_view): rename, return
2399         GtkTreeSelection
2400         (_gtk_tree_selection_set_tree_view): rename with uscore
2401         (gtk_tree_selection_get_selected): fill in the "model" out param
2402         first, so it gets filled in even if we return at the top of the 
2403         function
2404         (gtk_tree_selection_real_select_all): add a comment and an else{}
2405         to clarify this a bit
2406         (gtk_tree_selection_real_unselect_all): add the same else{}
2407
2408         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2409         set_tree_view to have underscore prefixes, move them to the
2410         private header, fix return type of new_with_tree_view
2411         (struct _GtkTreeSelection): mark struct
2412         fields private  
2413
2414         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2415         GtkTreeModelFlags, not a guint
2416         (gtk_tree_path_prev): return gboolean not gint
2417         (gtk_tree_path_up): return gboolean not gint
2418
2419         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2420         return GtkTreeModelFlags, not a guint
2421
2422         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2423         that child model is non-null before unrefing it
2424         (g_value_int_compare_func): make this a qsort compare func, not 
2425         a boolean predicate
2426
2427         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2428         (add -umn to the end), and mark it unimplemented
2429         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2430         I don't see what it's for - doesn't the model always sort itself?
2431         (gtk_tree_model_sort_set_compare): this had the wrong signature
2432
2433         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2434         Fix the docs to say that it destructively replaces existing
2435         attributes (previously said that it added attributes).
2436         (gtk_tree_view_column_set_visible): canonicalize bool before
2437         equality testing. Also, check for realization before
2438         hiding/showing the tree_column->window; if this window could exist
2439         before realization, then it's busted and needs fixing, we can't 
2440         create GDK resources pre-realization. Also, remove
2441         superfluous queue_resize(), since set_size() does that for us.
2442         (gtk_tree_view_column_set_col_type): check realization before 
2443         using tree_column->window
2444
2445         * gtk/gtktreedatalist.c: fix filename in copyright notice
2446
2447 2000-12-31  Havoc Pennington  <hp@pobox.com>
2448
2449         * gtk/gtktextview.c: Rearrange all the
2450         scroll-while-dragging-or-selecting code to be different, not
2451         necessarily better. ;-)
2452         (gtk_text_view_scroll_to_mark): Change this
2453         function to take within_margin as a fraction instead of a pixel
2454         value, and to take alignment arguments (indicating where to align 
2455         the mark inside the visible area)
2456         
2457         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2458         to GtkObject
2459
2460         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2461         behavior so that offsets past the end of the line are not 
2462         allowed, and an offset equal to the line length moves the iterator
2463         to the next line
2464         (gtk_text_iter_set_line_index): make parallel change
2465         (gtk_text_iter_get_bytes_in_line): add this function
2466         
2467         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2468         of byte indexes off the end of the line; byte index at the end of
2469         the line now returns FALSE and doesn't fill in the requested
2470         values, byte index past the end of the line is an error.  Also,
2471         don't allow -1 offset anymore, since its meaning is unclear.
2472
2473         This change exposes some bug in visual cursor motion, where we
2474         end up with a huge invalid byte index; needs fixing. Symptom of 
2475         bug is a crash when you hit up arrow.
2476         
2477         (_gtk_text_line_char_locate): match the change to byte_locate
2478
2479         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2480         from start of line properly. fixes bug reported by Mikael
2481         Hermansson where backspace would delete all text before the
2482         cursor.
2483
2484 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2485
2486         * gdk/win32/gdkwindow-win32.c
2487         (gdk_window_impl_win32_get_visible_region): New function, as in
2488         the X11 backend.
2489         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2490         instead of duplicating the same code here.
2491
2492         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2493         GDK_COLORMAP macro.
2494
2495         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2496         destroy function.
2497         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2498         access that.
2499
2500         * gtk/gtk.def: Update.
2501
2502         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2503
2504 2000-12-30  Havoc Pennington  <hp@pobox.com>
2505
2506         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2507         colormap on input only windows, to avoid special cases all over
2508         the code for these windows.
2509
2510 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2511
2512         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2513         we are on a palettized display ("PseudoColor" in X11), as the code
2514         for that doesn't work anyway, and never has.
2515
2516 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2517
2518         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2519         Don't use isprint() for chars > 255.
2520
2521 2000-12-21  Havoc Pennington  <hp@redhat.com>
2522
2523         * tests/testtreeview.c: more work
2524
2525 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2526
2527         * docs/README.linux-fb:
2528         Update the docs to the new pangoft2 way.
2529
2530 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2531
2532         * configure.in:
2533         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2534         pango version.
2535         Remove modules/linux-fb/Makefile.
2536
2537         * gdk/linux-fb/gdkdrawable-fb2.c:
2538         Render glyphs using freetype.
2539
2540         * gdk/linux-fb/gdkfb.h:
2541         Add new fb-specific functions needed for managing windows.
2542
2543         * gdk/linux-fb/gdkmain-fb.c:
2544         Remove gdk_font_init/fini() calls.
2545
2546         * gdk/linux-fb/gdkpango-fb.c:
2547         Remove old implementation. Use pangoft2 instead.
2548
2549         * gdk/linux-fb/gdkprivate-fb.h:
2550         Remove PangoFBFont and related stuff.
2551
2552         * gdk/linux-fb/gdkwindow-fb.c:
2553         Implement drawable->get_visible_region.
2554         Implement support for _gdk_window_set_child_handler () and
2555         _gdk_window_get_decorations().
2556
2557         * modules/Makefile.am:
2558         Remove linux-fb subdir.
2559
2560         * modules/linux-fb/*:
2561         Removed all.
2562         
2563 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2564
2565         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2566         calls, as they are no longer needed.
2567
2568         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2569         
2570         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2571         figure out how to emit a signal on an interface.
2572
2573 2000-12-20  Havoc Pennington  <hp@redhat.com>
2574
2575         * tests: new directory to contain tests, gtk/test* should move
2576         here sometime (with appropriate on-cvs-server hackery)
2577
2578         * tests/testtreeview.c, tests/Makefile.am: a test
2579         
2580         * configure.in (AC_OUTPUT): add tests/Makefile
2581
2582         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2583         and "invisible_set" which were missing
2584
2585         * gtk/gtkrbtree.h: some cheesy indentation fix
2586         
2587 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2588
2589         * gtk/gtkinvisible.c (gtk_invisible_realize):
2590         Attach the style to the window so that the style it is not
2591         leaked when unrealizing the window.
2592
2593 2000-12-18  Havoc Pennington  <hp@redhat.com>
2594
2595         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2596         begin/end user action where appropriate
2597         (gtk_text_view_commit_handler): add begin/end user action
2598
2599         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2600         bracket interactive operations with begin/end user action pair.
2601         
2602         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2603         "interactive" arg from insert_text and delete_text signals.
2604         Add begin_user_action, end_user_action signals
2605         (gtk_text_buffer_begin_user_action): 
2606         (gtk_text_buffer_end_user_action): New functions to delimit 
2607         a user-visible action
2608
2609         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2610         signals.
2611         
2612 2000-12-18  Havoc Pennington  <hp@redhat.com>
2613
2614         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2615         was pretty non-working.
2616
2617         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2618         by passing the length to g_utf8_validate().
2619
2620 2000-12-16  Havoc Pennington  <hp@pobox.com>
2621
2622         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2623         Port to GObject, can go back in gdk-pixbuf after setting up 
2624         a gdk-pixbuf-marshal.h header over there.
2625
2626         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2627         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2628         args
2629         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2630         set
2631         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2632         here, do it when we create the buttons later
2633         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2634         (gtk_tree_view_map): paranoia checks that column->button is shown 
2635         and unmapped
2636         (gtk_tree_view_size_request): only request visible children.
2637         Move header size calculation in here, for cleanliness, and 
2638         to maintain invariants for child widgets if we eventually 
2639         let users set different children inside the buttons
2640         (gtk_tree_view_map_buttons): factor out code to map buttons,
2641         since it was being called several times
2642         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2643         windows instead of just moving them; their height may change 
2644         if we allow random widgets in there, or the theme changes.
2645         (gtk_tree_view_size_allocate): move button size allocation 
2646         above emitting the scroll signals, to ensure a sane state when we
2647         hit user code
2648         (gtk_tree_view_button_release): remove queue_resize after
2649         tree_view_set_size(), set_size() will handle any resize queuing
2650         that's needed
2651         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2652         draw_focus goo
2653         (gtk_tree_view_focus): use gtk_get_current_event() and
2654         gdk_event_get_state()
2655         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2656         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2657         semicolon
2658         (gtk_tree_view_create_button): show the button here
2659         (gtk_tree_view_button_clicked): actually emit the clicked signal
2660         on the column
2661         (_gtk_tree_view_set_size): return right away if the size is
2662         unchanged, as a cheesy optimization
2663         (gtk_tree_view_setup_model): rename set_model_realized to 
2664         setup_model to match the flag that indicates whether we've 
2665         called it
2666         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2667         exist, because set_scroll_adjustment does that and it shouldn't
2668         matter what order you call these in
2669         (gtk_tree_view_get_vadjustment): ditto
2670         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2671         for paranoia
2672         (gtk_tree_view_set_headers_visible): call
2673         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2674         (gtk_tree_view_append_column): clarify whether the return value
2675         is the count of columns before or after, and do the increment 
2676         separately from the return statement so you can tell from the code.
2677         (gtk_tree_view_remove_column): ditto
2678         (gtk_tree_view_insert_column): ditto
2679         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2680         outside the existing range, the docs say that outside-range
2681         columns are allowed, so we handle them as documented. (Presumably
2682         this allows a nice loop with column != NULL as test.)
2683         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2684         mean (left/right/center etc.).
2685         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2686         (gtk_tree_view_expand_row): add docs
2687         (gtk_tree_view_collapse_row): add docs
2688
2689         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2690         function to emit the clicked signal on a column
2691         
2692         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2693         state of an event
2694         (gdk_event_get_time): don't treat GDK_SCROLL 
2695         as a button event, remove default case from switch so gcc 
2696         will whine if we don't explicitly handle all event types
2697
2698         * gtk/gtktreeselection.h: added some FIXME 
2699         
2700         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2701         "columns" to "n_columns" and "column" to "columns" for clarity
2702
2703 2000-12-16  Havoc Pennington  <hp@pobox.com>
2704         
2705         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2706         stuff. This should make e.g. the delete key work again in the
2707         text widget...
2708         (gtk_text_iter_forward_cursor_positions): handle negative count
2709         (gtk_text_iter_backward_cursor_positions): handle negative count
2710         (gtk_text_iter_forward_word_ends): handle negative count
2711         (gtk_text_iter_backward_word_starts): handle negative count
2712
2713         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2714         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2715         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2716         GObject. No doubt will cause breakage.
2717
2718         * demos/gtk-demo/textview.c: remove hacks around
2719         non-GObject-ification of the text objects
2720
2721         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2722         the text tag
2723         
2724 2000-12-14  Havoc Pennington  <hp@pobox.com>
2725
2726         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2727         that we have Xrender
2728
2729 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2730
2731         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2732         Add two virtualized functions gdk_drawable_get_clip_region - to
2733         get the clip region when drawing.
2734         
2735         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2736         use invalidate_region.
2737
2738         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2739         region.
2740
2741         * acconfig.h configure.in: Check for Xft. For now, assume
2742         that if Xft is found, Pango was compiled with Xft support
2743         as well.
2744
2745         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2746         gdk_colormap_query_color().
2747         
2748         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2749         with Xft if appropriate.
2750
2751         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2752         a pangoxft context if we have XFT and the environment
2753         variable GD_USE_XFT is set.
2754         
2755         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2756         and also possibly an XftDraw structure.
2757
2758         * gtk/gtkfontsel.c: Handle the case where the font from the
2759         style doesn't match any of the fonts a bit better.
2760         
2761         * gtk/testgtk.c: Add tabs between directional segments for
2762         hebrew/arabic test. (Not really necessary, just a little
2763         prettier.)
2764
2765 2000-12-14  Havoc Pennington  <hp@redhat.com>
2766
2767         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2768         reading a file
2769
2770 2000-12-14  Havoc Pennington  <hp@redhat.com>
2771
2772         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2773         unused call to get_last_line()
2774
2775         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2776         here until boxed is working (and maybe after that - we should
2777         really not gratuitously break old code)
2778
2779         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2780         specific types for font_desc and tabs args, move them to
2781         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2782         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2783
2784         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2785         use GTK_TYPE_POINTER for signal signatures as a hack-around
2786
2787         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2788         PangoTabArray
2789
2790         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2791         make static
2792         (line_display_index_to_iter): make static
2793
2794         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2795         to marshal a string not a boxed
2796
2797         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2798
2799         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2800         since the UTF-8 isn't validated yet
2801
2802         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2803         lines to end in '\n'
2804         
2805         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2806         forward_to_delimiters, and grapheme boundaries
2807         (gtk_text_view_delete_from_cursor): properly handle non-newline
2808         delimiters, and grapheme boundaries
2809
2810         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2811         to gtk_text_iter_forward_to_delimiters, and make it work properly
2812         if empty lines end with a character other than '\n'
2813
2814         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2815         position
2816
2817 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2818
2819         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2820
2821         * gtk/gtk.def
2822         * gdk/gdk.def: Update.
2823
2824         * gdk/win32/gdkmain-win32.c
2825         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2826         gdkmain-win32.c here.
2827
2828         * gdk/win32/makefile.mingw.in (all): No need to make
2829         gdk-win32res.o here, the makefile one step up will call us to make
2830         it.
2831
2832         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2833         gdkkeys-win32.
2834
2835         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2836
2837         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2838         call to g_source_add().
2839
2840         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2841         leak. Thanks to Andreas Kemnade.
2842
2843 2000-12-13  Havoc Pennington  <hp@pobox.com>
2844
2845         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2846
2847         * gtk/gtktext*.[hc]: update accordingly
2848         
2849 2000-12-13  Havoc Pennington  <hp@pobox.com>
2850
2851         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2852         header file
2853
2854         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2855
2856 2000-12-13  Alex Larsson  <alexl@redhat.com>
2857
2858         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2859         Add support for ps2 intellimouse.
2860
2861         * gdkkeyboard-fb.c:
2862         Move shift-F1 repaint handling to xlate handler only.
2863         
2864         * docs/README.linux-fb:
2865         Add imps2 to docs.
2866         Document the new refresh keys.
2867         
2868 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2869
2870         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2871
2872         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2873         ::position and ::padding.
2874
2875         * gtk/gtkcontainer.c: make ::border_width an INT property.
2876
2877         * gtk/gtkpacker.c: make ::position an INT property.
2878
2879         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2880         guard against NULL h/v scrollbars, since this is used at construction
2881         time.
2882
2883         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2884         internal gtk_clist_constructor().
2885
2886         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2887         gtk_ctree_constructor().
2888
2889         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2890         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2891
2892         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2893         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2894
2895         * gtk/gtkwidget.[hc]:
2896         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2897         and gtk_widget_get().
2898         (gtk_widget_new): use g_object_new_valist().
2899         (gtk_widget_set): use g_object_set_valist().
2900
2901         * gtk/gtkobject.[hc]:
2902         removed gtk_object_arg_get_info(), gtk_object_getv(),
2903         gtk_object_query_args(), gtk_object_newv(),
2904         gtk_object_class_add_signals(),
2905         gtk_object_class_user_signal_new(),
2906         gtk_object_class_user_signal_newv(),
2907         gtk_object_arg_set(), gtk_object_arg_get(),
2908         gtk_object_args_collect(),
2909         gtk_object_default_construct(),
2910         gtk_object_constructed(),
2911         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2912         removed nsignals, signals and n_args members from GtkObjectClass.
2913         (gtk_object_new): use g_object_new_valist().
2914         (gtk_object_set): use g_object_set_valist().
2915         (gtk_object_get): use g_object_get_valist().
2916         
2917         * gtk/gtkcompat.h: define gtk_object_default_construct().
2918         
2919         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2920         g_object_new().
2921
2922         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2923         fucntions, cleaned up method assignments (make sure your structures
2924         are setup properly before calling out). removed all GTK_CONSTRUCTED
2925         hacks ;)
2926
2927 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2928
2929         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2930         off-by-one error in checks. (Dave Lambert)
2931
2932 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2933
2934         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2935         Don't free gdk_fb_keyboard twice.
2936
2937 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2938
2939         * gtk/testgtk.c:
2940         (create_tooltips): 
2941         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2942         use GObject swapped_signal:: properties instead.
2943
2944         * gtk/gtkcellrenderertoggle.c: 
2945         * gtk/gtkcellrenderertextpixbuf.c: 
2946         * gtk/gtkcellrenderertext.c: 
2947         * gtk/gtkcellrendererpixbuf.c: 
2948         * gtk/gtkcellrenderer.c:
2949         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2950         missing warnings for invalid property ids, install properties
2951         with g_object_class_install_property() now.
2952         
2953         * gtk/gtksignal.c:
2954         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2955         
2956 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2957         
2958         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2959         to determine if a window is the focus widget within
2960         its toplevel.
2961
2962         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2963         to be boolean.
2964
2965         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2966         of the case where the container CAN_FOCUS to here instead
2967         of having it in each individual move-the-focus place.
2968
2969         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2970         focusing to be geometric in a much more obvious sense. Arrowing
2971         around is still non-intuitive because it isn't perfect and
2972         because entries, etc, grab the arrow keys, but it at least
2973         usually will do what you expect now.
2974         
2975         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2976         file.
2977
2978         * gtk/gtknotebook.c: Change tabs to be a single item in
2979         the focus chain. Make movement of focus on tabs with arrow
2980         keys wrap around.
2981         
2982         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2983         CHECK_FIND_CHILD macro to give informative error messages
2984         instead of silent returns.
2985
2986         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2987         flag since we handle GdkReturn on the tabs.
2988
2989         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2990         windows rather than sending expose events directly.
2991
2992         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2993         definition for GtkNotebookPage into .c file, since it is private.
2994
2995         * gtk/testgtk.c (create_notebook): Add option for 
2996         testing borderless notebook.
2997
2998         * gtk/testgtk.c (page_switch): Removed egregious poking
2999         around in GTK+ internals.
3000
3001         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3002
3003         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3004         properly through gtk_clist_focus. Make the title headers a
3005         single item in the tab-focus chain, and make left-right wrap
3006         around.
3007
3008         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3009         focus method so that wrapping around works properly.
3010
3011         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3012         that is handled for the widget now. 
3013
3014 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3015
3016         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3017         widgets as TOPLEVEL.
3018
3019         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3020         TOPLEVEL widgets are containers.
3021
3022         * gtk/gtkinvisible.h: Remove useless include.
3023
3024 2000-12-11  Havoc Pennington  <hp@redhat.com>
3025
3026         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3027         Handle chopping off \r\n and 0x2029 in addition to \n before
3028         passing to PangoLayout
3029
3030         * gtk/gtkimcontextsimple.c
3031         (gtk_im_context_simple_get_preedit_string): 
3032         return an empty string if no match is pending
3033
3034         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3035         assertion that the returned preedit string was sane
3036
3037         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3038         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3039         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3040
3041 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3042
3043         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3044         Fix up finalizer to chain to its parent.
3045
3046 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3047
3048         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3049         Clearified the difference between the keyboard types. Wrote a note
3050         about the magic sysrq key to get out of raw mode.
3051
3052 2000-12-09  James Henstridge  <james@daa.com.au>
3053
3054         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3055         member to hold masks for detecting the start of a protocol packet.
3056         (mouse_devs): add packet start masks for ps2 and ms device types.
3057         Left the mask for fidmour blank, as I have no idea what it should
3058         be.
3059         (handle_mouse_io): skip bytes until we get to the start of a
3060         packet.  My Logitech mouse seems to be passing an extra NULL pad
3061         byte, and GPM does a similar thing here.
3062         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3063         this is the ms mouse driver.
3064         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3065         completely broken except for button1.  It was checking the wrong
3066         bit in the packet for the status of the right mouse button, and
3067         wrongly assuming right == button2 rather than 3.  I fixed that and
3068         also added support for middle button (button2).
3069
3070 2000-12-08  Havoc Pennington  <hp@redhat.com>
3071
3072         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3073         that cause a segfault on text insertion
3074
3075         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3076         warning
3077
3078         * gtk/gtktextiter.c (test_log_attrs): use
3079         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3080
3081         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3082         Get log attrs for a line, using a cache stored on the buffer
3083         
3084         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3085         reported by Jeff Franks
3086
3087 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3088
3089         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3090         /dev/ttyS0 -> /dev/mouse
3091
3092 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3093
3094         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3095         Added dummy gdk_fontset_load.
3096
3097 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3098
3099         * docs/README.linux-fb:
3100         * docs/Makefile.am:
3101         Initial GtkFB docs.
3102         
3103         * gdk/linux-fb/Makefile.am:
3104         Define GDK_DATA_PREFIX.
3105
3106         * gdk/linux-fb/gdkmain-fb.c:
3107         Fix typo.
3108         Change default display to /dev/fb0.
3109
3110         * gdk/linux-fb/gdkpango-fb.c:
3111         Add $(prefix)/share/fonts/ to font path.
3112         
3113 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3114
3115         * gdk/linux-fb/gdkkeyboard-fb.c:
3116         New file containing the abstracted keyboard driver. Most code
3117         taken from gdkinput-ps2.c
3118
3119         * gdk/linux-fb/gdkinput-ps2.c:
3120         Removed file.
3121         
3122         * gdk/linux-fb/Makefile.am:
3123         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3124
3125         * gdk/linux-fb/gdkcolor-fb.c:
3126         display->fb was renamed to display->fb_fd.
3127
3128         * gdk/linux-fb/gdkcursor-fb.c:
3129         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3130
3131         * gdk/linux-fb/gdkinput.c:
3132         Moved gdk_input_init here from gdkinput-ps2.c
3133
3134         * gdk/linux-fb/gdkmain-fb.c:
3135         display->fb was renamed to display->fb_fd.
3136         Now the tty and the console is opened here instead
3137         of in the keyboard driver. Also check GDK_VT to see what
3138         tty to open.
3139         Move gdk_beep () here from gdkinput-ps2.c
3140         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3141
3142         * gdk/linux-fb/gdkmouse-fb.c:
3143         Add header.
3144         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3145         Return correct keyboard modifiers.
3146         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3147
3148         * gdk/linux-fb/gdkprivate-fb.h:
3149         Add tty and vt info to display.
3150         Add orignal modeinfo storage to display
3151         Update global functions
3152
3153         * gdk/linux-fb/gdkwindow-fb.c:
3154         Added gdk_fb_window_find_focus().
3155         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3156
3157 2000-12-07  Havoc Pennington  <hp@pobox.com>
3158
3159         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3160         function, noticed by Alex
3161
3162 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3163
3164         * configure.in: Detect freetype properly
3165
3166         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3167         above.
3168
3169 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3170
3171         * gdk/linux-fb/Makefile.am:
3172         Add gdkmouse-fb.c
3173         
3174         * gdk/linux-fb/gdkmouse-fb.c:
3175         New file. Abstracted the mouse drivers a bit.
3176
3177         * gdk/linux-fb/gdkcursor-fb.c:
3178         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3179
3180         * gdk/linux-fb/gdkinput-ps2.c:
3181         Removed old mouse handling code. Moved cursor handling code
3182         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3183         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3184         gdk_mouse_get_info.
3185
3186         * gdk/linux-fb/gdkmain-fb.c:
3187         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3188
3189         * gdk/linux-fb/gdkprivate-fb.h:
3190         Removed public gdk_fb_find_common_ancestor, added and renamed
3191         functions for the new mouse handling code.
3192
3193         * gdk/linux-fb/gdkwindow-fb.c:
3194         Moved gdk_fb_window_send_crossing_events here. added global
3195         variable gdk_fb_window_containing_pointer. made
3196         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3197         renamed to gdk_mouse_get_info.
3198
3199 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3200
3201         * gdk/linux-fb/gdkevents-fb.c:
3202         Update to match latest gmain/gsource changes.
3203
3204         * gdk/linux-fb/gdkinput-ps2.c:
3205         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3206         it links. Will be implemented later.
3207
3208 2000-12-03  Havoc Pennington  <hp@pobox.com>
3209
3210         * gdk/Makefile.am: add gdkkeys.[hc]
3211
3212         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3213         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3214
3215         * acconfig.h, configure.in: add checks and command line options
3216         for XKB
3217
3218         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3219         
3220         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3221         and group in the key event
3222
3223         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3224         field with the low-level hardware key code, and a group
3225         field with the keyboard group
3226
3227         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3228         and declare a couple globals used for keymap handling
3229         
3230         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3231         hold down Shift-Control and type a hex number to get a Unicode 
3232         character corresponding to the hex number
3233         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3234         (return bytes not chars)
3235
3236 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3237
3238         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3239         to avoid waste on 64-bit platforms.
3240
3241 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3242
3243         * INSTALL: Fix link to PNG home, remove reference
3244         to fribidi.
3245
3246         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3247         
3248         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3249         tested.)
3250
3251         * gtk/gtkcheckmenuitem.c: Permanently turn on
3252         always_show_toggle.
3253
3254         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3255         be NULL. (Vladimir Klebanov, #26545)
3256
3257         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3258         some signed/unsigned comparison problems. (#6510,
3259         David Kaelbling)
3260
3261         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3262         return type to boolean (Oskar Liljeblad, #18648)
3263
3264 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3265
3266         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3267         Remove bogus colormap setting.
3268
3269 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3270
3271         * gdk/linux-fb/gdkcolor-fb.c:
3272         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3273
3274         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3275         Must set colormap.
3276         
3277 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3278
3279         * docs/tutorial/gtk-tut.sgml: DND updates
3280
3281 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3282
3283         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3284         Remove old debug g_warning().
3285         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3286         or an implementation, just pass the implementation to draw_drawable_2.
3287         
3288         * gdk/linux-fb/gdkprivate-fb.h:
3289         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3290
3291         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3292         clear and invalidate area when window is destroyed.
3293         (send_map_events): Remove old commented out code.
3294
3295 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3296
3297         * gdk/linux-fb/gdkpango-fb.c:
3298         Use italic instead of oblique in font aliases.
3299         
3300         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3301         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3302         other unsupported functions.
3303
3304 2000-12-04  Havoc Pennington  <hp@redhat.com>
3305
3306         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3307
3308         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3309
3310         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3311
3312         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3313         hack to avoid infinite loops (synthetic expose event) - 
3314         Owen has more appropriate fixes in a branch he'll check in later.
3315
3316         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3317         separator, CR, and CRLF as line ends
3318
3319         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3320         into lines using pango_find_paragraph_boundary(); other bits of
3321         the widget are still going to be broken if the boundary isn't '\n'
3322         though
3323
3324 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3325
3326         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3327         multiply.
3328
3329         * gdk/linux-fb/gdkpango-fb.c:
3330         Copied some 26.6 scaling macros from pango to clean up the rounding.
3331         (pango_fb_font_get_glyph_info): Correct sign on x value.
3332
3333         * gdk/linux-fb/gdkprivate-fb.h:
3334         Removed unreferenced external functions.
3335
3336         * modules/linux-fb/Makefile.am: Use ` instead of '.
3337
3338         * modules/linux-fb/basic.c:
3339         Remove dead code. In particular the dummy lang engine which broke all
3340         pango layouts in GtkFB. Don't include tables-big.i anymore.
3341
3342         * modules/linux-fb/tables-big.i:
3343         Upgrade to latest version from pango. Left for reference, basic_ranges
3344         moved to basic.c.
3345         
3346 2000-12-04  Havoc Pennington  <hp@redhat.com>
3347
3348         Fix bugs Alex found:
3349         
3350         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3351         to "draw"
3352
3353         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3354
3355         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3356
3357         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3358         implementation in here, apparently the expose() implementation was
3359         dead code.
3360
3361 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3362
3363         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3364         Return positive descent.
3365
3366 2000-12-02  Havoc Pennington  <hp@pobox.com>
3367
3368         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3369         method and signal
3370         
3371         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3372         calls gdk_window_process_updates() to push the exposes through
3373         (gtk_widget_class_init): No more draw signal, no
3374         gtk_widget_real_draw()  
3375         
3376         * gtk/gtkbin.c (gtk_bin_draw): remove
3377
3378         * gtk/gtkbox.c (gtk_box_draw): remove
3379
3380         * gtk/gtkbutton.c (gtk_button_draw): remove
3381
3382         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3383
3384         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3385
3386         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3387
3388         * gtk/gtkclist.c (gtk_clist_draw): remove
3389
3390         * gtk/gtkentry.c (gtk_entry_draw): remove
3391
3392         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3393
3394         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3395
3396         * gtk/gtkframe.c (gtk_frame_draw): remove
3397
3398         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3399
3400         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3401
3402         * gtk/gtklayout.c (gtk_layout_draw): remove
3403
3404         * gtk/gtklist.c (gtk_list_draw): remove
3405
3406         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3407
3408         * gtk/gtkmenu.c (gtk_menu_draw): remove
3409
3410         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3411
3412         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3413
3414         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3415
3416         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3417
3418         * gtk/gtkpacker.c (gtk_packer_draw): remove
3419
3420         * gtk/gtkrange.c (gtk_range_draw): remove
3421
3422         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3423
3424         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3425
3426         * gtk/gtktable.c (gtk_table_draw): remove
3427
3428         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3429
3430         * gtk/gtktext.c (gtk_text_draw): remove
3431
3432         * gtk/gtktextview.c (gtk_text_view_draw): remove
3433
3434         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3435
3436         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3437
3438         * gtk/gtktree.c (gtk_tree_draw): remove
3439
3440         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3441
3442         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3443
3444         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3445
3446         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3447
3448         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3449
3450         * gtk/gtkwindow.c (gtk_window_draw): remove
3451
3452 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3453
3454         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3455         a GtkToggleButton is both insensitive and active, it was being
3456         drawn by the GtkButton draw handler which doesn't check the
3457         state. Now it's calling gtk_toggle_button_paint instead.
3458         
3459 2000-12-01  Havoc Pennington  <hp@redhat.com>
3460
3461         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3462         dangling pointers to the appearance attributes from the 
3463         line display
3464
3465         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3466         width/height to mean "full width/height of drawable"
3467
3468         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3469         click to select word/line
3470         
3471         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3472         when getting log attrs. Get a slice, so that pixmaps and stuff
3473         are properly handled.
3474
3475         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3476         paste into the selection (replaces selection now, previously
3477         crashed or added to selection). Reveals longstanding btree bug -
3478         select multiple lines, middle-click on the selection, boom. This
3479         isn't related to my changes though.
3480
3481         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3482         PangoLogAttrs changes
3483         (gtk_entry_move_backward_word): ditto
3484
3485         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3486         functions return bool whether the iter moved onto a
3487         dereferenceable position.
3488  
3489         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3490         functions for motion in terms of display lines.
3491
3492         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3493         get the buffer a mark is inside
3494         
3495 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3496
3497         * gdk/linux-fb/Makefile.am:
3498         * modules/linux-fb/Makefile.am:
3499         Freetype 2 final uses freetype-config
3500
3501         * gdk/linux-fb/gdkpango-fb.c:
3502         Upgrade to use Freetype 2 final.
3503         More flexible support for font aliases, this also fixes a bug with
3504         GtkFontSelector, as the aliases must be visible in the font/family list,
3505         or GtkFontSelector reads uninitialized memory.
3506
3507 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3508
3509         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3510         XGetIMValues to properly terminate variable argument list, and do
3511         NULL return check for ic_values and xim_styles.
3512
3513         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3514         Restore preedit state after XmbResetIC().
3515         
3516         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3517         XvaCreateNestedList() should take XvaNestedList, but not
3518         XvaNestedList*.
3519
3520         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3521         preedit_draw_callback, preedit_caret_callback): Match
3522         "preedit-changed" signal name to "preedit_changed" to be
3523         consistent to the spec.
3524
3525         * gtk/gtkimcontextsimple.c (check_table):
3526         Match "preedit-changed" to "preedit_changed" to be consistent
3527         to the spec.
3528
3529 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3530
3531         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3532         gc->clip_region == NULL>
3533
3534 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3535
3536         Changes by Hans Breuer:
3537         
3538         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3539         Dont't use negative width and height as max_hints. This fixes
3540         Owen's recent testgtk changes for win32.
3541
3542         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3543         gdk_win32_hdc_release): These are exported and may be called with
3544         other drawable types than our GdkDrawableImplWin32 (?).
3545
3546         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3547         so always #define USE_BACKING_STORE.
3548
3549         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3550         of printf for debugging output.
3551
3552         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3553         
3554         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3555
3556         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3557         declaration.
3558
3559         * gtk/gtktexttypes.h: Ditto.
3560
3561         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3562         (GDK_VoidSymbol) also if in case of arg check failure.
3563
3564         * gtk/gtkimcontextsimple.c
3565         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3566         position to the pointer, but to the variable it points to.
3567
3568         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3569
3570         * gtk/gtk.def: Updates.
3571
3572 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3573
3574         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3575         GTK_TYPE_TREE_MODEL.
3576
3577 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3578
3579         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3580         Set the size of the font from the description.
3581         (gdk_text_width): Gross hack that calculates the width
3582         of text by text_length * size/2. This is necessary because
3583         GtkLabel does some ugly gtk_string_width call to calculate
3584         an good size.
3585         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3586
3587 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3588
3589         * docs/tutorial/gtk-tut.sgml: DND updates
3590
3591 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3592
3593         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3594         If you pass width or height == 0 to gdk_window_clear_area they
3595         should be calculated from the window size.
3596
3597 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3598
3599         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3600         a grab, but no grab-cursor, use the cursor from the grabbed
3601         window. (gdk_fb_window_send_crossing_events): Send normal
3602         enter/leave notifications if grab and owner_events == TRUE.
3603
3604 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3605
3606         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3607         Do implicit button grabs, even if the window doesn't
3608         want the event.
3609         (gdk_fb_window_send_crossing_events): If there is a
3610         grab, only the grabbed window gets normal enter/leave
3611         notifications. On ungrab go from grabbed window to current.
3612         Don't send any notification to b when propagating from c -> b.
3613         If setting a grab on window, don't set prev_window.
3614         (handle_mouse_input): Send enter/leave events to the window the
3615         mouse is over, not the grabbed one.
3616         
3617 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3618
3619         * gdk/gdkregion-generic.c: Zap warning.
3620         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3621         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3622
3623 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3624
3625         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3626         The cursor should be hidden if it is part of either the
3627         source or destination region. Not only if it is in both.
3628         (gdk_window_set_transient_for): Silence warnings.
3629
3630 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3631
3632         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3633         The default mode in X is Pie Arcs, therefore that is
3634         what Gtk+ uses.
3635
3636 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3637
3638         * gdk/linux-fb/gdkinput-ps2.c:
3639         Implement correct EnterNotify/LeaveNotify:
3640         (gdk_fb_window_send_crossing_events): New function that sends
3641         all GdkCrossingEvents from the last mouse-window to the specified
3642         destination.
3643         (gdk_fb_window_visibility_crossing): Removed function.
3644         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3645         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3646         instead of gdk_window_get_pointer() for better readability.
3647
3648         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3649         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3650
3651         * gdk/linux-fb/gdkprivate-fb.h:
3652         removed gdk_fb_window_visibility_crossing, added
3653         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3654
3655         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3656         New function that finds the least common ancestor of two windows.
3657         (gdk_window_show, gdk_window_hide):
3658         Use gdk_fb_window_send_crossing_events.
3659         (gdk_fb_window_move_resize): Send configure events to toplevel
3660         windows. Use gdk_fb_window_send_crossing_events.
3661
3662 2000-11-27  Havoc Pennington  <hp@redhat.com>
3663
3664         * gtk/gtkprivate.h (enum): Remove a trailing comma
3665
3666 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3667
3668         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3669         the "changed" callback of the adjustment.  We need to redraw the
3670         spin button's arrows when the adjustment's range changes.
3671         (adjustment_changed_cb): Draw the arrows.
3672         (gtk_spin_button_value_changed): Draw the arrows.
3673
3674 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3675
3676         * gdk/linux-fb/gdkselection-fb.c:
3677         Initial selection implementation.
3678
3679         * gtk/gtkselection.c:
3680         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3681         requestor in gtk_selection_request.
3682         
3683         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3684         Added gdk_selection_property atom.
3685
3686         * gdk/linux-fb/gdkprivate-fb.h:
3687         Export _gdk_selection_window_destroyed.
3688         Removed mask_off_x/y from GdkCursorPrivateFB.
3689         Removed hbearing, added top, left to PangoFBGlyphInfo.
3690
3691         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3692         Call _gdk_selection_window_destroyed
3693         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3694         the root window has been created.
3695         (static_dx_hack, static_dy_hack, compare_draw_rects,
3696         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3697         in region. They are already sorted. Instead just traverse them in
3698         reverse if draw_direction < 0.
3699         
3700         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3701         Double-clicks must be sent after the normal button_press.
3702         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3703         
3704         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3705         Pass _gdk_fb_screen_gc instead of NULL.
3706
3707         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3708         Initialize gdk_selection_property.
3709         (gdk_event_make): Remove unused code.
3710
3711         * gdk/linux-fb/gdkcursor-fb.c:
3712         Make the pixmap for the cursor the same size as the mask. Also remove
3713         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3714         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3715         Now the whole cursor is visible.
3716
3717         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3718         Fix bug where xdest+height instead of ydest+height was used
3719         to calculate if the source and dest overlapped. This fixes the
3720         redraw bug when the main window in testgtk was scrolled when
3721         partially covered by a tall window.
3722         Copy rectangles in region in order depending on draw_direction.
3723         Also moved the draw_direction flipping of start_y and end_y into
3724         the gc functions, as this might not be what all of them want.
3725         (gdk_fb_draw_lines): Support dashed lines.
3726         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3727         so that the text is positioned correctly (was 1 pixel high).
3728
3729         gdk/linux-fb/gdkgc-fb.c:
3730         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3731         all lines were drawn a pixel to short. Also checked the default of
3732         the rest of the values, and they're the same as X now.
3733
3734         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3735         Clean up pixel positioning of the glyphs. Just use bgy->top and
3736         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3737         to all divisions to get correct rounding behaviour.
3738
3739         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3740         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3741         Moved start_y/end_y flip into draw_drawable implementations.
3742         Flip also x rendering when draw_direction < 0.
3743         Remove unneccesary multiply with draw_direction.
3744
3745 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3746
3747         * docs/tutorial/gtk-tut.sgml:
3748           - get rid of gtk_toggle_button_toggled FUD
3749           - start DND section - needs work - based on:
3750                 http://wolfpack.twu.net/docs/gtkdnd/
3751
3752 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3753
3754         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3755         Correct calculation of font metrics. Now GtkEntrys have sane
3756         size.
3757
3758 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3759
3760         * gdk/gdktypes.h:
3761         Add new type GdkSpan
3762         
3763         * docs/reference/gdk/gdk-sections.txt,
3764         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3765         gdk/gdkregion.h:
3766         Implement and document gdk_region_spans_intersect_foreach.
3767
3768         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3769         Add new file gdkrender-fb.c which contains all core
3770         rendering code.
3771         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3772         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3773         (optimized rectangle fillers).
3774
3775         * gdk/linux-fb/gdkdrawable-fb2.c:
3776         Move all rendering code to gdkrender-fb.c.
3777         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3778         Use the new span intersection functions in gdk_fb_fill_spans.
3779         gdk_fb_draw_rectangle() clips filled rectangles and calls
3780         gc->fill_rectangle with the result.
3781         gdk_fb_fill_spans() gets extra argument "sorted".
3782
3783         * gdk/linux-fb/gdkevents-fb.c:
3784         Remove unused includes and defines.
3785         New function gdk_fb_get_time() to get correct time for events.
3786
3787         * gdk/linux-fb/gdkinput-ps2.c:
3788         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3789         Make sure to set the time of all events.
3790
3791         * gdk/linux-fb/gdkmain-fb.c:
3792         Use gdk_fb_get_time ().
3793
3794         * gdk/linux-fb/gdkprivate-fb.h:
3795         New virtual GC calls: fill_span & fill_rectangle.
3796         Export gdk_fb_get_time().
3797         gdk_fb_fill_spans() gets extra argument "sorted".
3798
3799         * gdk/linux-fb/mi*.c:
3800         Use GdkSpan instead of GdkRectangle.
3801         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3802         from XFree 4 source)
3803         
3804 2000-11-22    <jrb@redhat.com>
3805
3806         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3807         reversing the order in an if statement will do.  Doing so managed
3808         to make the treemodelsort half work.  Other half will follow after
3809         I get the insert function fully fixed.
3810
3811 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3812         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3813         more than 2 bits. Besides, I need to implement an evil hack. :)
3814
3815 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3816
3817         * docs/tutorial/gtk-tut.sgml: minor corrections
3818
3819 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3820         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3821           convert to and from relative path's and iters.
3822
3823         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3824           testing sorting functions a bit better.  Currently broken -- will
3825           fix in morning.
3826
3827 2000-11-20  Havoc Pennington  <hp@redhat.com>
3828
3829         * gtk/gtkwidget.c: Documented a bunch of functions in here
3830         (gtk_widget_realize): Warn if you try to realize
3831         a widget with no parent that isn't a toplevel
3832         (gtk_widget_intersect): return a gboolean
3833
3834 2000-11-20  Havoc Pennington  <hp@redhat.com>
3835
3836         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3837         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3838         scrolling to be implemented in GDK to finish. Also, right now
3839         we just size_allocate all children on every layout change,
3840         which is pretty lame. Test commented out of testtext.c, 
3841         until it works better.
3842
3843 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3844
3845         * gdk/linux-fb/gdkdrawable-fb2.c:
3846         Removed unused arguments from gdk_fb_drawable_get_pixel().
3847
3848         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3849         Renamed fidur specific mouse packet data in MouseDevice to
3850         generic. Used it in ps2 mouse handling code to avoid blocking
3851         reads.
3852
3853 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3854
3855         * demos/gtk-demo/main.c: Changed to have the list become
3856         non-italic when the demo window is destroyed through an external
3857         event (like a close button).  Doing so found three bugs in the
3858         widget.
3859
3860         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3861
3862         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3863         we actually set the cell.
3864
3865         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3866
3867         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3868         free a leaked path.  Thanks memprof.
3869
3870 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3871
3872         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3873         off-by-one error when destroying allocated segments
3874         on failure. (Elliot)
3875
3876 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3877
3878         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3879         memleaks found by Evan Martin.
3880
3881 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3882
3883         * Released 1.3.2
3884         
3885         * NEWS: Updates for 1.3.2
3886
3887 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3888
3889         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3890         but in general for window system specific events.
3891
3892         * gtk/gtk.def
3893         * gtk/makefile.mingw.in
3894         * gtk/makefile.msc.in: Update.
3895         
3896         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3897
3898 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3899
3900         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3901         distribute gtk.immodules.
3902
3903         * gtk/Makefile.am (install-data-local): Don't install the
3904         gtk.immodules file created for the uninstalled modules;
3905         instead run gtk-query-immodules after install
3906
3907 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3908
3909         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3910         -rpath to the right install location.
3911
3912         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3913         -export-dynamic.
3914
3915         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3916         properly.
3917
3918 2000-11-15  Havoc Pennington  <hp@pobox.com>
3919
3920         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3921         patch from Mikael Hermansson to temporarily stop blinking while
3922         the user is using the keyboard to type or navigate. 
3923
3924         Also, when blinking, stay on for longer than we stay off. Also,
3925         return from start_cursor_blink if !cursor_visible, to save
3926         checking that flag all over the place before we call
3927         start_cursor_blink.
3928
3929 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3930
3931         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3932         only contain a "fontset" line, which is now ignored.
3933
3934         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3935         double-click-to-select-word work.
3936         
3937 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3938
3939         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3940         Don't move back one char when we are actually at the end of the 
3941         paragraph.
3942
3943 2000-11-15  Robert Brady  <robert@suse.co.uk>
3944
3945         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3946         'o' < 'p'.
3947         
3948         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3949         bind_textdomain_codeset.
3950
3951         (gtk_init_check): Make the warning about translating default:LTR
3952         sterner.
3953         
3954 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3955
3956         * **/Makefile.am : remove unecessary rules for win32-specific
3957         config-substituted targets. If you want these rules, use
3958         --enable-maintainer-mode (called automatically by autogen.sh).
3959         Stops a lot of unneccessary make-time warnings.
3960
3961         * gtk/gtktext{layout,display}.c: Factor in total width as
3962         well as screen when figuring alignment for word-wrap as well as
3963         no wrap; this is necessary to handle lines that cannot be wrapped
3964         at all.
3965
3966 2000-11-15  Havoc Pennington  <hp@redhat.com>
3967
3968         * gtk/testtext.c: Implement essential color cycling feature
3969
3970 2000-11-15  Havoc Pennington  <hp@redhat.com>
3971
3972         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3973         when we invalidate the main window.
3974
3975         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3976         GtkTextView will now invalidate the side windows for us when text
3977         changes.
3978
3979 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3980
3981         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3982         unconditionally, since we may need to update the horizontal
3983         scrollbars even if the height didn't change.
3984
3985         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3986         the extra attrs, since some of them affect size.
3987
3988         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3989         x_offset correctly.
3990
3991 2000-11-15  Havoc Pennington  <hp@redhat.com>
3992
3993         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3994         don't move the first line out into the margin, instead move the
3995         whole paragraph in order to make space for the first line within 
3996         the margin
3997
3998 2000-11-15  Havoc Pennington  <hp@redhat.com>
3999
4000         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4001         xoffset in addition to yoffset, so horizontal scrolling doesn't
4002         break redraws
4003
4004 2000-11-15  Havoc Pennington  <hp@redhat.com>
4005
4006         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4007         from the cursor
4008         (render_layout_line): fix reversed test that caused weird
4009         underlines to get drawn
4010
4011 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4012
4013         * gdk/linux-fb/gdkprivate-fb.h:
4014         Fix debug macros.
4015         
4016 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4017
4018         * gdk/linux-fb/gdkprivate-fb.h:
4019         Added virtual functions set_pixel, get_color,
4020         fill_span and draw_drawable to the GC.
4021         Added global _gdk_fb_screen_gc to use instead of
4022         NULL when drawing to the screen.
4023         Added _gdk_fb_gc_calc_state() prototype.
4024
4025         * gdk/linux-fb/gdkgc-fb.c:
4026         Call _gdk_fb_gc_calc_state() on any gc state change.
4027
4028         * gdk/linux-fb/gdkglobals-fb.c:
4029         Add _gdk_fb_screen_gc
4030                 
4031         * gdk/linux-fb/gdkdrawable-fb2.c:
4032         _gdk_fb_gc_calc_state() calculates best functions
4033         for the GC state and depth.
4034         Moved bpp specialized code to separate functions.
4035         Added optimized 24 bpp AA draw_drawable.
4036
4037         * gdk/linux-fb/gdkevents-fb.c:
4038         Silence gcc warning.
4039
4040         * gdk/linux-fb/gdkimage-fb.c:
4041         Use _gdk_fb_screen_gc
4042
4043         * gdk/linux-fb/gdkwindow-fb.c:
4044         Init and use _gdk_fb_screen_gc
4045
4046         * gdk/linux-fb/mitypes.h:
4047         Remove unused types.
4048
4049 2000-11-14  Havoc Pennington  <hp@pobox.com>
4050
4051         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4052         to pixels
4053
4054 2000-11-14  Havoc Pennington  <hp@pobox.com>
4055
4056         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4057
4058         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4059         unknown char, no real reason we were using a variable. 
4060         Remove gtk_text_unknown_char variable. Fix all the text widget
4061         files accordingly.
4062
4063         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4064         since the Unicode spec seems to prefer that character for our
4065         purposes.
4066
4067 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4068
4069         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4070         value of g_getenv() isn't freeable, so g_strdup it.
4071
4072         * modules/input/inuktitut.c: Inuktitut input method.
4073
4074         * modules/input/Makefile.am: Build this.
4075         
4076 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4077
4078         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4079         of gtk programs.
4080
4081 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4082
4083         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4084         reversed > that was causing Home to go to end of previous line.
4085
4086         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4087         modified-keypresses (leave for bindings.)
4088
4089         * modules/input/Makefile.am: Remove useless -export-dynamic
4090         from module LDFLAGS.
4091
4092 2000-11-14  Havoc Pennington  <hp@redhat.com>
4093
4094         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4095         higher.
4096
4097         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4098         account. Also, render rise, underline, background, etc. for
4099         pixbufs as well as text. Also, draw underlines one pixel higher.
4100
4101         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4102         PangoAttribute for the rise, so it gets drawn properly. Also,
4103         add the GtkTextAppearance attribute for pixbuf/widget segments
4104         as well; we should go ahead and have rise, underline, background,
4105         stipple work for those
4106
4107         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4108         Pango
4109
4110 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4111
4112         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4113
4114         * gtk/gtk.def: Update.
4115
4116         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4117         included.
4118         (gtk_rc_get_im_module_file): Use run-time installation directory
4119         on Win32.
4120
4121         * gdk/win32/rc/gdk.rc: Remove.
4122         * gdk/win32/rc/gdk.rc.in: New file.
4123         * gdk/win32/rc/Makefile.am: New file
4124         * gdk/win32/Makefile.am: Corresponding changes.
4125
4126         * gtk/gtk.rc: Remove.
4127         * gtk/gtk-win32.rc.in: New file.
4128         * gtk/Makefile.am: Corresponding changes.
4129
4130         * configure.in: Corresponding changes.
4131
4132         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4133         has a built gtkcompat.h. Developers using CVS code on Win32 can
4134         hand-edit it from gtkcompat.h.in.
4135
4136         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4137         gtkcompat.h from gtkcompat.h.win32.
4138
4139 2000-11-14  Havoc Pennington  <hp@redhat.com>
4140
4141         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4142         to default to GDK_ACTION_MOVE if the drag is within a single
4143         widget. Defaults to GDK_ACTION_COPY between widgets.
4144
4145 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4146
4147         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4148
4149         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4150
4151         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4152         srcdir != builddir
4153
4154         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4155
4156         * configure.in (GTK_VERSION): Up to 1.3.2
4157
4158         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4159         gtkimcontextxim.h
4160
4161         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4162         missing doc comment.
4163
4164 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4165
4166         * modules/linux-fb/basic.c:
4167         Use the glib iconv wrappers.
4168
4169 2000-11-13  Havoc Pennington  <hp@pobox.com>
4170
4171         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4172         still more bugs.
4173
4174         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4175         scroll the GdkWindows before realization.
4176
4177 2000-11-13  Havoc Pennington  <hp@redhat.com>
4178
4179         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4180         where GC didn't always get updated properly
4181
4182         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4183         of fonts instead of setting the entire font
4184
4185         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4186         setting entire font
4187
4188         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4189
4190         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4191         a bunch of individually-settable font attributes. You can still 
4192         use the "font" and "font_desc" args, they just set all the font
4193         attributes at once.
4194
4195 2000-11-13 Elliot Lee <sopwith@redhat.com>
4196
4197         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4198
4199 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4200
4201         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4202         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4203
4204         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4205         work better.
4206
4207 2000-11-13  Havoc Pennington  <hp@redhat.com>
4208
4209         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4210         the module file.
4211
4212         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4213         dest->language
4214
4215         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4216         settings
4217
4218         * gtk/gtktextview.c: Implement object args and setters/getters for
4219         all the aspects of the GtkTextAttributes that are not set from
4220         GtkWidget attributes. This is spacing, justification, margins,
4221         etc.
4222
4223         (gtk_text_view_set_arg)
4224         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4225         args
4226         (gtk_text_view_class_init): Add args for justify, left_margin,
4227         right_margin, indent, and tabs
4228         
4229
4230         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4231         attribute properly
4232
4233         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4234         replace with indent attribute
4235
4236         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4237         PANGO_SCALE
4238
4239         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4240         rearranging code to do that
4241         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4242         i.e. don't subtract the top_margin first, just to keep
4243         all margin-futzing in one place.
4244
4245         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4246
4247         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4248         special case of last line, Pango now handles this itself.
4249         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4250         Y coordinate
4251         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4252         (find_display_line_above): wasn't moving the byte index as it
4253         iterated over lines, so always returned byte 0. Also, port to use
4254         PangoLayoutIter.
4255         (find_display_line_below): same problem as
4256         find_display_line_above. Also, port to use PangoLayoutIter.
4257
4258 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4259
4260         * gdk/linux-fb/*.[ch]:
4261         Massive reindent to gtk+ standard. My hands hurt.
4262
4263         * gdk/linux-fb/gdkcolor-fb.c:
4264         Move GdkColorPrivateFB from inherited to windowing_data
4265
4266         * gdk/linux-fb/gdkcursor-fb.c:
4267         _gdk_cursor_new_from_pixmap made static
4268
4269         * gdk/linux-fb/gdkdnd-fb.c:
4270         GdkDragContextPrivate moved to windowing_data
4271
4272         * gdk/linux-fb/gdkdrawable-fb2.c:
4273         Removed endian.h, use glib endianness macros instead
4274         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4275         and GDK_DRAWABLE_IMPL_FBDATA
4276
4277         * gdk/linux-fb/gdkfont-fb.c:
4278         Add empty gdk_font_load(). Needed for linking of Gtk+.
4279
4280         * gdk/linux-fb/gdkimage-fb.c:
4281         Removed endian.h, use glib endianness macros instead
4282         Moved GdkImagePrivateFB to windowing_data
4283         gdk_image_new_bitmap didn't always allocate enough
4284         memory.
4285
4286         * gdk/linux-fb/gdkinput-ps2.c:
4287         Added semi-working support for MS serial mice.
4288
4289         * gdk/linux-fb/gdkprivate-fb.h:
4290         s/GdkWindowPrivate/GdkWindowObject/
4291         Removed GdkWindowPrivate typedef
4292         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4293         Removed GDK_DRAWABLE_P
4294         Move GdkColorPrivateFB from inherited to windowing_data
4295         Moved GdkImagePrivateFB to windowing_data
4296
4297         * gdk/linux-fb/gdkvisual-fb.c:
4298         Removed some unused debug code.
4299
4300         * gdk/linux-fb/gdkwindow-fb.c:
4301         Use stock cursors instead of including X headers.
4302         s/GdkWindowPrivate/GdkWindowObject/
4303
4304         * gdk/linux-fb/mitypes.h:
4305         Removed unused types.
4306
4307         * modules/linux-fb/basic.c:
4308         Use the pango fribidi wrappers.
4309
4310 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4311
4312         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4313         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4314         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4315         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4316         GEqualFunc where applicable.
4317         
4318         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4319         pango_font_description_equal as changed in pango.
4320         
4321         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4322
4323         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4324
4325         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4326
4327         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4328
4329         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4330
4331         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4332
4333         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4334         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4335
4336         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4337         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4338
4339 2000-11-12  Havoc Pennington  <hp@pobox.com>
4340
4341         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4342         dir to datadir/gtk+-2.0/demo
4343
4344         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4345         sorts of text widget and Pango font bugs. Urgh.
4346
4347         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4348
4349         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4350         tree that you should double click to see the demo. Fix 
4351         types of variables to reflect changed return values from 
4352         GtkTreeStore and GtkTreeViewColumn constructors.
4353
4354         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4355         newly-created buffer to prepare for GObject semantics
4356
4357         * gtk/testtext.c: don't leak the buffer with GObject semantics
4358
4359         * gtk/testtextbuffer.c: ditto
4360         
4361 2000-11-12  Havoc Pennington  <hp@pobox.com>
4362
4363         Rename this testgtk to gtk-demo to avoid confusion, and 
4364         install it so people can use it as a supplement to 
4365         the documentation.
4366         
4367         * demos/gtk-demo: Moved from demos/testgtk
4368
4369         * demos/testgtk: Removed
4370
4371         * configure.in: make Makefile in gtk-demo
4372         
4373         * demos/gtk-demo/Makefile.am: Install sample source to 
4374         datadir/gtk-demo (maybe there's a better place?), and 
4375         rename the binary to gtk-demo
4376         
4377         * demos/gtk-demo/main.c (load_file): Load installed sample
4378         source if source isn't found in pwd.
4379
4380 2000-11-09  Havoc Pennington  <hp@pobox.com>
4381
4382         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4383         argument to set the char displayed when visibility == FALSE
4384         (gtk_entry_create_layout): If !entry->visible, replace 
4385         all chars with the "invisible char"
4386
4387         * gtk/testgtk.c: Test the invisible_char deal
4388         
4389 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4390
4391         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4392         can't get a native font in the right encoding.
4393
4394 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4395
4396         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4397         respectively.
4398
4399 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4400
4401         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4402         Fix warning when moving between paragraphs.
4403
4404         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4405         delete => delete_from_cursor, insert => insert_at_cursor
4406
4407 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4408
4409         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4410
4411         * modules/input/imthai-broken.c: A Thai input method for use if
4412         Thai keys are really generating Latin1 keysyms.
4413
4414         * modules/input/Makefile.am: Build these.
4415
4416 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4417
4418         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4419         g_filename_{to,from}_utf8 now takes an extra parameter.
4420
4421         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4422         strftime into UTF-8.
4423
4424         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4425         calendars.
4426
4427         (gtk_calendar_paint_day_names): Draw day names in the right 
4428         place.
4429         
4430 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4431
4432         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4433         problem with using result of g_get_charset() backwards -
4434         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4435
4436         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4437         negative min_width/height and max_width/height to
4438         mean "requisition"; this allows setting a window
4439         to be user-resizable in only one direction easily.
4440
4441         * gtk/testgtk.c (create_main_window): Remove hard-coded
4442         usize - set a default size in the vertical direction.
4443
4444 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4445
4446         * gtk/gtkrange.c: Add some missing casts. Support 
4447         2 and 3 button clicks on the arrows to mean 
4448         "move by pages" and "jump to end". (Like gtkspinbutton)
4449
4450 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4451
4452         * gdk/win32/makefile.msc : reflect build module changes
4453
4454         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4455         from GdkPixmap*, cast implementation member instead.
4456
4457         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4458         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4459         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4460         more Gdi functions return value checking. 
4461         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4462         GdkImagePrivateWin32 *.
4463
4464         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4465         menus useable again. Add #pragma message to keep reminded on this issue.
4466         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4467         windows. This allows to enable backing store on Win32!
4468
4469         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4470         in drawable is of impl type. Correct specific type checks appropriate.
4471  
4472         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4473         GDK_WINDOW_DESTROYED before allocating new resources.
4474
4475         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4476
4477         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4478         (gdk_window_foreign_new) initialize parent handle.
4479         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4480
4481         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4482         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4483         problems (e.g. main buttons in testgtk). 
4484
4485 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4486
4487         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4488         gtk_widget_activate for GDK_Return.
4489
4490         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4491         of preedit cursor position.
4492
4493 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4494
4495         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4496         static.
4497
4498 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4499
4500         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4501         out support for multiple locales; that simple doesn't
4502         work reliably with current Xlib
4503
4504         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4505         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4506         Add support for positioning the cursor within the preedit string.
4507
4508 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4509
4510         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4511         at XIM input method module.
4512
4513         * gtk/gtktextview.c: Check for bindings after passing
4514         events to im context filter.
4515
4516 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4517
4518         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4519         empty attribute lists properly.
4520
4521 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4522
4523         * gtk/queryimmodules.c (main): Return non-zero exit
4524         status if errors were encountered querying any
4525         modules.
4526
4527         * modules/input/Makefile.am (moduledir): remove
4528         leftover bin program target.
4529
4530         * docs/make-todo: Fix typo in error message.
4531
4532 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4533
4534         * configure.in: Add modules/input/Makefile
4535
4536 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4537
4538         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4539         don't include gtkthemes.h.
4540
4541         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4542         to point
4543
4544         * gtk/Makefile.am: Add new .c and .h files, build 
4545         gtk-query-immodules and use it to create a gtk.immodules
4546         file for use of test programs.
4547
4548         * gtk/gtkpreview.c: remove extra blank line.
4549
4550 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4551
4552         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4553         Add the ability to add extra tables beyond the default
4554         one, and also the ability to have compose sequences 
4555         that are prefixes of other compose sequences. 
4556
4557         * gtk/gtkimcontextsimple.c: Export a preedit string which
4558         consists of possible candidates for keystrokes that have
4559         been entered but not yet committed.
4560
4561         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4562         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4563
4564         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4565         Add a function to add input-method switching menu items
4566         to a menu.
4567
4568         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4569         when switching input methods.
4570
4571         * gtk/gtkimcontextsimple.[ch]: Change the format of
4572         the compose table to allow compose tables of different
4573         lengths / sequence.
4574
4575 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4576
4577         * gtk/gtkimmodule.[ch]: Support routines for loading
4578         GtkIMContext implementations dynamically at runtime.
4579
4580         * modules/input/imcyrillic-translit.c: A sample input
4581         method (based on GtkIMContextSimple with an extra table),
4582         which demonstrates preedit strings and the module
4583         system for input modules
4584
4585         * gtk/queryimmodules.c: Program to query the available
4586         input modules and write the results into a file.
4587          
4588         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4589         extra config options "im_module_file" (cache file for
4590         input method modules), and "im_module_path" - path
4591         to look for modules when generating cache file.
4592
4593         This doesn't scale.
4594
4595 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4596
4597         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4598         generic code from gtkthemes into a new abstraction
4599         GtkModule which has the logic for implementing
4600         a loadable module which implements a number of 
4601         GObject types.
4602
4603 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4604
4605         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4606         a class into an interface  
4607         
4608         * gtk/gtkoldeditable.[ch]: Move the old editable
4609         implementation into here, so legacy widgets can
4610         still rely on the implemenation. GtkOldEditable
4611         exports GtkEditable. Make selection handling
4612         code use new text conversion functions (and
4613         handle UTF-8 as a side-effect). Use GtkClipboard
4614         for CLIPBOARD.
4615
4616         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4617         Adopt to match above changes.
4618
4619         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4620         avoid GtkOldEditable implementation. Restructure
4621         to reduce number of places that modify state directly.
4622         Move to GtkBindingSet. Display the preedit string.
4623         Queue recomputation of PangoLayout and scroll position
4624         to improve effiency of doing complex changes naively.
4625         Add a menu with cut/copy/paste and input method selection.
4626
4627 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4628
4629         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4630         to set preedit string and attributes; display preedit string by
4631         inserting string and attributes at cursor when creating the
4632         GtkTextLineDisplay.
4633
4634         * gtk/gtktextlayout.c: Move all conversions between byte
4635         positions in PangoLayout and GtkTextIter into new functions
4636         line_display_iter_to_index/index_to_iter that properly
4637         handle the preedit string.
4638
4639         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4640         it to return const char * (eventually will end up
4641         as GCONST char *, most likely.)
4642
4643         * gtk/gtktextview.[ch]: Handle the preedit string, call
4644         gtk_im_context_reset() as necessary, add a menu to switch
4645         input methods.
4646         
4647         * gtk/gtktextlayout.[ch]: Remove useless
4648         gtk_text_layout_get_log_attrs() function.
4649
4650 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4651
4652         * gdk/gdk.def
4653         * gtk/gtk.def: Update.
4654
4655         * gdk/win32/*.c: Add last argument to g_type_register_static()
4656         calls.
4657
4658         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4659
4660         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4661         generated by older wheel mouse drivers. Get the correct y
4662         coordinate from WM_MOUSEWHEEL messages.
4663
4664         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4665         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4666         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4667         Debugging functions.
4668
4669         * gdk/win32/gdkprivate-win32.h: Declare them.
4670
4671         * gdk/win32/gdkinput-win32.h: Add declaration for
4672         gdk_input_window_destroy().
4673
4674         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4675
4676 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4677
4678         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4679         function to help handle keeping things in sync.
4680
4681 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4682
4683         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4684         BOXED marshallers.
4685
4686         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4687         (gtk_list_store_class_init): use the new BOXED marshallers.
4688
4689         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4690         new_with_values to new_with_types.
4691         (gtk_tree_store_get_column_type): add this.
4692         (gtk_tree_store_class_init): use the new BOXED marshallers.
4693
4694         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4695         mirror some POINTER marshallers.
4696
4697 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4698
4699         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4700         allow more interesting iterators.  Also, made the lifecycle of
4701         iterators more explicit.
4702
4703         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4704
4705         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4706         types.
4707
4708 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4709
4710         * demos/testgtk/menus.c:
4711         Changes to make the new testgtk compile after
4712         gtk_menu_append was removed.
4713
4714         * gdk/linux-fb/gdkdrawable-fb2.c
4715         (gdk_fb_get_depth, gdk_fb_get_visual,
4716         gdk_drawable_impl_fb_class_init): Implement
4717         these drawable functions. Now GtkImages work again.
4718
4719         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4720
4721         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4722         
4723         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4724         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4725         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4726         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4727
4728 2000-11-08  Havoc Pennington  <hp@pobox.com>
4729
4730         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4731         visible_set args, don't know where these had gone, I thought they
4732         used to be there
4733
4734         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4735         now we can test the feature and see that it's totally broken.
4736
4737 2000-11-08  Havoc Pennington  <hp@pobox.com>
4738
4739         Make DND copy pixbufs and tags when source and target share a 
4740         tag table.
4741         
4742         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4743         in-process GTK_TEXT_BUFFER_CONTENTS target
4744         (gtk_text_view_drag_data_received): Paste from
4745         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4746
4747 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4748
4749         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4750         API changes.
4751
4752         * gtk/gtkmenu.c: Add support for scrolling menus.
4753         Remove gtk_menu_append/prepend/insert, these have been moved to
4754         gtkcompat.h as #defines.
4755
4756         * gtk/gtkcompat.h.in:
4757         Add compatibility #defines for gtk_menu_append/prepend/insert
4758
4759         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4760         GtkMenuPositionFunc gets an extra argument push_in.
4761         gtk_menu_append/prepend/insert removed.
4762         
4763         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4764         positioning behaviour to fit to scrolling menus.
4765
4766         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4767         into menuitem->submeny. That is wrong, and broke torn
4768         off submenus of torn off menus, since they were unrealized
4769         when the first menu was unrealized.
4770
4771         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4772         gtk_menu_shell_select_item() since these need to be overridden in
4773         GtkMenu.
4774
4775         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4776         positioning behaviour to fit to scrolling menus.
4777         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4778         the current item so that it is prelighted when the menu pops up.
4779         This is a workaround to the fact that the menu doesn't get the
4780         initial enter event (due to grabs).
4781
4782         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4783         s/gtk_menu_append/gtk_menu_shell_append/
4784
4785         * gtk/gtknotebook.c:
4786         s/gtk_menu_insert/gtk_menu_shell_insert/
4787
4788         * gtk/testgtk.c (create_menu, create_menus):
4789         Create the first menu with 50 items so that menu scrolling
4790         can be tested.
4791         
4792         
4793         Patch from Jonathan Blandford  <jrb@redhat.com>
4794
4795         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4796         system to handle size requests.  First, we ask what the size of
4797         the toggle is.  Then, when allocating the size, we allocate the
4798         toggle_size first.  This way we can have multiple menu-item
4799         classes w/o needing a seperate class for each.
4800
4801         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4802         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4803
4804         * gtk/gtkcheckmenuitem.c
4805         (gtk_check_menu_item_toggle_size_request): New function to handle
4806         the toggle size-request.
4807
4808 2000-11-07  Havoc Pennington  <hp@redhat.com>
4809
4810         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4811         Half-ass somewhat fix this function, so that scrolling to the
4812         insertion point works. Pango hacking is in the future to really
4813         fix it.
4814
4815         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4816         length of data, no longer used.
4817
4818         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4819         method contents in here, get rid of destroy method
4820         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4821         that were backward. Remove debug spew.
4822         (cut_or_copy): Make the clipboard work with insert_range to
4823         preserve tags and pixbufs, not just the primary selection.
4824
4825 2000-11-07  Havoc Pennington  <hp@redhat.com>
4826
4827         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4828         to gtk_text_mark_get_visible
4829
4830         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4831         bug that was generating an invalid iterator
4832
4833         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4834         ensure_char_offsets() in front of code placing the iter in an
4835         invalid state.
4836
4837         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4838         make override_location arg const
4839         (paste): Replace the selection if we paste into the 
4840         current selection
4841
4842         * gtk/gtkselection.h: Remove "GtkSelectioData"
4843         (struct _GtkSelectionData): move the definition here.
4844
4845         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4846         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4847
4848         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4849
4850         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4851         (gtk_text_buffer_insert_range_interactive): implement
4852         (gtk_text_buffer_get_tags): Remove, replaced by
4853         gtk_text_iter_get_tags()
4854
4855         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4856         limit parameter, to avoid infinite linear scan.
4857         (gtk_text_iter_backward_search): Add search limit
4858         (gtk_text_iter_forward_find_char): Add search limit
4859         (gtk_text_iter_backward_find_char): Add search limit
4860
4861 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4862
4863         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4864         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4865         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4866         gdk/linux-fb/gdkwindow-fb.c:
4867         use g_object_new() instead of g_type_create_instance() which
4868         is a private function for fundamental type implementations.
4869
4870         * gdk/linux-fb/gdkinput-ps2.c:
4871         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4872         instead just store the current modifier state. Add a (somewhat broken)
4873         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4874         Rename exported function gdk_input_ps2_get_mouseinfo to
4875         gdk_input_get_mouseinfo.
4876
4877         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4878         gdk/linux-fb/gdkwindow-fb.c:
4879         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4880         
4881
4882 2000-11-02  Havoc Pennington  <hp@redhat.com>
4883
4884         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4885         use stock buttons. Should be 100% source compatible, appropriate
4886         filesel fields now point to dialog->vbox and dialog->action_area.
4887         On the bizarre side, dialog->action_area and filesel->action_area
4888         are not the same widget.
4889         (gtk_file_selection_init): Put some padding around the selection
4890         entry, so it isn't touching the GtkDialog separator.    
4891
4892         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4893         use stock buttons, etc. Should also be source compatible.
4894         Set the dialog default title in _init not _new().
4895         
4896         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4897         Use stock buttons; don't put a button box inside the existing
4898         dialog button box. Don't bother with push/pop colormap anymore.
4899
4900         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4901         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4902         for message dialog, and necessary for the font selection and color
4903         selection with help and apply buttons.
4904         
4905         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4906         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4907         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4908         between buttons, put less padding around the action area.
4909         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4910         This will also exit the loop if the widget is hidden.
4911         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4912         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4913         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4914         special-case delete event.
4915
4916         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4917         formatting
4918         
4919 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4920
4921         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4922         button to temporarily disable position recording in the
4923         "saved position" test.
4924
4925 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4926
4927         * gtk/gtkthemes.c: added compat code that temporarily implements
4928         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4929         going to be revamped by owen's upcoming GtkModule patches, but
4930         untill then people want gtk to build, right? ;)
4931
4932 2000-11-04  Havoc Pennington  <hp@pobox.com>
4933
4934         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4935         list
4936
4937         * docs/Changes-2.0.txt: Add note about
4938         gtk_container_get_toplevels()
4939
4940         * gtk/gtktextview.h: formatting
4941         
4942         * gtk/gtktextview.c: don't start descriptions with "Returns",
4943         confuses gtk-doc
4944
4945 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4946
4947         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4948         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4949
4950 2000-11-03  Havoc Pennington  <hp@redhat.com>
4951
4952         * gtk/gtktexttagtable.c: Docs
4953         (gtk_text_tag_table_size): return a signed int
4954
4955         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4956         (gtk_text_tag_event): make the event_object a GObject
4957
4958         * gtk/gtktextview.c: Write API docs for all functions.
4959
4960         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4961         for gtk_text_view_get_window_type() called on one of the private
4962         windows.
4963
4964         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4965         directly, call get_buffer() which demand-creates a default
4966         buffer. So gtk_text_view_new() can be used to create a view with a
4967         default buffer in it, if you just want an empty text box users can
4968         put data in. Useful for GUI builders also.
4969
4970 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4971
4972         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4973         the charset encodign portion MUST be in lowercase.
4974         * gtk/gtkrc.az: added file for Azeri language
4975
4976 2000-11-03  Havoc Pennington  <hp@redhat.com>
4977
4978         Get widgets working on the btree/buffer side. Display of them 
4979         still doesn't work.
4980         
4981         * gtk/gtktextview.c: start implementing child widget stuff
4982
4983         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4984
4985         * gtk/gtktextlayout.c: handle embedded widgets
4986
4987         * gtk/gtktextdisplay.c: handle embedded widgets
4988
4989         * gtk/gtktextchild.c: Implement all the child anchor goo
4990
4991         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4992         function
4993
4994         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4995         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4996         creating a child anchor or a pixbuf segment.
4997         (gtk_text_btree_create_child_anchor): new function
4998         (gtk_text_btree_unregister_child_anchor): new function
4999
5000         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5001         allocate_child signal on GtkTextLayout
5002
5003         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5004         values
5005         (gtk_text_iter_get_child_anchor): new function
5006
5007         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5008         default handler for the changed signal, which calls
5009         gtk_text_buffer_set_modified(), instead of just always emitting
5010         changed then calling set_modified() manually. I guess this is
5011         maybe more flexible. It seems logical.
5012
5013 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5014
5015         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5016         now.
5017
5018         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5019
5020 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5021
5022         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5023         been marked static.
5024
5025 2000-11-02  Havoc Pennington  <hp@redhat.com>
5026
5027         * gtk/testgtk.c (create_labels): had a test backward
5028
5029         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5030         fields, so the dest GC ends up with the correct clip origin, 
5031         etc. Fixes a bug where colored labels didn't redraw 
5032         properly.
5033
5034 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5035
5036         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5037         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5038         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5039         Add last argument to t_type_register_static call.
5040         
5041         * gdk/linux-fb/gdkdrawable-fb2.c:
5042         Add last argument to t_type_register_static call.
5043         export the get_image drawable virtual function.
5044
5045         * gdk/linux-fb/gdkimage-fb.c:
5046         Add last argument to t_type_register_static call.
5047         rename gtk_image_get to _gdk_fb_get_image and
5048         export it for use by gdkdrawable-fb2.
5049
5050         * gdk/linux-fb/gdkprivate-fb.h:
5051         export _gdk_fb_get_image.
5052
5053         * gdk/linux-fb/gdkselection-fb.c:
5054         Add new api call stubs.
5055
5056         * gtk/Makefile.am:
5057         Missing ( in linux-fb part.
5058
5059         * modules/linux-fb/Makefile.am:
5060         Must link with gdk_pixbuf or get unresolved symbol.
5061
5062 2000-11-01  Havoc Pennington  <hp@pobox.com>
5063
5064         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5065         GTK_TYPE_TEXT_ITER and BOXED marshallers
5066
5067         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5068
5069         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5070         
5071         * gtk/gtk-boxed.defs: add GtkTextIter
5072
5073         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5074         properly use OBJECT and BOXED
5075
5076 2000-11-01  Havoc Pennington  <hp@redhat.com>
5077
5078         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5079
5080         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5081         before returning it. 
5082         
5083 2000-11-01  Havoc Pennington  <hp@redhat.com>
5084
5085         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5086         Clip the rectangle to be rendered to the drawable, since
5087         get_from_drawable() requires a region within the drawable
5088
5089 2000-11-01  Havoc Pennington  <hp@redhat.com>
5090
5091         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5092         from coordinates.
5093
5094 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5095
5096         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5097         it isn't NULL.
5098
5099 2000-11-01  Havoc Pennington  <hp@pobox.com>
5100
5101         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5102         on a label
5103         (gtk_label_finalize): unref the attr list if any.
5104
5105         * gtk/testgtk.c (create_get_image): close test on second click
5106         (make_message_dialog): close dialog if it exists
5107
5108         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5109
5110         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5111         gdk-pixbuf
5112
5113         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5114         from Pango markup format
5115         (gtk_label_set_markup_with_accel): ditto but with accelerator
5116         parsing
5117
5118         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5119
5120         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5121         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5122         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5123         call gdk_window_get_origin().
5124
5125         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5126         implement GDK_PIXBUF_ALPHA_FULL
5127         
5128 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5129
5130         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5131         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5132         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5133         multiple handlers respectively, instead of only treating the
5134         first handler found (bug reported by owen).
5135
5136 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5137
5138         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5139
5140         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5141
5142         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5143         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5144         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5145
5146         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5147         widget.  Needs writing someday.
5148
5149         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5150         the docs.
5151
5152 2000-10-30  Havoc Pennington  <hp@redhat.com>
5153
5154         * gtk/gtktextview.h, gtk/gtktextview.c:
5155         Rename delete_at_cursor delete_from_cursor, and 
5156         move to move_cursor.
5157
5158 2000-10-30  Havoc Pennington  <hp@redhat.com>
5159
5160         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5161         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5162         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5163         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5164         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5165         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5166         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5167         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5168         gtktexttypes.h, gtktextview.c, gtktextview.h:
5169
5170         Massive reindentation and reformatting. Arg alignment and comments
5171         still need fixing in various places.
5172
5173 2000-10-30  Havoc Pennington  <hp@redhat.com>
5174
5175         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5176         to be named insert_at_cursor and delete_at_cursor so C++ can
5177         handle them.
5178
5179 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5180
5181         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5182         to get a double directory separator in case the home directory
5183         ends with one. This would cause trouble especially on Windows,
5184         where the path will be confused with the syntax for an an UNC
5185         (network share) path \\server\share\path.
5186         (gtk_rc_add_initial_default_files): Ditto.
5187
5188 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5189
5190         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5191
5192         * gtk/gtktextview.c: Use correct marshallers.
5193
5194 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5195
5196         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5197         use new iter stuff, and added all the appropriate signals et al.
5198
5199         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5200         code is internal to gtk only.
5201
5202 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5203
5204         * gtk/gtk.def
5205         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5206         glib-genmarshal etc.
5207
5208 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5209
5210         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5211         parallel builds.
5212
5213 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5214
5215         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5216
5217 2000-10-27  Robert Brady  <robert@suse.co.uk>
5218
5219         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5220         en_GB (British), ia (Interlingua).
5221
5222 2000-10-26  Havoc Pennington  <hp@redhat.com>
5223
5224         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5225
5226         Fixed output of:
5227         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5228         
5229         * gtk/gtktextsegment.c (char_segment_new): rename
5230         (_char_segment_new_from_two_strings): rename
5231         (_toggle_segment_new): rename
5232         
5233         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5234         (make_clipboard_widget): make it static
5235         (text_get_func): static
5236         (text_clear_func): static
5237
5238         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5239         static
5240         (hex_changed): make it static
5241         (hsv_changed): make it static
5242         (opacity_entry_changed): make it static
5243
5244         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5245         (toggle_segment_check_func): rename with _gtk
5246
5247         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5248         (_widget_segment_new): rename
5249         (_widget_segment_add): rename
5250         (_widget_segment_remove): rename
5251         (_widget_segment_ref): rename
5252         (_widget_segment_unref): rename
5253
5254         * gtk/gtktextmark.c (_mark_segment_new): Rename
5255         _gtk_mark_segment_new   
5256
5257 2000-10-26  Havoc Pennington  <hp@redhat.com>
5258
5259         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5260         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5261         types
5262
5263         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5264         marshaller types
5265
5266         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5267         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5268         license on these files.
5269
5270         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5271         work.
5272
5273         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5274         runtime random number different for each tree, instead of 
5275         a constant I made up.
5276
5277 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5278
5279         * gtk/Makefile.am: buncha cleanups, kludged build sources
5280         dependencies with a Makefile: oldest-source-stamp dependancy
5281         for the moment. automake is really fighting us here, with
5282         intentionally not allowing user-defined rules or dependancies
5283         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5284
5285         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5286         to public headers. tehy have a comment stating that they are
5287         "semi-public" aren't included by gtk.h and if enums popup there,
5288         they can be /*< skip >*/-ed.
5289
5290         * gtk/gtktextlayout.h: 
5291         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5292         added LGPL... <SIGH>
5293
5294 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5295
5296         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5297         GtkTreeIter.  Added iterators everywhere.
5298
5299         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5300
5301         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5302
5303         * gtk/gtktreestore.c: Changed to use the iterators.
5304
5305         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5306         iterators tomorrow.
5307
5308         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5309         iterators tomorrow.
5310
5311         * gtk/treestoretest.c: Changed to use iterators.
5312
5313         * demos/testgtk/main.c: Moved to use the new iterator system.
5314
5315 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5316
5317         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5318         localization misbehaviour.
5319
5320         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5321         a useless type without copy/free.
5322
5323         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5324         of GTK_TYPE_CTREE_NODE.
5325
5326 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5327
5328         * gtk/gtksignal.c:
5329         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5330         applicable.
5331
5332         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5333         gtk_selection_data_copy and gtk_selection_data_free
5334         do GtkSelectionData work as params in signals.
5335
5336 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5337
5338         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5339         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5340         couldn't they at least give it a non-standard name?
5341         
5342         * gtk/gtktextlayout.c: arg! yet another implementation of
5343         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5344
5345         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5346         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5347         home. now i know this _is_ a conspiracy.
5348
5349         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5350         ::state-changed.
5351
5352         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5353         (gtk_accel_group_create_add): marshaller signature fixups.
5354
5355         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5356         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5357
5358         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5359         anymore.
5360
5361 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5362
5363         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5364         due to the signal system changes, it wouldn't build currently. to
5365         be fixed soon.
5366
5367         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5368
5369         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5370         so it needs gtk_marshal_VOID__ENUM() instead of
5371         gtk_marshal_NONE__UINT().
5372
5373         * gdk/gdk*.c: adapted type registration functions.
5374
5375         * gtk/gtkbindings.c:
5376         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5377         gone.
5378
5379         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5380
5381         * gtk/gtkobject.c:
5382         (gtk_object_destroy):
5383         (gtk_object_shutdown): fixed recursion guards. basically we have to
5384         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5385         is called during ::destroy, and avoid recursion there.
5386
5387         * gtk/gtktypeutils.c:
5388         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5389         boxed_copy/boxed_free. this needs a more general solution based on a
5390         publically installed code-generator utility.
5391
5392         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5393         glib's gobject has support for that now.
5394         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5395
5396 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5397
5398         * gtk/gtksignal.[hc]:
5399         * gtk/gtkmarshal.[hc]:
5400         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5401         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5402         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5403         care of that.
5404
5405         * *.c: marshaller name fixups.
5406
5407         * gtk/gtkmarshal.list: added a comment briefing the format.
5408
5409 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5410
5411         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5412         compatibility macros here now. more specifically, most of
5413         the API is preserved (yes, _most_, nonwithstanding the
5414         following exceptions listed, the API is stil lHUGE ;)
5415         things that got removed completely:
5416         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5417         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5418         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5419         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5420         gtk_signal_remove_emission_hook().
5421         non-functional functions variants:
5422         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5423         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5424         not supported anymore.
5425         (gtk_signal_compat_matched): new internal function to aid
5426         implementation of the compatibility macros, it  provides
5427         functionality to block/unblock/disconnect handlers based
5428         on func/data.
5429
5430         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5431
5432         * *.c: adaptions to new type registration API signatures.
5433
5434 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5435
5436         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5437
5438 2000-10-25  Robert Brady  <robert@suse.co.uk>
5439
5440         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5441         gdk_property_delete): If window == NULL, assume the root window.
5442         (restoring the behaviour that was in 1.2).
5443         
5444         * gtk/testtext.c (save_buffer): Allow creation of new files when
5445         saving.
5446
5447         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5448         calls to read().
5449
5450 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5451
5452         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5453
5454         * gdk/win32/gdkdrawable-win32.c
5455         * gdk/win32/gdkimage-win32.c
5456         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5457         X11 backend.
5458
5459         * gdk/win32/gdkcc-win32.c
5460         * gdk/win32/gdkcolor-win32.c
5461         * gdk/win32/gdkfont-win32.c
5462         * gdk/win32/gdkinput-win32.c
5463         * gdk/win32/gdkmain-win32.c
5464         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5465
5466 2000-10-24  Havoc Pennington  <hp@redhat.com>
5467
5468         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5469         it a static function
5470
5471         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5472         redraw text when a tag is applied to it.
5473
5474         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5475         (gtk_text_tag_affects_nonsize_appearance): private functions to
5476         see if a tag requires various kinds of redraw/layout to be queued
5477         up.
5478
5479         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5480
5481         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5482         at the start of the buffer, so search works by default
5483
5484         * gtk/gtktextiter.c (lines_match): init match_start always
5485
5486         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5487         function, get iter at a line + a byte index
5488
5489         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5490         to set byte position within a line
5491         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5492
5493 2000-10-23  Havoc Pennington  <hp@redhat.com>
5494
5495         * gtk/testtext.c: Re-enable the "find" dialog
5496
5497         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5498         
5499         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5500         the arguments to gdk_draw_drawable were in the wrong order
5501         (gdk_window_paint_init_bg): This function was ignoring the
5502         init_region, instead of clipping to it, so the entire backing
5503         pixmap was cleared on every begin_paint()
5504         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5505         was in here again, the loop kept using the same GtkWindowPaint
5506         over and over.
5507         (gdk_window_begin_paint_region): Fix a bug where we had two
5508         x_offset instead of x_offset and y_offset
5509
5510         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5511         before we get the image.
5512         (gdk_draw_drawable): get the composite before we draw the drawable.
5513         (gdk_drawable_real_get_composite_drawable): default
5514         get_composite_drawable implementation that returns the drawable 
5515         itself
5516
5517         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5518         get_composite_drawable virtual function
5519
5520         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5521         list-walking bug
5522
5523         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5524         make this work if the source drawable is a GdkDrawableImplX11
5525         instead of a public drawable type. This is really broken; the
5526         problem is that GdkDrawable needs a virtual method get_xid(), but
5527         of course that doesn't work in practice. Enter RTTI.
5528
5529         Also, improve mismatched depth message.
5530
5531         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5532         GdkPixmap
5533
5534         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5535         install _gdk_x11_get_image as our implementation of get_image
5536         
5537         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5538         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5539
5540         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5541         gdk_drawable_get_image
5542
5543         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5544
5545         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5546         get_image
5547
5548         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5549         trailing semicolon after for loop
5550
5551 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5552
5553         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5554         where font_desc for widget's context lagged widget's font_desc by
5555         one step.
5556
5557 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5558
5559         * gdk/win32/gdkgc-win32.c
5560         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5561
5562         * gtk/makefile.mingw.in
5563         * gtk/gtk.def: Updates.
5564
5565         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5566         library.
5567
5568         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5569
5570         * gtk/makefile.msc: Remove
5571
5572         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5573
5574         * gtk/Makefile.am: Add it.
5575
5576         * configure.in: Generate it.
5577
5578         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5579         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5580         something even if not implemented, to satisfy picky MSVC.
5581
5582         Patches by Hans Breuer:
5583         
5584         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5585         SetBkMode() and SetTextAlign() before calling
5586         pango_win32_render().
5587
5588         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5589         Set hcliprgn to NULL after destroying it.
5590         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5591
5592         * gdk/win32/gdkgeometry-win32.c
5593         (_gdk_windowing_window_queue_antiexpose): More effective
5594         implementation.
5595
5596         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5597         depth as default, not the visual's.
5598
5599         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5600         against empty title.
5601
5602         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5603         IMAGE_PRIVATE_DATA.
5604
5605         * gdk/win32/gdkimage-win32.c: Use it.
5606
5607 2000-10-22  Robert Brady  <robert@suse.co.uk>
5608
5609         * configure.in: Check for bind_textdomain_codeset
5610
5611         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5612         present, make use of it.
5613
5614         Add a translatable string "default:LTR" which, if translated
5615         to "default:RTL", will cause the default direction to be
5616         Right-to-Left.
5617
5618         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5619         direction if marked as flippable.
5620
5621         * gtk/gtkhscale.c: Mark widget as flippable.
5622         
5623 2000-10-04  Havoc Pennington  <hp@redhat.com>
5624
5625         * gtk/testgtk.c (create_buttons): create some stock buttons
5626         with the default accel group
5627         (create_image): test some new GtkImage features
5628         (make_message_dialog): test GtkMessageDialog
5629         (create_modal_window): fix someone's bizzarro indentation
5630
5631         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5632         GTK_WIN_POS_CENTER_ON_PARENT. 
5633         Add "destroy with parent" setting, which means the window goes
5634         away with its transient parent.
5635         (gtk_window_get_default_accel_group): get the default accel group
5636         for the window.
5637         (gtk_window_set_destroy_with_parent): set/unset destroy with
5638         parent flag
5639         (gtk_window_read_rcfiles): invalidate icon set caches
5640         after reloading rcfiles 
5641
5642         * gtk/gtkenums.h (GtkWindowPosition): add
5643         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5644         on its parent window when the dialog is mapped for the first time.
5645
5646         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5647         a simple message dialog class
5648         
5649         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5650         handler to emit response signal, and maybe later it would
5651         honor a hide_on_delete flag - though that isn't there yet.
5652         Set border width on the vbox to 2, so we get some padding.      
5653         Use a button box for the action area.
5654         (gtk_dialog_key_press): synthesize a delete event if Esc
5655         is pressed and the GtkWidget key press handler didn't 
5656         handle the escape key.
5657         (gtk_dialog_new_with_buttons): new function creates a dialog
5658         with some default buttons in it.
5659         (gtk_dialog_add_action_widget): add an activatable widget
5660         as a button in the dialog - you can also add a non-activatable
5661         widget by accessing the action area directly.
5662         (gtk_dialog_add_button): add a simple button - stock ID or 
5663         label - to the action area
5664         (gtk_dialog_response): emit response signal
5665         (gtk_dialog_run): block waiting for the dialog, return 
5666         the response. Override normal delete_event behavior, so that 
5667         delete_event does nothing inside gtk_dialog_run().
5668
5669         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5670         emitted when an action widget is clicked or the dialog gets
5671         delete_event
5672
5673         * gtk/gtk.h: add gtkmessagedialog.h
5674
5675         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5676
5677 2000-10-18  Havoc Pennington  <hp@redhat.com>
5678
5679         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5680         where any number of empty lines would get skipped
5681
5682         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5683         edge.
5684
5685         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5686         warning about invalid iterators (explain more thoroughly)
5687         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5688
5689         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5690         big
5691
5692         * demos/*.c: Add error handling
5693
5694         * gtk/gtktextbuffer.c: don't modify const iterators
5695
5696         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5697
5698         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5699         on file load
5700
5701         * gtk/gtkiconfactory.c: Update to reflect addition of error
5702         handling to gdk-pixbuf loaders
5703
5704 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5705
5706         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5707         move to new modularized testgtk.
5708
5709 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5710
5711         * gtk/gtktreeview.c: Draw the arrows correctly.
5712
5713         * gtk/gtktreemodel.c: Added user docs.
5714
5715         * gtk/gtk.h: remove gtktreedatalist.h.
5716
5717         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5718         parent when generating my type.
5719
5720         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5721         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5722
5723 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5724
5725         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5726         GtkTreeModel from object to interface.
5727
5728 2000-10-16  Havoc Pennington  <hp@redhat.com>
5729
5730         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5731         compilation
5732
5733 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5734
5735         * gtk/gtktreeselection.c: Add API documentation to all public
5736         functions.
5737
5738         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5739         functions.
5740
5741 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5742
5743         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5744         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5745         docs to all public functions.
5746
5747         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5748         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5749         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5750         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5751         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5752         issue.
5753
5754 2000-10-14  Robert Brady  <robert@suse.co.uk>
5755
5756         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5757
5758 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5759
5760         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5761         values other then G_TYPE_STRING.
5762         * gtk/gtktreeselection.c: Minor commenting updates.
5763         * gtk/gtktreeview.c: Format updates.
5764
5765 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5766
5767         * README.win32: Update.
5768
5769         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5770         lines that had been deleted by mistake (?).
5771
5772         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5773         also the case fg==white and bg==black (but still not randomly
5774         coloured cursors). Thanks to Wolfgang Sourdeau.
5775
5776         * gdk/win32/*.c: Silence gcc -Wall.
5777
5778         * gtk/gtk.def: Add missing entry points.
5779
5780         Fixes by Hans Breuer:
5781
5782         * gdk/makefile.msc
5783         * gdk/win32/makefile.msc: Update.
5784
5785         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5786         some MSVC thing, presumably), cause breakpoint on failures. Add
5787         GDK_NOR case. Call g_log_set_always_fatal.
5788
5789         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5790         should be pased by reference.
5791         
5792         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5793         
5794         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5795
5796         * gdk/win32/gdkevents-win32.c
5797         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5798
5799         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5800         implementation object.
5801
5802         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5803         not just windows.
5804         
5805         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5806         Use the wrapper object.
5807         
5808 2000-10-06  Havoc Pennington  <hp@redhat.com>
5809
5810         * Makefile.am (SRC_SUBDIRS): contrib subdir
5811
5812         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5813         so it can be used in Xlib version
5814
5815         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5816         tree
5817
5818         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5819         change from 1.0 tree that returns first frame of animation
5820         if the loaded file is an animation.
5821
5822         * contrib: add new directory to hold stuff that comes with GTK+
5823         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5824         
5825         * configure.in: add contrib/*
5826
5827 2000-10-05  Havoc Pennington  <hp@redhat.com>
5828
5829         * demos/testpixbuf-save.c: add pixbuf save test
5830
5831         * demos/Makefile.am: add testpixbuf-save.c
5832
5833 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5834
5835         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5836         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5837         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5838         * gtk/gtktreeselection.[ch]: Replaced
5839         "node_selected"/"node_unselected" signal with "selection_changed"
5840         signal.
5841
5842 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5843
5844         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5845         tree widget.
5846
5847 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5848
5849         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5850         drawing.
5851
5852 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5853
5854         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5855         Move list pointer forwards before removing item from
5856         list. (Crash reported by Salmaso Raffaele)
5857
5858         * gdk/gdkwindow.h: Remove spurious trailing ,
5859
5860         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5861         dependencies on uninstalled libraries, sorry folks.
5862
5863 2000-10-04  Havoc Pennington  <hp@redhat.com>
5864
5865         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5866         gtk/gtkiconfactory.c: Fix copyrights    
5867
5868         * demos/testpixbuf.c: add inline pixbuf test
5869         
5870 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5871
5872         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5873         Add gdk_window_iconify.
5874
5875         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5876         (gdk_window_set_geometry_hints): Add win_gravity
5877         to geometry structure.
5878
5879         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5880         Implement _NET_WM_PING.
5881
5882         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5883         Set _NET_WM_PID on the client leader.
5884
5885         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5886         Handle UTF-8 better.
5887
5888         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5889         UTF-8 better, set _NET_WM_NAME as well. Only set
5890         icon name if it hasn't previously been explicitely 
5891         set.
5892
5893 2000-10-03  Havoc Pennington  <hp@redhat.com>
5894
5895         * gtk/testtextbuffer.c: clean up trailing whitespace,
5896         add extensive tests for tag toggle iteration.
5897         
5898         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5899         distance
5900
5901         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5902         optimize case where the tag root is on level 1
5903         (gtk_text_line_previous_could_contain_tag): attempt to implement
5904         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5905         functionality
5906
5907         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5908         Implement this, though not very efficiently.
5909
5910         * gtk/gtktextiterprivate.h: reformat
5911
5912         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5913         iterator
5914
5915         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5916         this to properly revalidate the iterators.
5917
5918         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5919         properly at the end of the line (and therefore on empty lines)
5920
5921         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5922         maybe we should return a value...
5923
5924 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5925
5926         * config.h.win32: Guard definition of alloca(). glib.h now handles
5927         that.
5928
5929         * gdk/gdk.def
5930         * gtk/gtk.def: Add new entry points.
5931
5932         Changes just to make GTK+ build without errors on Win32. No hope
5933         of it working in its current state, though...:
5934         
5935         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5936         some functions from the X11 backend, just to make GTK+ build.
5937
5938         * gdk/makefile.mingw.in
5939         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5940         number. Add new object files.
5941
5942         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5943         GetMessageTime to get timestamp (where on X11 uses
5944         gdk_x11_get_server_time()).
5945
5946 2000-10-02  Havoc Pennington  <hp@pobox.com>
5947
5948         * gtk/gtktextview.c: text_window_* weren't static and should have
5949         been.
5950         Start work on child widgets; not yet complete, syncing to 
5951         office computer.
5952
5953         * gtk/gtktextchild.h: change this to contain a public interface,
5954         starting work on child interfaces.
5955         * gtk/gtktextchildprivate.h: move private interfaces here
5956
5957         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5958
5959         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5960         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5961         gtk/gtktextmark.c: copyright notices
5962
5963         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5964         internal functions      
5965
5966         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5967         internal function
5968
5969         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5970         Reformatting    
5971
5972 2000-09-30  Havoc Pennington  <hp@pobox.com>
5973
5974         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5975         NULL start/end pointers
5976
5977         * gtk/gtktextbuffer.c: Write some docs
5978         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5979         NULL, so you can just check whether there's a selection.        
5980
5981         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5982         cleanup_line or segments_changed ourselves, it gets done 
5983         in unlink_segment
5984
5985         * gtk/gtktextmark.h:
5986         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5987         
5988         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5989
5990         * gtk/gtktextmark.c: delete some more old Tk cruft
5991
5992         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5993         mark before removing it, so we can emit MARK_DELETED with a valid
5994         pointer.
5995         (gtk_text_buffer_mark_set): hold ref across signal emission
5996
5997         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5998         whining about attempts to delete special marks
5999
6000         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6001         underscore, since it's internal.
6002
6003         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6004         now implemented in terms of iterators in gtktextiter.h
6005
6006         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6007         New function, destructively sets contents of buffer. Also 
6008         a convenient way to clear the buffer by setting text to ""
6009
6010         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6011         multiline string literal
6012
6013         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6014         text changes.
6015
6016         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6017         is not dereferenceable
6018         (gtk_text_iter_forward_lines): fix return value
6019
6020 2000-09-29  Havoc Pennington  <hp@redhat.com>
6021
6022         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6023
6024         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6025         that set border window size to have nicer name
6026         (gtk_text_view_mark_set_handler):  Fix this to have the 
6027         right signature.
6028
6029         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6030
6031         * gtk/testtext.c: Update with API changes, put line numbers on 
6032         both sides.
6033         
6034         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6035         with this
6036
6037         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6038         pixbuf; delete a big block of #if 0 Tk code
6039
6040         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6041         insert_pixmap with insert_pixbuf
6042
6043 2000-09-29  Martin Baulig  <baulig@suse.de>
6044
6045         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6046         confusion with the GdkPixbuf of the GNOME 1.x platform.
6047
6048 2000-09-29  Havoc Pennington  <hp@pobox.com>
6049
6050         * gtk/gtktextview.c: Implement the side windows.
6051
6052         * gtk/testtext.c: Implement simple line numbering in the 
6053         left side window; seems to make scrolling sloooow. Oops.
6054         Also, cursor blink is for some reason causing redraws
6055         of the line numbers. Should investigate...
6056
6057 2000-09-28  Havoc Pennington  <hp@redhat.com>
6058
6059         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6060         scrolling child windows, and draw focus rectangle properly.
6061         
6062         (gtk_text_view_buffer_to_window_coords):
6063         Coordinate transformation to deal with all these freaking windows
6064         and offsets
6065         (gtk_text_view_window_to_buffer_coords): transform the other way
6066
6067         * gtk/testtext.c (create_buffer): Update to match Pango API change
6068
6069         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6070         anonymous tags
6071         (foreach_unref): don't emit remove signal from finalize, just
6072         set tag's parent to NULL
6073
6074 2000-09-26  Havoc Pennington  <hp@redhat.com>
6075
6076         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6077         Fix some warnings       
6078
6079 2000-09-26  Havoc Pennington  <hp@redhat.com>
6080
6081         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6082         headers into the private header list
6083
6084         * Makefile.am (pkgconfig_DATA): install pkg-config files
6085
6086         * configure.in: add pkg-config files
6087
6088         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6089
6090         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6091         outstanding icon caches on theme change.
6092
6093         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6094         important types:
6095
6096         (GtkIconSource): Specification for creating a pixbuf 
6097         appropriate for a direction/state/size triplet from 
6098         a source pixbuf or filename
6099
6100         (GtkIconSet): List of GtkIconSource objects that are used to
6101         create the "same" icon (e.g. an OK button icon), and cache for
6102         rendered icons
6103
6104         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6105         up the icon set for a given stock ID.  GTK maintains a stack of
6106         GtkIconFactory to search, and applications or libraries can add
6107         additional icon factories on top of the stack
6108         
6109         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6110         the set of GtkIconSource specified for a given stock ID into 
6111         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6112         RcStyle, under the specified stock ID.
6113
6114         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6115         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6116         This allows people to theme how prelight, insensitive, etc. are
6117         done.
6118
6119         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6120         icon factories for a style, and return the resulting 
6121         icon set if any.
6122
6123         (gtk_style_render_icon): Render an icon using the render_icon 
6124         method in the GtkStyleClass.
6125
6126         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6127         Use the style for a given widget to look up a stock ID, get the
6128         icon set, and render an icon using the render_icon method 
6129         of the style
6130
6131         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6132         (contains information about a stock item), the built-in stock item
6133         IDs, and functions to add/lookup stock items.
6134
6135         * gtk/stock-icons/*: Stock icons that come with GTK
6136
6137         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6138         a button based on a GtkStockItem
6139         (gtk_button_new_accel): Takes a uline string and accel group, and
6140         installs the accelerator.
6141
6142         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6143         image-display widget.
6144
6145 2000-09-25  Havoc Pennington  <hp@redhat.com>
6146
6147         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6148
6149         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6150         Fix a bug when removing node data, we didn't properly 
6151         re-splice the linked list after removing the data.
6152
6153         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6154         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6155
6156         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6157
6158         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6159         for the layout from the GtkTextTag.
6160
6161         * gtk/gtktexttypes.h: delete tab and search cruft, 
6162         remove g_convert() in favor of GLib version
6163
6164         * gtk/gtktexttypes.c: remove tab implementation from here,
6165         move to Pango
6166
6167         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6168         tab stuff using new PangoTabArray from Pango
6169
6170         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6171         unused border_width stuff
6172
6173 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6174
6175         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6176         glib) and now useless utf_to_latin1() latin1_to_utf()
6177
6178         * gtk/gtktextview.[ch]: Change ::move_insert and
6179         ::delete_text action signals to ::move and ::delete;
6180         create the signals with the right enumeration type,
6181         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6182         C-v bindings, change Home, End to move to beginning/end
6183         of line, Add C-Home C-End to move to beginning/end
6184         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6185         combine ::scroll_text into ::move; use new GtkSelectionData
6186         functions to simplify DND text handling.
6187         
6188         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6189         deletion enumerations here, rename enumeration values to 
6190         be consistently plural.
6191
6192         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6193         for cut/copy/paste and primary selection.
6194
6195         * gtk/gtktextbuffer.[ch]: Remove excess time and
6196         'interactive' arguments from cut/copy/paste;
6197         rename cut to cut_clipboard, etc; remove
6198         gtk_text_buffer_get_clipboard_contents().
6199
6200         * gtk/gtktextlayout.[ch]: Add 
6201         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6202         line ends.
6203
6204         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6205         Functions to set or get a UTF-8 string on the selection
6206         data.
6207
6208         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6209         interfaces.
6210
6211         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6212         created widgets - one of these is useless if we don't.
6213
6214         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6215         a public function clear all targets registered for the
6216         widget.
6217
6218         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6219         Never call gtk_widget_realize() - that was just asking
6220         for bizarre side-effects.
6221
6222         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6223         gdk_selection_owner_set even if the widget is the
6224         same so that we reliably update the timestamp on
6225         the server.
6226
6227         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6228         gdk_x11_get_server_time() function.
6229         
6230         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6231         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6232         Add some tricky filtering on serial numbers for
6233         selection clear events to fix up long-standard
6234         race condition FIXME's in gtkselection.c.
6235
6236         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6237         routines to convert from utf8 to compound text or
6238         STRING and from a text property to UTF-8.
6239
6240         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6241         a convenience function gdk_get_current_event_time().
6242
6243         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6244         and free selection_data->data properly
6245
6246 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6247
6248         * gtk/gtkthemes.c: Remove some unecessary includes.
6249
6250 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6251
6252         * gtk/gtktextdisplay.c
6253         * gtk/gtktextlayout.c
6254         * gtk/gtktexttag.c
6255         * gtk/gtktexttag.h
6256         * gtk/testtext.c: Change the overstrike property to strikethrough,
6257         to closer match pango.
6258
6259 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6260
6261         * gtk/gtktextview.c: Fix up visibility so that focus,
6262         cursor_visible and blink interact properly.  Reenable cursor blink
6263         which had been roughly disabled. Make blink and focus
6264         properly per-view.
6265
6266         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6267         Add a flag for whether to display insertion cursor and
6268         a function to set the flag.
6269
6270         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6271         get_line_y() to get_line_yrange(), to be a bit more generally
6272         useful.
6273
6274 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6275
6276         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6277           do stop_navigating_submenu, to clear last timeout properly.
6278           Also in gtk_menu_motion_notify move ignore_enter above
6279           the conditional to make it always happen as suggested by Owen
6280
6281 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6282
6283         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6284
6285         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6286         w32api headers.
6287
6288         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6289         declarations.
6290
6291         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6292         (gdk_win32_get_colormap): A line had been deleted by mistake.
6293
6294         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6295         (gdk_event_translate): Handle more virtual keycodes to be able to
6296         generate GDK events for Control-comma, Control-period, etc.
6297
6298         * gtk/gtk.def: Add some missing entry points.
6299
6300 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6301
6302         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6303         Doc comment fixing. (Mostly non-matching parameter names.)
6304
6305         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6306         comments a little to avoid looking like a doc comment.
6307
6308         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6309         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6310         conversions be changed to GError?)
6311
6312         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6313         Move private #defines into .c file.
6314
6315         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6316         order of argument addition, remove duplicates.
6317
6318         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6319         parent class is FrameClass, not BinClass.
6320
6321         * gtk/gtk.h: Add gtkinvisible, which was missing.
6322         (It's occasionalyl useful for client apps, if seldom.)
6323
6324         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6325         #define.
6326
6327 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6328
6329         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6330         coordinates when creating window, instead of GDK-space
6331         coordinates. (Avoid BadValue on too large windows.)
6332
6333 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6334
6335         * configure.in (use_mmx_asm): Remove conftest* after use along the
6336         lines of AC_TRY_COMPILE.        
6337         
6338         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6339         of g_dirname, which is deprecated.
6340         (gtk_rc_parse_any): Removed calls to
6341         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6342
6343         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6344         Removed calls to g_hash_table_{freeze,thaw}, as they are
6345         deprecated now.
6346
6347         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6348         instead of g_basename.
6349         
6350 2000-09-04 Elliot Lee <sopwith@redhat.com>
6351         
6352         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6353         ANSI warning.
6354
6355 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6356
6357         * gtk/gtkwidget.h:  Add some documenting comments about 
6358           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6359           just as owen said on irc.
6360
6361         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6362           set HAS_DEFAULT.  Only set it if there isn't another window
6363           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6364           it if the widget is not the focused window with RECEIVES_DEFAULT.
6365           This fixes weird double default bugs in dialogs which has things
6366           call gtk_window_set_default at times.
6367
6368 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6369
6370         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6371         Nils Barth and David Santiago to improve submenu
6372         navigation. The patch does this by creating a triangular
6373         region from the point where the pointer leaves the
6374         menu to the submenu.  While the pointer is in
6375         that region and a timeout has not expired, events 
6376         that would cause the active submenu to change are
6377         ignored.
6378
6379 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6380
6381         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6382         moving a toplevel window immediately after sizing it would
6383         result in it being sized back to the old size since 
6384         impl->width, impl->height aren't updated until we hear
6385         back from the server. There is still a (longstanding) bug
6386         here that gdk_window_get_size() will give the wrong size
6387         until we do hear back.
6388
6389 2000-08-31  Havoc Pennington  <hp@redhat.com>
6390
6391         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6392         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6393         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6394         Rename GtkTextStyleValues to GtkTextAttributes
6395
6396 2000-08-31  Havoc Pennington  <hp@pobox.com>
6397
6398         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6399         for rapid testing whether an iterator is the end iterator
6400         (gtk_text_btree_new): init end line cache
6401         (gtk_text_line_is_last): use fast cached line to 
6402         see if we're the last line.
6403         (get_last_line): use cached line here too, should 
6404         speed up some random unrelated code.
6405         
6406 2000-08-30  Havoc Pennington  <hp@pobox.com>
6407
6408         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6409         signals.
6410
6411         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6412         delete_text signals. This allows the signals to be used for
6413         implementing undo.
6414
6415         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6416         provide "interactive" argument when emitting insert_text or
6417         delete_text signal.
6418         
6419 2000-08-30  Havoc Pennington  <hp@pobox.com>
6420
6421         * gtk/gtktextbuffer.c: Docs
6422
6423 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6424
6425         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6426         from switch statements, since Tor removed the enumeration
6427         value.
6428         
6429         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6430         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6431
6432 2000-08-29 Elliot Lee <sopwith@redhat.com>
6433         * */*.h: Use G_GNUC_CONST.
6434
6435 2000-08-27  Havoc Pennington  <hp@pobox.com>
6436
6437         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6438         minor indentation fixes, inserted some FIXME about stuff I
6439         realized was broken while documenting it.
6440         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6441         GTK convention  
6442
6443 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6444
6445         * gtk/testgtk.c (create_styles): Fix double free of
6446         font desc.
6447
6448 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6449
6450         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6451         
6452         * gtk/testgtk.c (create_styles): Add a test for modifying
6453         the style through gtk_widget_modify_*.
6454
6455         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6456         a function to get the current modifier style.
6457
6458         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6459         of the passed in GtkRcStyle instead of ref'ing it.
6460
6461         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6462
6463 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6464
6465         * gdk/gdkimage.h
6466         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6467         shared memory image+pixmap GdkImage type, or
6468         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6469         I am dropping that.
6470
6471         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6472         actually call gtk_init_abi_check(), passing also
6473         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6474
6475         * gtk/gtk.def
6476         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6477         New functions, used to check that the GTK+-using code has been
6478         compiled using the correct compiler and switches. In particular,
6479         with gcc one has to use the -fnative-struct switch as GTK+ is
6480         compiled with that.
6481
6482 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6483
6484         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6485         ->prev fields when merging lists. (Found simultaneously
6486         by Pawel Salek and Jakub Jelinek)
6487
6488 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6489
6490         * gdk/gdk.def
6491         * gtk/gtk.def: Add missing entries.
6492
6493         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6494         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6495
6496         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6497         function. Dummy implementation at this point.
6498
6499         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6500         rules. Undefine GTK_COMPILATION when compiling the test programs.
6501         
6502         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6503
6504 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6505
6506         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6507         to convert back and forth from UTF-8 and the "system" (or "current
6508         locale") charset when necessary. Indentation/spacing cleanup.
6509
6510 2000-08-10  Havoc Pennington  <hp@redhat.com>
6511
6512         * Makefile.am (snapshot): Change the format of the snapshot
6513         version to match glib
6514
6515         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6516         from EXTRA_DIST since it doesn't seem to exist
6517
6518 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6519
6520         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6521         version of the directory name (not the UTF-8 one) when building
6522         the path name to stat().
6523
6524 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6525
6526         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6527         PANGO_ATTR_SHAPE set.
6528
6529 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6530
6531         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6532         Peter Osterlund to simplify the code while keeping the
6533         functionality the same.
6534
6535 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6536
6537         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6538         is_viewable() test further inside the function, since removing the 
6539         window from the redraw list without clearing ->update_area
6540         was also very broken.
6541
6542 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6543
6544         * configure.in: Check for <unistd.h>.
6545
6546 2000-08-01  Martin Baulig  <baulig@suse.de>
6547
6548         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6549         to display the message that this is a development version of GTK+.
6550
6551 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6552
6553         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6554         was depending on widget->allocation instead of the width of text_area,
6555         which was incorrect for subclasses like GtkSpinButton.
6556
6557         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6558         with width == 1 tests that should be width == -1.
6559
6560 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6561
6562         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6563         (broken, Elliot, every single window blank on X) custom code with call
6564         to gdk_window_is_viewable() which a) prevents code duplicate and
6565         b) works. 
6566
6567 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6568
6569         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6570         to get the GDK_PARENT_ROOT() macro to work.
6571         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6572         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6573         of, windows that aren't shown.
6574         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6575         pointer grab stuff.
6576
6577 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6578
6579         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6580           s/gtk_main_iteration/g_main_iteration/
6581
6582           Did this already in change:
6583                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6584           don't know how it got reverted.
6585
6586 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6587
6588         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6589         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6590
6591         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6592         not gdk_pixbuf.
6593
6594 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6595
6596         * configure.in,po/{sp,sr}.po: Added Serbian files
6597
6598 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6599
6600         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6601
6602         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6603         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6604         GIOChannel implementation.
6605
6606         * gdk/win32/gdkinput.c
6607         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6608
6609         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6610         definition to match prototype.
6611
6612         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6613
6614 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6615
6616         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6617         function, to allow handling image formats that cannot be detected
6618         by looking at content alone.
6619
6620 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6621
6622         * docs/tutorial/*.gif *.jpg *.eps
6623           Update these to the same look-n-feel.
6624           Why does including images in DocBook suck so badly?
6625
6626 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6627
6628         * gtk/gtktable.c: applied patch from Phil Thompson
6629         <phil@river-bank.demon.co.uk> that enables space settings for
6630         the last row/columns as well.
6631
6632 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6633
6634         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6635         updates the license headers to the GNU Lesser General Public License,
6636         as well as updating the copyright year to 2000.
6637
6638 2000-07-26  Robert Brady  <rwb197@zepler.org>
6639
6640         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6641           and po/Makefile, was installing and looking for them under gtk20
6642           and gtk2 respectively.
6643
6644 2000-07-25  Havoc Pennington  <hp@redhat.com>
6645
6646         * gtk/testtext.c: Comment out some stuff that depends on the rest
6647         of my patches.
6648
6649 2000-07-25  Havoc Pennington  <hp@redhat.com>
6650
6651         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6652         buffer
6653
6654 2000-07-25  Havoc Pennington  <hp@redhat.com>
6655
6656         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6657         widget changes.
6658
6659         * gtk/gtktextview.h: To be consistent with usage of "line"
6660         throughout the API to mean "newline-terminated thingy", change
6661         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6662         to MOVEMENT_LINE.
6663
6664         (GtkTextView): Add flags for default editability, and whether to
6665         show the cursor. Add functions to get/set that. Add 
6666
6667         (gtk_text_view_get_iter_location): new function
6668
6669         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6670         gtktextlayout.h
6671         (g_convert): Add g_convert temporarily, will go in glib in a bit
6672         
6673         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6674         GtkTextTagTableForeach instead of brokenly using GHFunc.
6675         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6676
6677         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6678         moved to public header.
6679
6680         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6681         "invisible", since "elide" was a bad name.
6682         (gtk_text_tag_get_priority): Added
6683
6684         (GtkTextStyleValues): put this in public header, along with
6685         functions to use it.
6686
6687         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6688         longer include gtktextbtree.h.
6689
6690         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6691         gtk_text_mark_deleted
6692
6693         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6694         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6695         to make this possible. Now we only need to install
6696         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6697         (However the Makefile.am isn't changed yet because of the
6698         logistics of merging gtk-hp-patches piecemeal)
6699
6700         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6701         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6702         gtk_text_iter_get_line is now used in the public API for a
6703         different purpose.
6704
6705         * gtk/gtktextiter.h: Clean up function names to be more
6706         consistent. Always call char offset "offset" and byte index
6707         "index". A "line" is always a line number. 
6708
6709         (gtk_text_iter_is_last): new function, more efficient than 
6710         the existing way to check
6711         (gtk_text_iter_is_first): new function, also more efficient
6712
6713         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6714
6715         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6716         gtk_text_iter_forward_char, etc.
6717
6718         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6719         forward_find_tag_toggle, since this isn't a linear search
6720
6721         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6722
6723         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6724         New functions, search for a buffer substring.
6725
6726         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6727         interactive and default editable (since we need to store that info
6728         until we receive the selection data).
6729
6730         Remove all the _at_char and at_line etc. versions of functions;
6731         only have iterator versions.
6732
6733         Add _interactive() versions of functions, that consider the
6734         editability of text. (FIXME add interactive flag to the 
6735         insert/delete signals per Darin's suggestion)
6736
6737         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6738         tag table if necessary
6739
6740         Remove declaration of gtk_text_buffer_get_iter_from_string
6741
6742         (_gtk_text_buffer_get_btree): private/internal function, added.
6743         
6744
6745         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6746         (gtk_text_line_is_last): new function
6747
6748 2000-07-25  Havoc Pennington  <hp@redhat.com>
6749
6750         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6751         using GtkProgressBar. See Changes-2.0.txt for details.
6752
6753         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6754         "pulse_step" which are the equivalent of
6755         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6756         Implement new API.
6757         
6758         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6759         (use_text_format) to mark whether text set on the progress bar is
6760         a format string. Deprecate entire GtkProgress interface.
6761
6762         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6763         (gtk_progress_build_string): make this a no-op if use_text_format
6764         is FALSE
6765
6766         * docs/Changes-2.0.txt: Describe progress bar changes.
6767
6768 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6769
6770         * Makefile.am: Include the build directory.
6771
6772         * configure.in: Generate build/Makefile, build/win32/Makefile,
6773         gdk/, gdk/win32/, and gtk/makefile.mingw.
6774
6775         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6776         Add GETTEXT_PACKAGE.
6777         
6778         * gdk/gdk.def
6779         * gtk/gtk.def: Updates.
6780
6781         * gdk/gdkfont.h
6782         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6783         need them any longer.
6784
6785         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6786
6787         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6788         PANGOWIN32_LIBS and gdk_pixbuf.
6789
6790         * gdk/win32: Compiles, but no doubt doesn't work at all.
6791
6792         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6793
6794         * gdk/win32/gdkinput.c: New file, temporarily.
6795         
6796         * gdk/win32/gdkinput-win32.h: New file
6797
6798         * gdk/win32/gdkinputprivate.h: Remove.
6799
6800         * gdk/win32/gdkpango-win32.c: New file.
6801
6802         * gtk/makefile.mingw.in: New file
6803
6804         * gtk/makefile.cygwin: Removed
6805         
6806         * gtk/Makefile.am: Update accordingly.
6807
6808         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6809         made externally visible.
6810
6811         * gtk/gtkmain.c: Use it.
6812         
6813         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6814         is enough.
6815
6816         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6817
6818 2000-07-24 Elliot Lee <sopwith@redhat.com>
6819         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6820         individual backends already.
6821         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6822         again. Yes, there really is a good reason for this, if you are using the gdkregion
6823         internals, and if you're not, why do you care?
6824         * gdk/gdkwindow.c: Fix inverted condition
6825         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6826         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6827         * gtk/gtkrange.c: Redraw trough when moving.
6828         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6829         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6830
6831 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6832
6833         * configure.in: Check for mkstemp and sigsetjmp. Output
6834         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6835
6836         More work on GDK for Win32. Still in an intermediate state.
6837
6838         * gdk/makefile.cygwin
6839         * gdk/win32/makefile.cygwin: Removed.
6840         
6841         * gdk/makefile.mingw.in
6842         * gdk/win32/makefile.mingw.in: New files.
6843
6844         * gdk/Makefile.am
6845         * gdk/win32/Makefile.am: Generate and distribute them.
6846
6847         * gdk/win32/gdkwindow-win32.h
6848         * gdk/win32/gdkdrawable-win32.h
6849         * gdk/win32/gdkpixmap-win32.h: New files.
6850
6851         * gdk/win32/gdkcolor-win32.c
6852         * gdk/win32/gdkcursor-win32.c
6853         * gdk/win32/gdkdrawable-win32.c
6854         * gdk/win32/gdkgc-win32.c
6855         * gdk/win32/gdkimage-win32.c
6856         * gdk/win32/gdkprivate-win32.h
6857         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6858         Rename fields and variables called xcursor, xid, etc (these names
6859         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6860
6861 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6862
6863         * gtk/gtkentry.[ch]: Fix some problems with vertical
6864         alignment.
6865
6866         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6867         char/byte confusion.
6868
6869 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6870
6871         * gtk/gtktextview.c (changed_handler): Fix bug where
6872         redraw wasn't being done properly when height of
6873         dirty region changed.
6874
6875         * demos/Makefile.am: Remove various references to
6876         -lgmodule
6877
6878 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6879
6880         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6881         PangoAttrShape to reserve space for pixmaps, add 
6882         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6883         in the display functions.
6884         
6885         * gtk/testgtk.c (create_layout): Set some more exotic
6886         scrolled window options
6887
6888         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6889         Add function to set the shadow type of a window, to allow
6890         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6891         which don't draw their own frame.
6892
6893 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6894
6895         * docs/tutorial/package-db-tutorial.sh: New file for
6896           packaging DocBook format tutorial
6897
6898 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6899
6900         * docs/tutorial/gtk-tut.sgml: Minor updates
6901
6902         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6903
6904 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6905
6906         * gtk/gtksignal.c: Fix C++ comment.
6907
6908         * gtk/gtkimmulticontext.c
6909         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6910         don't return value from void functions.
6911
6912         * gtk/gtk.def: Add gtk_rc_style_unref.
6913
6914 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6915
6916         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6917         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6918         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6919         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6920         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6921         gtk/gtktypeutils.h: Include files outside of the extern "C"
6922         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6923         <vakatov@peony.nlm.nih.gov>.
6924
6925 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6926
6927         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6928           Completes first pass. Hurrah!
6929
6930 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6931
6932         * docs/tutorial/gtk-tut.sgml: More clean ups.
6933
6934 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6935
6936         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6937         paint the background of the text area which was accidentally
6938         removed at some point.
6939
6940         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6941           
6942          - Move most of the functionality from the theme vtable
6943            into GtkRcStyleClass and GtkStyleClass. The moved
6944            vtable functions were changed a bit in the move to
6945            work better in their new home.
6946
6947          - Get rid of the engine and engine_data fields from
6948            GtkRcStyle and GtkStyle; instead the theme
6949            engine derives theme-specific subclasses of GtkRcStyle
6950            and GtkStyle
6951
6952          - Add extra dlsym() found entry point to themes,
6953            theme_create_rc_style().
6954
6955         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6956         in gtk_style_real_copy.
6957
6958         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6959         to register a type associated with an engine. (The engine
6960         won't be unloaded as there is an instance of the type.)
6961
6962
6963 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6964
6965         * docs/tutorial/gtk-tut.sgml: Clean ups.
6966
6967 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6968
6969         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6970           of cleaning up to do.
6971
6972 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6973
6974         * gdk/testgdk.c: New file, quick hack to test backends for
6975         pixel-by-pixel correctness of the most simple graphic operations.
6976
6977 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6978
6979         * Really release 1.3.1
6980         
6981         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6982         include structure.
6983
6984 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6985
6986         * Released 1.3.1
6987
6988 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6989
6990         * gtk/gtktextlayout.c: use FALSE for size_only most
6991         of the time when calling gtk_text_layout_get_line_display()
6992         to avoid causing double reshapes when a redraw follows
6993         immediately after.
6994
6995 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6996
6997         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6998         appropriate region and gdk_window_process_updates() so trough
6999         updating doesn't lag behind the window being scrolled.
7000
7001         * gdk/gdkgc.c: Make parent_class pointer static.
7002          
7003 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7004
7005         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7006         include <string.h>.
7007          
7008         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7009         cut-and-paste error in computing memory offset for 4 channels.
7010
7011 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7012
7013         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7014         gtk_rc_append_default_pixmap_path(), since it wasn't
7015         adding an interesting path and we don't have a meaningful
7016         default for this value.
7017
7018 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7019
7020         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7021         gtk-config to gtk-config-2.0 move gtk_.m4 to
7022         gtk-2.0.m4
7023
7024         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7025         gdk/Makefile.am demos/Makefile.am: Change 
7026         library names to libgtk-1.3.la, etc, so that we
7027         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7028
7029         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7030         gdk/Makefile.am gdk/x11/Makfile.am
7031         Move include files into /usr/include/gtk-2.0, 
7032         /usr/lib/gtk-2.0/include/
7033          
7034         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7035         gtk/gtkintl.h: Change package for gettext from 
7036         gtk+ to gtk20. Put hack in autogen.sh to modify
7037         po/Makefile.in.in after gettextize to make this
7038         possible.
7039
7040         * gtk+.spec: Some updates, not tested.
7041
7042         * gdk-pixbuf/Makefile.am: Move loaders into
7043         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7044
7045         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7046         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7047         to THEMENAME/gtk-2.0/. Move engine directory  to
7048         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7049         
7050 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7051
7052         Win32 changes, still doesn't build though.
7053
7054         * gdk/makefile.cygwin
7055         * gdk/win32/makefile.cygwin
7056         * gtk/makefile.cygwin: Updates.
7057
7058         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7059         default values for fg and bg pixel as X11 does (0 and 1), not
7060         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7061         Use 0 for pen width by default (treated as 1 anyway later, but for
7062         apps that might check the value in the GdkGC).
7063         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7064         interface to gdk_gc_predraw and _postdraw.
7065
7066         * gdk/win32/gdkwin32.h
7067         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7068
7069         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7070         extraneous semicolon.
7071
7072         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7073
7074         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7075         not the Win32 bitspixel value.
7076
7077         * gdk/win32/gdkcc-win32.c:
7078         * gdk/win32/gdkcolor-win32.c 
7079         * gdk/win32/gdkprivate-win32.h
7080         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7081         GDK object structure.
7082
7083 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7084
7085         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7086         * docs/tutorial/gtk_tut_it.sgml (name): 
7087         * docs/tutorial/gtk_tut_fr.sgml (name): 
7088         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7089         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7090
7091 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7092
7093         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7094           small changes.
7095
7096 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7097
7098         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7099         a bug here, never been here and never fixed anything ;(
7100         (don't segfault if tree->root_tree is NULL, which happens prior
7101         to widget realization, but puke instead).
7102
7103 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7104
7105         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7106         add the necessary tokens.
7107
7108         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7109         (gtk_rc_style_to_style): copy thicknesses.
7110         (gtk_rc_init_style): apply thicknesses.
7111         (gtk_rc_parse_style): parse xthickness and ythickness.
7112
7113         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7114
7115         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7116         (gdk_window_new): 
7117         (_gdk_windowing_window_init): 
7118         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7119         (gdk_pixmap_create_from_data): 
7120         (gdk_bitmap_create_from_data): 
7121         (gdk_pixmap_new): 
7122         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7123         (gdk_image_new): 
7124         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7125         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7126         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7127         (gdk_colormap_get_system): 
7128         (gdk_colormap_new): 
7129         * gdk/gdkwindow.c (gdk_window_init): 
7130         * gtk/gtkstyle.c (gtk_style_new):
7131         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7132         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7133         * gtk/gtkrc.c (gtk_rc_style_new):
7134         use g_object_new() instead of g_type_create_instance() which
7135         is a private function for fundamental type implementations.
7136
7137 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7138
7139         * configure.in: Add check for db2html
7140
7141 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7142
7143         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7144         hack to set glib_debug_objects based on gtk_debug_flags.
7145
7146 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7147
7148         * INSTALL.in: Update the Prerequisites section.
7149
7150         * Makefile.am demos/Makefile.am docs/Makefile.am
7151         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7152         gdk/linux-fb/Makefile.am: Dist fixes
7153
7154 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7155
7156         * NEWS: 10,000 foot view of 1.3.1 changes.
7157
7158 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7159
7160         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7161         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7162         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7163         gdk/x11/gdkmain-x11.c: 
7164
7165         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7166         as a return value of gdk_*_grab(). Previously, we just
7167         returned the X11 values directly.
7168
7169 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7170
7171         * gdk/x11/Makefile.am: Patch from George Lebl to 
7172         install all the headers in the right place.
7173
7174 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7175
7176         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7177           initial conversion to DocBook.
7178
7179 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7180
7181         * README.win32: Improve a bit.
7182
7183         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7184         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7185         Alt+0nnn on the numpad (used to enter characters by numeric code
7186         from current DOS or ANSI codepage) working correctly, as in other
7187         Windows apps.
7188
7189         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7190         same argument validity tests as in X11 version.
7191         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7192
7193         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7194         definitions in case missing from headers.
7195
7196         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7197         destroy the window-specific cursor.
7198         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7199         calling GetModuleHandle(NULL).
7200         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7201         with CopyCursor before setting it as the window-specific
7202         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7203         also its Windows cursor) after calling this function. Destroy any
7204         previous window-specific cursor.
7205
7206 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7207
7208         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7209         font charset is iso8859-1, not iso-8859-1.
7210
7211 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7212
7213         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7214         Use g_get_charset() instead of g_get_codeset().
7215
7216         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7217         Comment out some strdup'ing functions to keep timj
7218         happy until we finish fighting this out.
7219
7220 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7221
7222         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7223         <= width or height.
7224
7225         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7226         from 1.2 for parent/child states.
7227
7228         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7229         of typos.
7230
7231         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7232         event structures, replace with a generic axes field. Replace 
7233         deviceid/sourec with GdkDevice *device.
7234
7235         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7236         to extract particular axis use value from event. (Also
7237         can be used for normal X/Y.)
7238
7239         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7240         allow for arbitrary number of axes, namespace everything
7241         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7242         everywhere.
7243
7244         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7245         Get rid of the gdk_input_vtable setup if favor of simply
7246         defining the functions in gdkinput-none/gxi/xfree.c in
7247         a similar fashion to the way that the port structure is 
7248         done.
7249
7250         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7251         for new event structures. 
7252
7253         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7254         new device interfaces.
7255
7256 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7257
7258         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7259         set the initial text.
7260
7261         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7262         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7263         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7264         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
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:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7270
7271         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7272         pango_layout_set_font_description to simplify.
7273
7274 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7275
7276         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7277         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7278         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7279
7280         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7281         PANGO_PIXELS() macro.
7282
7283 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7284
7285         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7286         that returns a PangoContext owned by the widget and updated to
7287         match future changes in the widget. Also, make 
7288         gtk_widget_create_pango_layout() use this context. If we ever
7289         add a ::changed signal to PangoContext, this will make things
7290         much more convenient. 
7291
7292         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7293         in the appropriate places instead of destroying the layouts and
7294         creating new ones.
7295
7296         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7297         in a few strategic places.
7298
7299 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7300
7301         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7302         gtk_widget_size_request() on reparented child, if one. Otherwise,
7303         queue_resize() on the child never results in it getting size-requested
7304         at all.
7305
7306         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7307         in option menus, so that (with luck) people won't copy it into
7308         their apps in the future.
7309
7310         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7311         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7312         a lot of problems with changing the size of the menu's menu
7313         items after adding it to the option menu.
7314
7315         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7316
7317         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7318         the text direction for a widget changes.
7319
7320         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7321         ::direction_changed to get rid of various hacks.
7322
7323 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7324
7325         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7326         name.
7327
7328 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7329
7330         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7331         flag to the structure. Do not call XFreePixmap on pixmaps created
7332         by gdk_pixmap_foreign_new().
7333
7334 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7335
7336         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7337         value using GdkRGB functionality given GdkColormap and GdkColor.
7338         (name not final, waiting for inspiration.)
7339         
7340         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7341         set the foreground/background of a GC using the GC's colormap
7342         and GdkRGB. (name not final, waiting for inspiration.)
7343
7344         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7345         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7346
7347         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7348         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7349         purely a function of the corresponding colormap. Make
7350         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7351
7352         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7353         gdk_pixbuf_*create_from_xpm_* in terms of
7354         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7355         code.
7356
7357         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7358         advantage of the new draw_rgb_32_image_dithalign.
7359
7360         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7361
7362         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7363         on each created GC.
7364
7365         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7366
7367         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7368         which we initialize from the drawable when the GC is created,
7369         if the drawable has a colormap.
7370
7371         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7372
7373         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7374
7375         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7376
7377 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7378
7379         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7380         actually returning expose events, make sure to set
7381         the count field properly.
7382
7383         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7384         accidentally reintroced bug which always cleared
7385         the graphics_exposures value. 
7386
7387 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7388
7389         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7390
7391 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7392
7393         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7394
7395 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7396
7397         * docs/faq/gtk-faq.sgml: Start of Section 6.
7398
7399 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7400
7401         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7402         
7403         (Fixes problem with drawing childless frames. Pointed out
7404         by and a first patch from Anders)
7405         
7406         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7407         compute a child_allocation, even if we don't have a child.
7408
7409         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7410         Always chain to the parent's impl, even if we don't have a child.
7411
7412 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7413
7414         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7415         use multiple parts of it instead of creating a bunch of separate
7416         segments, since the maximum number of segments per system is not
7417         large. (This might be worth backporting to GTK+-1.2.x if we make a
7418         new release )
7419
7420         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7421         structure in preparation for per-colormap GdkRGB.
7422
7423         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7424         to False when we get EINVAL from shmget so that the caller of
7425         gdk_image_new can retry with a smaller segment size.
7426
7427 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7428
7429         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7430
7431 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7432
7433         * configure.in: make the current version number 1.3.1 (binary age 0,
7434         interface age 0).
7435         
7436         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7437         gtkcompat.h is all we want.
7438
7439         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7440         GLib primitive types. fixed g_type_register_fundamental() argument
7441         ordering.
7442
7443         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7444         compiles.
7445
7446         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7447         object code cleanup, comment trigraph fixes, etc...
7448
7449 2000-06-23  Havoc Pennington  <hp@redhat.com>
7450
7451         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7452         instead of making up a bogus name for first_para_mark
7453
7454         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7455         0 as a context ID
7456
7457 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7458
7459         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7460
7461 2000-06-21  Havoc Pennington  <hp@pobox.com>
7462
7463         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7464         we didn't check window->bg_pixmap != GDK_NO_BG.
7465
7466         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7467         gdk-pixbuf
7468
7469 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7470
7471         * docs/faq/gtk-faq.sgm: Move file to here.
7472           TODO: Update Makfile.am 
7473
7474 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7475
7476         * docs/gtk-faq.sgm: Add Section 2
7477
7478 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7479
7480         * docs/gtk-faq.sgm: New file. Start of DocBook
7481           version of the FAQ.
7482
7483 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7484
7485         * configure.in (GDK_PIXBUF_MAJOR): Define version
7486         numbers for GDK_PIXBUF_*, as they get substituted
7487         into a header file. Need to consider versioning
7488         for gdk-pixbuf more carefully later.
7489
7490 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7491
7492         Work with srcdir != builddir.   
7493         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7494         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7495         * demos/testpixbuf.c: Likewise.
7496         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7497         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7498         <gdk/x11/gdkx.h>.
7499         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7500         "gdk-pixbuf.h".
7501         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7502
7503 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7504
7505         * TODO.xml: Change 1.4 version numbers to 2.0.
7506
7507 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7508
7509         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7510         fixups to GTK+ standard.
7511
7512 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7513
7514         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7515         gdk-pixbuf.
7516
7517         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7518         fixups for GObject.
7519
7520         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7521         gdk-pixbuf with GDK dependencies moved into GDK.
7522         
7523         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7524         move gdk-pixbuf-loader here until GObject has signals.
7525
7526         * demos/: New directory of demos. Move demos from
7527         gdk-pixbuf here.
7528
7529         * demos/pixbuf-init.c: Small bit of code to check for
7530         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7531         set GDK_PIXBUF_MODULEDIR appropriately.
7532
7533         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7534         define which no longer makes sense.
7535
7536 2000-06-21  Havoc Pennington  <hp@redhat.com>
7537
7538         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7539         gtk_get_default_language
7540
7541         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7542         new function to get the default language
7543
7544         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7545         s/gtk_text_view_style_values/gtk_text_style_values/
7546
7547         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7548         Add a "language" field to tags.
7549
7550         (gtk_text_tag_set_arg): Fix bug in setting
7551         "bg_full_height_set" tag.
7552
7553 2000-06-21  Havoc Pennington  <hp@redhat.com>
7554
7555         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7556         in the interfaces
7557
7558         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7559         stuff instead when possible.
7560
7561         * gtk/gtktexttypes.h: Delete some unused constants
7562
7563         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7564         testtextbuffer.c: use glib instead of custom unicode routines
7565
7566 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7567
7568         * docs/es/: Removed mistakenly added generated sgml
7569
7570         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7571         Remove outdated info files.
7572
7573         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7574         Moved tutorial files into subdir
7575
7576         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7577         subdir.
7578
7579         * docs/man/gtk_button.pod: Remove. (contents will be
7580         integrated into gtk-reference button page.)
7581
7582         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7583         docs/faq/Makefile.am: Adjust for new organization
7584
7585 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7586
7587         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7588         not $(MKINSTALLDIRS)
7589
7590 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7591
7592         * gtk/testgtk.c (create_text): Finish the job Elliot started
7593         of removing font setting test for text widget. (Since text widget
7594         and GdkFont are not deprecated, and cause portability problems.)
7595
7596 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7597
7598         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7599         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7600         Remove use of libunicode in favor of new GLib functions.
7601
7602         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7603         nano-x, framebuffer. The X11 include is just a hack until we get
7604         the necessary functions in gdkcolor.h, so there is no reason to
7605         add other includes of platforms.
7606
7607         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7608         window bigger than the screen change.
7609
7610         * gtk/testgtk.c: Revert some random changes from Elliot
7611         that had no particular point and were causing testgtkrc
7612         not to function correctly.
7613         
7614         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7615         because GdkSegment and GdkRegionBox have the same fields,
7616         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7617         results in clearer code.
7618
7619         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7620         gdk_input_translate_coordinates): Fix missed GdkObjectification
7621
7622 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7623
7624         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7625         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7626
7627 2000-06-20  Havoc Pennington  <hp@redhat.com>
7628
7629         * modules/linux-fb/Makefile.am: Make this compile
7630         without framebuffer enabled
7631
7632         * gdk/linux-fb/Makefile.am: Add conditional to not build
7633         framebuffer unless specified in configure
7634
7635         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7636         the size of the target instead of source if -1 was passed for
7637         width/height
7638
7639         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7640         width/height confusion.
7641
7642 2000-06-19  Havoc Pennington  <hp@redhat.com>
7643
7644         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7645         GDK_DRAWABLE_XID. In the future, we probably want to make it
7646         faster with G_DISABLE_CHECKS turned on.
7647
7648 2000-06-14  Havoc Pennington  <hp@redhat.com>
7649
7650         * gdk/Makefile.am: add gdkpixmap.c
7651
7652         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7653         s/gdk_image_init/_gdk_windowing_image_init
7654
7655         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7656         ref/unref
7657
7658         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7659
7660         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7661         GdkWindowType is now non-deprecated; 
7662         change gdk_window_get_type() compat to be
7663         gdk_window_get_window_type().
7664
7665         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7666
7667         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7668         virtual GObject. Make all functions call into the vtable.
7669         Move gdk_image_put() guts in here. Remove GdkDrawableType
7670         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7671         draw_image, get_depth, get_size, set_colormap, get_colormap,
7672         get_visual added to the vtable.
7673         
7674         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7675         GObject. Virtualize everything. 
7676         (gdk_gc_new_with_values): remove check for destroyed window,
7677         because now GdkWindow::create_gc will check this.
7678         (gdk_gc_set_values): New function to set GC values, this 
7679         was already implemented but wasn't in the header
7680
7681         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7682
7683         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7684         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7685         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7686         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7687         _gdk_windowing_window_init, rename gdk_image_init to
7688         _gdk_windowing_image_init.
7689         
7690         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7691         (gdk_draw_layout): Remove check for destroyed window, 
7692         because all the drawable methods already check it.
7693         
7694         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7695         Add gdkpixmap.c which contains implementation of GdkDrawable
7696         virtual table (by chaining to a platform-specific implementation
7697         object).
7698         
7699         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7700         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7701         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7702         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7703         GdkColormapPrivate. 
7704
7705         * gdk/gdktypes.h: #include <glib-object.h>
7706
7707         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7708         Move most functionality to platform-specific implementation
7709         object. GdkWindow itself now handles the backing store, then
7710         chains to the platform-specific implementation.
7711         (gdk_window_get_window_type): return GdkWindowType of the window.
7712         (gdk_window_peek_children): New routine, returns the children of 
7713         a GdkWindow
7714         (gdk_window_get_children): Was in X11-specific code and did 
7715         XQueryTree. Changed to simply return a copy of window->children; 
7716         so it can go in cross-platform code.
7717         
7718         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7719
7720         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7721         GdkColormap; just changed to use the new private data instead
7722         of casting to GdkColormapPrivate.
7723
7724         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7725         gdk_cursor_new().
7726
7727         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7728         (private data member in the GObject). 
7729         (xdnd_manager_source_filter): Function had broken 
7730         error handling, fix it (use gdk_error_trap_push).
7731
7732         * gdk/x11/gdkdrawable-x11.c: This file now implements
7733         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7734         base class is purely for the convenience of the X port,
7735         and not part of the interface to cross-platform GDK.
7736
7737         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7738         
7739         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7740         specific to X, and returned by the create_gc virtual method
7741         of GdkDrawableImplX11. 
7742         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7743         rather than gchar, this was also changed in the GdkGC vtable.
7744         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7745         mask is 0, return immediately, instead of checking every flag.
7746         This is faster, and keeps us from segfaulting if values is NULL
7747         and the mask contains some nonzero flags.
7748
7749         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7750         GdkWindow.
7751
7752         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7753         GdkWindowPrivate is gone.
7754
7755         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7756
7757         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7758         remove the image_put stuff that got transferred to GdkDrawable.
7759         
7760         * gdk/x11/gdkinput.c: renamings
7761
7762         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7763
7764         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7765
7766         * gdk/x11/gdkprivate-x11.h: indentation fixes
7767
7768         * gdk/x11/gdkproperty-x11.c: renamings
7769
7770         * gdk/x11/gdkselection-x11.c: renamings
7771
7772         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7773         implements the platform-specific "impl" object.
7774         Moved gdk_window_get_children to gdk/gdkwindow.c
7775
7776         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7777         that no longer exist. Add declaration of GdkGCX11 object here.
7778         Fix all the macros to still work. 
7779
7780         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7781         GdkDragContext from the boxed types since they are now GObjects.
7782
7783         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7784         moved xthickness/ythickness into the instance. GtkStyleClass
7785         functions are now in the standard vtable for GtkStyle, so you have
7786         to create a GObject subclass to write a theme engine.
7787         (gtk_style_copy): fixed a leaked PangoFontDescription
7788         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7789         can be the standard GObject function.
7790         
7791         * Throughout GTK:
7792         s/style->klass->[xy]thickness/style->[xy]thickness
7793         s/pango_layout_unref/g_object_unref/
7794
7795         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7796         
7797         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7798         accessing GDK internals.
7799
7800         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7801         accessing GDK internals.
7802
7803 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7804
7805         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7806
7807         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7808         problem by calculating event position relative to the trough
7809         rather than the slider.
7810         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7811
7812         * gdk/gdkgc.h: Add GDK_NOR.
7813
7814         * configure.in, Makefile.am: Add modules top level dir
7815         * configure.in: Only use pangox library if building x11 target.
7816         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7817
7818 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7819
7820         * gtk/gtkcolorsel.c: Change private class member to be named
7821         private_data throughout the file.
7822
7823         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7824         private_data to avoid clashing with keyword.
7825
7826 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7827
7828         * gdk/gdkdnd.h: Add comment to remove warning.
7829
7830 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7831
7832         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7833         Byelorussian language; changed the Makefile and file names 
7834         to reflect that.
7835
7836 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7837
7838         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7839         rather than gdk_window_hide; this makes things work
7840         correctly if the window is programmatically hidden while
7841         iconified.
7842
7843 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7844
7845         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7846         cut and paste typo where wrong pixmap was being
7847         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7848
7849 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7850
7851         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7852         Add helper function to compute format / bytes 
7853         relationship. Use in a couple places to fix up
7854         errors which assume 8 * format.
7855
7856         * gtk/gtkselection.c (gtk_selection_request): Use 32
7857         rather than 8 * sizeof (GdkAtom), to work correctly
7858         on Alpha.
7859
7860 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7861
7862         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7863         libgtk.la
7864         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7865         versions
7866
7867         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7868         checking macros return NULL since the function has a return value.
7869
7870 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7871
7872         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7873         GTK+ from building at all.
7874
7875         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7876
7877 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7878
7879         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7880         gtk/Makefile.am: make it possible to configure gtk for different
7881         targets on the same platform. The library name is now 
7882         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7883         flag. Only the x11 target compiles right now.
7884         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7885         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7886         * gdk/nanox/gdk*generic*: delete generic region code.
7887         * gdk/linux-fb/gdk*generic*: delete generic region code.
7888         * README.nanox: update information.
7889         
7890 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7891
7892         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7893         prepend not append. (Pointed out by Brett Hall.)
7894
7895 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7896
7897         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7898
7899 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7900
7901         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7902         need this later, and this makes sure that the atexit for
7903         glib gets called after that for GDK, so atexits are
7904         properly ordered for object leak checking.
7905
7906         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7907
7908         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7909         pango_x_shutdown_display()
7910
7911         * gtk/simple.c (main): Close window on destroy.
7912
7913 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7914
7915         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7916         to treat initial creation different from setting with 
7917         regards to the graphics-exposures parameter, so add a parameter
7918         indicating whether this is initial or not.
7919
7920 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7921
7922         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7923         to sort of work by adding an extra return_exposes arg
7924         to gdk_event_translate() - it might be better to simply
7925         deprecate the function altogether and force people to rewrite
7926         without it. gdk_window_scroll() handles most of it, and where
7927         gdk_window_scroll() doesn't work, simply redrawing more does.
7928
7929         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7930         assertion.
7931
7932         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7933
7934         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7935         bunch of pretty much useless /* Print debugging info */ comments 
7936         which had drifted away from the code they were commenting.
7937
7938 2000-06-02  Havoc Pennington  <hp@pobox.com>
7939
7940         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7941         is in working order.
7942         
7943         * gtk/testtext.c: Change to reflect anonymous mark API
7944
7945         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7946
7947         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7948         field, which was unused.
7949
7950         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7951         saves some typing.
7952
7953         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7954
7955         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7956         flag on the insertion point and selection bound
7957
7958         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7959         make mark-manipulation functions take a GtkTextMark* instead of a
7960         mark name.
7961         
7962         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7963         GtkTextMarkBody; will be used to detect attempts to delete
7964         the permanent marks (insert and selection bound)
7965
7966         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7967
7968 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7969
7970         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7971         flag to on.
7972
7973         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7974         Honor DOUBLE_BUFFRED_FLAG
7975
7976         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7977         function to set the DOUBLE_BUFFERED flag.
7978
7979         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7980         or not exposes done on the widget should be double-buffered.
7981
7982         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7983         to be what would be expected. (Fixes problem with a
7984         g_return_if_fail() validating a TextDirection enumeration)
7985
7986 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7987
7988         * gtk/gtkwidget.c: Remove all references to 
7989         offscreen flag which was no longer used.
7990
7991         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7992
7993         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7994         for non-null label_widget->parent.
7995
7996         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7997         which no longer was used.
7998
7999         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8000
8001         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8002         for null arguments.
8003
8004         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8005         check for destroyed windows.
8006
8007 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8008
8009         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8010         the slave context there.
8011
8012         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8013         identical to GtkWindow.
8014
8015 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8016
8017         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8018         pangox to here, so we can write them independent of rendering
8019         system, using GDK primitives.
8020
8021         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8022         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8023         since we have a rendering-system independent implementation in
8024         terms of draw_glyphs().
8025         
8026         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8027         function to render a single line.
8028
8029         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8030         into ../gdkpango.c, which simplifies things, since we
8031         don't have to deal with raw X gc's.
8032
8033 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8034
8035         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8036         get the logical attributes for a given GtkTextLine.
8037
8038 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8039
8040         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8041         g_locale_get_codeset() to g_get_codeset() change.
8042
8043 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8044
8045         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8046         descriptions.
8047
8048         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8049         the entry.
8050
8051         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8052         redoing (vastly simplifying) for Pango. Still needs quite
8053         a bit of work. (Size selection is currently poor. List of 
8054         predefined sizes is not a good idea, since all of these
8055         sizes won't necessarily be distinct.)
8056
8057 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8058
8059         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8060         CODESET results for LANG=C.
8061
8062 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8063
8064         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8065         which takes a stringized pango font description;
8066         ignore the older 'font' and 'fontset' declarations.
8067
8068         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8069         field with a GdkFont derived via gdk_font_from_description(),
8070         for compatibility. (Should we just remove it entirely?
8071         Probably too much compatibility breakage, but people
8072         should be migrating to the new Pango stuff as quickly
8073         as possible.)
8074
8075 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8076
8077         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8078
8079 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8080
8081         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8082         redoing; there are some bugs in size allocation right
8083         now, the semi-existant distinction between header / day
8084         fonts was removed, but, with Pango, could actually
8085         be made functional in a nice way.
8086         
8087         * gtk/testcalender: Move calender from examples into this
8088         directory as a test program. (We really need to restrcture
8089         testgtk into a whole directory full of tests for every
8090         widget or functionality group, separated into multiple .c
8091         files.)
8092
8093 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8094
8095         * gtk/testgtk.c (file_exists): Fix stupid typo that
8096         was keeping RC file from being loaded.
8097
8098         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8099         RC file font code.
8100
8101 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8102
8103         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8104         Add function to load a GdkFont from a PangoFontDescription.
8105
8106 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8107
8108         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8109         variable should be of type GdkEventPrivate.
8110
8111 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8112
8113         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8114         to have any widget for the label, use a GtkLabel widget
8115         to display the text. (Based partially on a patch from
8116         Anders Carlson.)
8117
8118         (Quite a bit of code reorganization - strip 90% of the
8119         guts out of gtkaspectframe and add a single virtual
8120         func to GtkFrameClass - compute_child_allocation.)
8121
8122 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8123
8124         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8125         (Removed clist->row_center_offset field because caching
8126         it wasn't saving time or code, added private function
8127         _gtk_clist_create_cell_layout()).
8128
8129 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8130
8131         * gtk/gtkaccellabel.c: Pangoized.
8132
8133         * gtk/[hv]ruler.c: Pangoized
8134
8135 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8136
8137         * gtk/gtkfilesel.c (gtk_file_selection_init):
8138         Use gtk_clist_set_column_auto_resize() to remove need
8139         need for manual column width computations.
8140
8141 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8142
8143         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8144         ensuring Pango correctness, and considerably simplifying the
8145         code.
8146         
8147         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8148
8149         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8150         getting of numbers of lines.
8151
8152         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8153         to the actual requested width of the lable, not to the wrap
8154         width we set.
8155
8156         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8157
8158         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8159           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8160
8161         * gtk/gtktextview.c: Fix structure inheritance.
8162
8163         * gtk/gtkprogressbar.c: Pangoize.
8164
8165 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8166
8167         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8168         in a function.
8169
8170         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8171         bug with computing line tops.
8172
8173         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8174
8175 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8176
8177         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8178         and y_offset coordinates to do what we need now. (The offset between
8179         buffer and layout coordinates has been reintroduced, but is a 
8180         bit different than before.)
8181
8182         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8183         handle the adjustments ourselves, and scroll as necessary using
8184         the new gdk_window_scroll().
8185         
8186         The advantage of this is that when we are incrementally revalidating,
8187         we are essentially rearranging things around the visible portion
8188         of the screen. With the old setup, the visible portion of the
8189         screen was moved around in the layout, so scrolling and redrawing
8190         to track that caused jumping of the display. Since we now
8191         control the scrolling ourselves, we can suppress this and
8192         only redraw when things actually change.
8193
8194 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8195
8196         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8197         the region not just redisplay it after-all, since we store the
8198         cursors in the LineDisplay. (Ugly interactions here between
8199         GtkLayout and GtkTextBTree here.)
8200         
8201         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8202
8203 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8204
8205         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8206         Added function to scroll contents of a window while keeping the
8207         window constant. Works by XCopyArea or guffaw-scrolling depending
8208         on the details of how the window is set up. (guffaw-scrolling
8209         still needs to be filled in.)
8210
8211 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8212
8213         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8214         move the debugging that was tied to a global variable
8215         to that.
8216
8217         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8218
8219         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8220         validated flag, in line data instead of setting height/width to
8221         -1. This allows us to perform operations with partially invalid
8222         buffer (using the old size for invalid lines) and thus to do
8223         incremental vaidation. Keep height/width aggregates up to date
8224         when deleting text and rebalancing the tree.
8225
8226         * gtk/gtktextbtree.[ch]: Add functions validate a line
8227         (gtk_text_btree_validate_line), and to validate up
8228         to a number of pixels (gtk_text_btree_validate).
8229
8230         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8231         that indicates that something is changed and a revalidation
8232         pass is needed. Change ::need_repaint to ::changed, and
8233         make it take old and new yranges instead of a rectangle.
8234
8235         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8236         the line_data_destroy() function from 
8237         gtk_text_btree_add_view() to a virtual function in 
8238         GtkTextLayout
8239
8240         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8241         since we are handling partial repaints in a different fashion
8242         now.
8243
8244         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8245         of the selection instead of queueing a repaint on the
8246         entire widget.
8247
8248         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8249         get_selection_bounds() down to btree, make the function
8250         in buffer a wrapper around the btree function.
8251
8252         * gtk/gtktextlayout.[ch]: Add functions to check if the
8253         layout is valid and to recompute either a range of pixels
8254         aroudn a line or a certain total number of pixels.
8255
8256         * gtk/gtktextlayout.[ch]: Cache a single line display;
8257         now that we only redraw the needed portions, the hit rate
8258         for this cache is quite high.
8259         
8260         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8261         on the screen so that when re-laying-out the buffer, we can
8262         keep the same place. This requires connecting to ::value_changed
8263         on the adjustments
8264
8265         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8266         the buffer after we receive an ::invalidated signal.
8267         
8268 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8269
8270         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8271         to max of allocation and layout size, not just to the
8272         layout size.
8273
8274         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8275         Invalidate window so it gets redrawn properly.
8276
8277         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8278         to mean the entire window.
8279
8280         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8281         into public header.
8282
8283 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8284
8285         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8286         to get the name of a mark.
8287
8288         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8289         to find the paragraph from a y position.
8290
8291 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8292
8293         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8294         nodes have width/height >= 0, not > 0.
8295
8296 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8297
8298         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8299         Add a size_only flag, so when we only need the size, we don't create
8300         useless appearance attributes.
8301
8302         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8303         duplicate setting of font description.
8304
8305         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8306
8307 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8308
8309         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8310         EXTRA_DIST. It does not work well when the file that
8311         everything depends on is not in the tarball.
8312
8313 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8314
8315         * gtk/testgtk.c: Some hacks and fixes so that it basically
8316         works when not sitting in the GTK+ build tree.
8317
8318 2000-05-03  Havoc Pennington  <hp@redhat.com>
8319
8320         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8321         Properly determine the ordering of the tag root and the current
8322         line within the tree. Previous algorithm only worked if the tag
8323         root's immediate parent was the common root of both the current
8324         line and the tag root.
8325
8326 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8327
8328         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8329         alignment.
8330
8331         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8332         the widget text directional dynamically.
8333
8334         * gtk/gtktextview.[ch]: Added functions to get and set default
8335         wrap mode.
8336
8337 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8338
8339         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8340         in cursor location computation.
8341
8342 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8343
8344         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8345         vadjusment values properly when layout gets smaller.
8346
8347         * gtk/gtktextview.c (need_repaint_handler): Areas being
8348         passed in are far completely inaccurate, and sometimes
8349         too small, so, for now, just queue a redraw on the
8350         whole visible region.
8351
8352 2000-04-25  Havoc Pennington  <hp@redhat.com>
8353
8354         * gtk/gtktextbtree.c (summary_destroy): new function to 
8355         destroy tag summary nodes
8356         (gtk_text_line_next_could_contain_tag): this function was 
8357         totally broken if the line passed in wasn't below the tag
8358         root. Fix it.
8359         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8360         "wildcard" case, we have to do a linear scan. Blah.
8361         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8362         we have to do the linear scan
8363         (tag_removed_cb): When a tag is removed from the tag table, 
8364         remove the GtkTextTagInfo node from the btree.
8365         (gtk_text_btree_spew): Implement the spew function, for 
8366         our debugging pleasure.
8367
8368 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8369
8370         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8371         a problem with referring to the wrong buffer.
8372
8373         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8374
8375         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8376         font description to gtk_style_new() - otherwise things
8377         don't work without a .gtkrc file.
8378
8379         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8380         tags table if we create it ourself, too.
8381
8382         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8383         it was conflicting with XKB modifiers.
8384
8385         * gtk/gtktextview.[ch]: Add simple support for 
8386         GtkIMContext.
8387
8388 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8391         with deletion from last commit.
8392
8393 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8394
8395         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8396         in the context from the current locale.
8397         
8398         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8399         context, not hardcoded value.
8400
8401         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8402         not logical.
8403
8404 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8405
8406         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8407         attributes - that doesn't handle partial-glyph selection
8408         properly. Instead use new pango_layout_line_get_x_ranges()
8409         functionality to draw the selection.
8410
8411         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8412         now properly handles out-of-range coordinates.
8413
8414         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8415
8416         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8417         public.
8418
8419         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8420         for paragraphs opposite to the base direction of the widget.
8421
8422         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8423
8424         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8425         causes Arabic words to reshape as you cursor through.
8426
8427         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8428         cursor position when moving vertically with the arrow keys and
8429         scrolling with page-up/page-down. (Arrow keys save only the X,
8430         scrolling saves both X and Y.)
8431
8432         This means you can line-up / line-down or page-up / page-down
8433         without losing your place, and also that moving vertically
8434         with the cursor keys keeps the same X position, not the same
8435         character count:
8436
8437         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8438         arrow keys move by display lines, not paragraphs.
8439
8440 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8441
8442         * gtk/gtklayout.c: Make sure that the bin window is at least
8443         as big as the allocation. (Should we also make sure that the
8444         bin window is big enough to completely cover widget->window?)
8445
8446         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8447         function to get the onscreen rectangle.
8448
8449         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8450         for offsets in window coordinates.
8451
8452 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8453
8454         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8455         confusion.
8456
8457         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8458         from the widget direction.
8459
8460         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8461         Add a "direction" attribute.
8462
8463         * gtk/gtktextview.c: global s/tkxt/text_view/.
8464
8465         * gtk/testtext.c: Added long block of text in Arabic, to test out
8466         the direction attributes. (Some problems with the shaping system
8467         for arabic become obvious - like the fact the cursor splits words
8468         into unjoined pieces.)
8469
8470 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8471
8472         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8473
8474         * gtk/gtktextlayout.c: Fix up alignment.
8475
8476         * gtk/testtext.c: Add some tests for centering, wrapping.
8477
8478 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8479
8480         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8481         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8482         If we wrote GTK+-specific layout-render function this could just replace
8483         the draw_layout() operation in the vtable.
8484
8485         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8486         pango_layout_get_cursor_pos() and use that function.
8487
8488         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8489         is a non-static symbol.
8490
8491         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8492         with gtk_text_btree_find_line_by_y()
8493
8494         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8495         renderer that handles GtkTextAppearance attributes.
8496
8497         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8498
8499           - Move the values in the style that don't affect geometry into a
8500             GtkTextAppearance structure.
8501           - Change underline to take a PangoUnderline and "font" a string
8502             representation of a font description
8503           - Add a "font_desc" attribute which takes a FontDescription structure.
8504
8505         * gtk/gtktextlayout.[ch]:
8506
8507           - Get rid of the display-line list per each line. Instead, we
8508             generate, on demand, a GtkTextLineDisplay structure which]
8509             contains a PangoLayout * and other necesary information
8510             (offsets, cursor locations) for displaying a paragraph.
8511           - Get rid of the code to wrap lines, create display chunks,
8512             etc. Instead, we just go through a paragraph and convert
8513             it into the necessary inputs to a PangoLayout.
8514           - Implement a new attribute type, GtkTextAttrAppearance. This
8515             holds a GtkTextAppearance, and is used to pass colors, 
8516             stipple, etc, through from the layout to the display without
8517             having to use lots and lots of individual attributes.
8518           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8519             in terms of PangoLayout functions.
8520         
8521         * gtk/gtktextview.c: 
8522          
8523           - Handle passing the necessary PangoContext to the layout
8524           - Some fixups in painting to deal with the automatic backing store
8525             and offsetting of GTK+-1.4
8526           - Add a style_set handler so that the default style reacts
8527             properly to theme changes.
8528         
8529         * gtk/gtktext?*.[ch]: Random code-style fixes.
8530
8531         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8532
8533 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8534
8535         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8536         in original form preparatory to Pango-ization and gdkimcontext-ization.
8537
8538 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8539
8540         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8541         so that we can derive from gtkimcontext in language bindings properly.
8542
8543 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8544
8545         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8546         Add a compose table including (almost) all the compose combinations
8547         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8548         data in the XIM implementation.
8549
8550         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8551         Moved functions to convert keyvalues from and to unicode here from
8552         the win32 port and made them public.
8553
8554 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8555
8556         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8557
8558 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8559
8560         * gtk/gtkimcontext.[ch]: Base class for new input context system
8561
8562         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8563         the real input context implementation to be loaded from modules
8564         and switched on the fly.
8565
8566         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8567         context that just does direct keysymbol => unicode translation.
8568
8569         * gtk/gtkentry.[ch]: Start switching editing over to using
8570         GtkInputContext. (No handling of preedit yet.)
8571
8572 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8573
8574         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8575         many substitutions. (klass should not be subsituted.)
8576
8577 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8578
8579         * configure.in: Add checks for Pango
8580
8581         * configure.in docs/Makefile.am: Add test for sgml2html
8582         and allow 'make dist' without building html, but print out
8583         warnings in that case. (For making snapshots)
8584
8585         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8586         Add Pango libraries and C flags
8587
8588         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8589         Add function (gdk_draw_layout) to draw a pango layout.
8590
8591         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8592         for getting Pango contexts for GDK.
8593
8594         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8595
8596         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8597         editing.
8598
8599         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8600         keysym => unicode translations. More languages can be added
8601         here, but real input-method support is needed.
8602
8603         * docs/Changes-1.4.txt: Added note about entry behavior.
8604         
8605         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8606         to set the reading direction for a widget and the global direction.
8607         Add test which allows toggling the global direction. Two private
8608         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8609
8610         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8611           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8612
8613         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8614
8615         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8616         underlining now handled by Pango.
8617
8618         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8619         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8620         is temporary.)
8621
8622         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8623         convenience functions for creating contexts and layouts for widgets.
8624
8625         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8626
8627 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8628
8629         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8630         titles to be active, even if they aren't visible.
8631         (gtk_clist_column_titles_passive):  Ditto.
8632
8633 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8634
8635         * gtkmenu.c:
8636         * gtkmenu.h:
8637         * gtktypeutils.h: Spelling/grammar fixes in comments.
8638
8639 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8640
8641         * gdk/nanox/*.h: add missing header files.
8642
8643 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8644
8645         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8646         send_event to TRUE.
8647         (gtk_drawing_area_size): queue a resize.
8648
8649 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8650
8651         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8652         the handlers, also invalidate them. bug nailed down by Karl Nelson
8653         <kenelson@ece.ucdavis.edu>.
8654
8655 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8656
8657         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8658         "(nil)" foundries, patch from Grigorios Magklis.
8659
8660         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8661         on non-available fonts, based on a patch by Grigorios Magklis
8662         <maglis@cs.rochester.edu>.
8663
8664 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8665
8666         * gdk/x11/gdkregion-generic.c: If a region does not have any
8667         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8668         instead of GDK_OVERLAP_RECTANGLE_IN.
8669
8670 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8671
8672         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8673         OFFSCREEN, as it is no longer necessary.
8674
8675 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8676
8677         * gtk/gtkcolorsel.c: Patch from David Santiago
8678         <mrcooger@cyberverse.com> to change things so that the 
8679         indicator of the active palette entry is done independently,
8680         not via the focus, since it should always be visible.
8681
8682 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8683
8684         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8685         refcount leaks as in the X11 backend.
8686
8687         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8688         cosmetics.
8689
8690         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8691         backend. Add _gdk_windowing_window_destroy().
8692
8693         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8694         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8695         either, but these probably do exist on nanox?)
8696         
8697         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8698         which isn't necessarily defined by <math.h>.
8699
8700         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8701         ancestry past GtkObject.
8702
8703         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8704         from DLL on Win32.
8705
8706         * gtk/gtk.def: Update corresponding to recent changes.
8707
8708         * gtk/makefile.{cygwin,msc}: Updates.
8709
8710 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8711
8712         * docs/Changes-1.4.txt: A bit of editing.
8713
8714         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8715         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8716         to clear the update area for the window, and clear it
8717         when hiding a window.
8718
8719         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8720         if window destroyed.
8721
8722         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8723
8724         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8725         gdk_window_destroy() to the generic code, since there was a lot of 
8726         window-system-independent logic it in. Add a function:
8727         
8728          _gdk_window_destroy() 
8729
8730         to the internal API to destroy a window without unreferencing it.
8731         Add a function:
8732
8733          _gdk_windowing_window_destroy()
8734
8735         That does the windowing-system-dependent part of destroying 
8736         the window.
8737
8738 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8739
8740         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8741
8742 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8743
8744         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8745         Make gtk_widget_shape_combine_mask() keep a reference count on
8746         the pixmap since it keeps it around.
8747
8748 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8749
8750         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8751         leak.
8752
8753         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8754         leak with event filters.
8755
8756 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8757
8758         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8759         signal handlers with the right data arguments. (Fixes
8760         some warnings when a widget was repeatedly set as a drag
8761         destination.)
8762
8763         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8764         window so we can avoid avoid setting the DND properties on the
8765         toplevel window repeatedly.
8766
8767 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8768
8769         * gdk/win32/gdkwin32.h: Define more message types missing from
8770         mingw headers.
8771
8772         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8773         call gdk_window_destroy_notify(). It was never called. This
8774         probably meant that the GdkWindow was never freed. Thanks Owen for
8775         noticing (!).
8776
8777         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8778         window as destroyed before calling DestroyWindow(). DestroyWindow()
8779         causes a call to the window procedure (gdk_WindowProc), which
8780         calls gdk_event_translate(), which calls
8781         gdk_window_destroy_notify(), which gets confused unless the window
8782         is set as destroyed.
8783
8784         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8785         this function to indicate it's win32 only. Put inside #ifdef
8786         G_ENABLE_DEBUG.
8787
8788         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8789         debugging function. (gdk_event_translate:) Add a default branch
8790         that uses the above function to print debug messages with all
8791         Windows messages symbolically.
8792
8793         * gdk/win32/gdkprivate-win32.h: Declare it, and
8794         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8795
8796 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8797
8798         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8799         public header file.
8800
8801 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8802
8803         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8804
8805         * gtk/gtktext.c: made the adjustments no-construct args, simply
8806         provide default adjustments.
8807         (gtk_text_destroy): release adjustments.
8808
8809         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8810         adjustment argument non-construct.
8811
8812         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8813         instead of in finalize.
8814         (gtk_progress_get_text_from_value): 
8815         (gtk_progress_get_current_text): 
8816         (gtk_progress_set_value): 
8817         (gtk_progress_get_percentage_from_value): 
8818         (gtk_progress_get_current_percentage): 
8819         (gtk_progress_set_percentage): 
8820         (gtk_progress_configure): ensure an adjustment is present.
8821
8822 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8823
8824         * gtk/gtkcolorsel.[hc]:
8825         * gtk/gtkcolorseldialog.[hc]:
8826         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8827         their parent implementation, use bit fields for boolean values, don't
8828         create unused widgets, usage of glib types, braces go on their own
8829         lines, function argument alignment, #include directives etc. etc. etc..
8830
8831         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8832
8833 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8834
8835         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8836
8837         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8838         of NULL.
8839
8840         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8841         to freed data.
8842         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8843
8844         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8845         to NULL when the toplevel is getting destroyed.
8846         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8847         (gtk_menu_destroy): 
8848         (gtk_menu_init): store the information of whether we have to
8849         readd the initial child ref_count during destruction in a new
8850         GtkMenu field needs_destruction_ref_count.
8851
8852         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8853         here, those reading: learn from my mistake! ;)
8854         in order for set_?adjustment to support a default adjustemnt if
8855         invoked with an adjustment pointer of NULL, the code read (pseudo):
8856         if (v->adjustment) unref (v->adjustment);
8857         if (!adjustment) adjustment = adjustment_new ();
8858         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8859         now imagine the first unref to actually free the old adjustment and
8860         adjustment_new() creating a new adjustment from the very same memory
8861         portion. here, the latter comparision will unintendedly fail, and
8862         all hell breaks loose.
8863         (gtk_viewport_set_hadjustment):
8864         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8865         after unreferencing it.
8866
8867         * gtk/gtkcontainer.[hc]: removed toplevel registration
8868         functions: gtk_container_register_toplevel(),
8869         gtk_container_unregister_toplevel() and
8870         gtk_container_get_toplevels() which had wrong semantics
8871         anyways: it didn't reference and copy the list.
8872
8873         * gtk/gtkwindow.c: we take over the container toplevel registration
8874         bussiness now. windows are registered across multiple destructions,
8875         untill they are finalized. the initial implicit reference count
8876         users are holding on windows is removed with the first destruction
8877         though.
8878         (gtk_window_init): ref & sink and set has_user_ref_count, got
8879         rid of gtk_container_register_toplevel() call. add window to
8880         toplevel_list.
8881         (gtk_window_destroy): unref the window if has_user_ref_count
8882         is still set, got rid of call to
8883         gtk_container_unregister_toplevel().
8884         (gtk_window_finalize): remove window from toplevel list.
8885         (gtk_window_list_toplevels): new function to return a newly
8886         created list with referenced toplevels.
8887         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8888
8889         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8890         adjustment a non-construct arg.
8891         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8892         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8893         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8894
8895         * gtk/gtkrange.c: added some realized checks.
8896         (gtk_range_destroy): get rid of the h/v adjustments in the
8897         destroy handler instead of finalize. remove timer.
8898         (gtk_range_get_adjustment): demand create adjustment.
8899
8900         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8901         we simply create them on demand now and get rid of them in
8902         the destroy handler.
8903         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8904         destroy handler instead of finalize.
8905         (gtk_viewport_get_hadjustment): 
8906         (gtk_viewport_get_vadjustment): 
8907         (gtk_viewport_size_allocate): demand create h/v adjustment
8908         if required.
8909
8910         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8911         gtk_widget_real_destroy () functionality.
8912         (gtk_widget_real_destroy): reinitialize with a new style, instead
8913         of setting widget->style to NULL.
8914
8915 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8916
8917         * gtk/gtkcalendar.c:
8918         * gtk/gtkbutton.c: ported _get_type() implementation over to
8919         GType, either to preserve memchunks allocation facilities,
8920         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8921
8922         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8923         over. prepare for ::destroy to be emitted multiple times.
8924         removed reference tracer magic. chain into GObjectClass.shutdown()
8925         to emit ::destroy signal.
8926
8927         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8928         fundamental.
8929
8930         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8931         cludge.
8932
8933         * gtk/gtksocket.c:
8934         * gtk/gtkplug.c:
8935         * gtk/gtklayout.c:
8936         * gtk/gtklabel.c:
8937         * gtk/gtkargcollector.c:
8938         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8939         not being a fundamental anymore, and to work with the new
8940         type system (nuked fundamental type varargs clutter).
8941
8942         * gtk/*.c: install finalize handlers in the GObjectClass
8943         part of the class structure.
8944         changed direct GTK_OBJECT()->klass accesses to
8945         GTK_*_GET_CLASS().
8946         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8947
8948         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8949         GType. made most of the GTK_*() type macros and Gtk* typedefs
8950         simple wrappers around macros and types provided by GType.
8951         most notably, a significant portion of the old API vanished:
8952         GTK_TYPE_MAKE(),
8953         GTK_TYPE_SEQNO(),
8954         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8955         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8956         GTK_TYPE_ARGS,
8957         GTK_TYPE_CALLBACK,
8958         GTK_TYPE_C_CALLBACK,
8959         GTK_TYPE_FOREIGN,
8960         GtkTypeQuery,
8961         gtk_type_query(),
8962         gtk_type_set_varargs_type(),
8963         gtk_type_get_varargs_type(),
8964         gtk_type_check_object_cast(),
8965         gtk_type_check_class_cast(),
8966         gtk_type_describe_tree(),
8967         gtk_type_describe_heritage(),
8968         gtk_type_free(),
8969         gtk_type_children_types(),
8970         gtk_type_set_chunk_alloc(),
8971         gtk_type_register_enum(),
8972         gtk_type_register_flags(),
8973         gtk_type_parent_class().
8974         replacements, where available are described in ../docs/Changes-1.4.txt.
8975         implemented compatibility functions for the remaining API.
8976
8977         * configure.in: depend on glib 1.3.1, use gobject module.
8978
8979 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8980
8981         * TODO.xml: Various updates to current status.
8982
8983 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8984
8985         * gtk.m4: Print out version when test succeeds.
8986
8987 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8988
8989         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8990         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8991         
8992         (Original triangle color selector from Simon Budig
8993         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8994         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8995         Santiago <mrcooger@cyberverse.com>)
8996
8997         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8998         out into a separate widget.
8999
9000         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9001         and opacity controls.
9002
9003 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9004
9005         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9006         snuck in prematurely.
9007
9008 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9009
9010         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9011         had deleted a ! operator by mistake, which caused
9012         GDK_SELECTION_CLEAR events never to be generated, which caused
9013         only the first copy to the clipboard from an gtkeditable to
9014         actually cause a copy to the Windows clipboard.
9015
9016 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9017
9018         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9019         compilation, too. Current mingw gcc distributions include the
9020         necessary headers. Also the necessary IIDs are now in mingw
9021         headers/libraries, and own definitions unnecessary.
9022
9023         More hacking on OLE2 DND, still doesn't work though, and thus
9024         ifdeffed out.
9025
9026         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9027         here, too.
9028
9029 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9030
9031         * gdk/nanox/*: nano-X port work in progress.
9032         * gdk/simple.c: simple test for Gdk.
9033         * README.nanox: notes about the port: read this first!
9034         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9035         with nano-X.
9036
9037 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9038
9039         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9040         gdk_window_clear() into common code, implement in terms of
9041         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9042         not redirected to the backing rectangle.
9043
9044 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9045
9046         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9047         EXTRA_DIST. It does not work well when the file that
9048         everything depends on is not in the tarball.
9049
9050 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9051
9052         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9053         with recursion where process_updates() is called from
9054         an expose handler. (GtkTextView is highly broken in
9055         doing this, but it should work, so it is a nice test
9056         case.)
9057
9058 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9059
9060         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9061         handle the case where updates are queued during processing of
9062         updates.
9063
9064 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9065
9066         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9067         window is on gdk_display - use that instead of segfaulting.
9068
9069 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9070
9071         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9072         broken and require an empty arg, give it to them.
9073
9074 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9075
9076         * gtk/gtklabel.h: indentation fixes.
9077
9078 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9079
9080         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9081         draw too narrow or too low arcs, they seem to fail, at least with
9082         some display drivers.
9083
9084         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9085
9086         Large changes to the Win32 backend, partially made necessary by
9087         the changes to the backend-independent internal
9088         structures. Attempts to implement similar backing store stuff as
9089         on X11. The current (CVS) version of the Win32 backend is *not* as
9090         stable as it was before the no-flicker branch was merged. A
9091         zipfile with that version is available from
9092         http://www.gimp.org/win32/. That should be use by "production"
9093         code until this CVS version is usable. (But note, the Win32
9094         backend has never been claimed to be "production quality".)
9095
9096         * README.win32: Add the above comment about versions.
9097
9098         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9099
9100         * gdk/gdk.def: Update.
9101
9102         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9103         presumably be replaced by some more better mechanism as 1.4 gets
9104         closer to release shape.
9105
9106         * gdk/makefile.{cygwin,msc}: Update.
9107
9108         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9109         internal headers. Change code according to changes in these. Use
9110         gdk_drawable_*, not gdk_window_* where necessary.
9111
9112         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9113         our old DND.
9114
9115         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9116         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9117         Use correct function name in warning messages.
9118
9119         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9120         GSourceFuncs gdk_event_prepare and gdk_event_check.
9121         (gdk_event_get_graphics_expose): Do implement, use
9122         PeekMessage. Thanks to Hans Breuer.
9123         (event_mask_string): Debugging function to print an GdkEventMask.
9124         (gdk_pointer_grab): Use it.
9125
9126         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9127         (old) book I used claimed was Hangul actually is CJK Unified
9128         Ideographs Extension A. Also, Hangul Syllables were missing.
9129         Improve logging.
9130
9131         * gdk/win32/gdkgc-win32.c: Largish changes.
9132
9133         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9134         g_win32_getlocale() from GLib, and not setlocale() to get current
9135         locale name.
9136
9137         * gdk/win32/gdkprivate-win32.h
9138         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9139         gdkwin32.h, similarily as in the X11 backend.
9140
9141         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9142         assignment was used instead of equals in if test. Thanks to Hans
9143         Breuer.
9144
9145         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9146         the X11 version.
9147
9148         * gdk/win32/makefile.{cygwin,msc}
9149         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9150         path to the Win32 headers that works also with the mingw compiler.
9151
9152         * gtk/gtkstyle.c: Include <string.h>.
9153
9154 2000-04-26  Havoc Pennington  <hp@redhat.com>
9155
9156         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9157         replacing the broken gtk_label_get ()
9158
9159 2000-04-15  Havoc Pennington  <hp@pobox.com>
9160
9161         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9162         this keeps scanner scripts from getting confused.
9163
9164         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9165         data, rather than void
9166
9167 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9168
9169         * gtk/gtkclist.c (gtk_clist_motion)
9170         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9171         with is_hint FALSE, get x and y from the event. They used to be
9172         used uninitialised. The Win32 backend never sends motion events
9173         marked as hints. This for instance fixes the annoying file and
9174         font selector behaviour in the Win32 version.
9175
9176 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9177
9178         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9179         gtk_private_n_signals variables, they are used by some software,
9180         sigh.
9181
9182         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9183         installation directory from the Registry, where the installer
9184         should have put it.
9185
9186 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9187
9188         * gdk/x11/Makefile.am: Fix problem with installation directory for
9189         gdkx.h
9190
9191         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9192         <mrcooger@cyberverse.com> so that when selecting menus with the
9193         mouse, the first item will not be selected, but when selecting
9194         with an accelerator, or navigating left-right on a menubar with
9195         the menus popped up, the first item will be selected.
9196
9197 2000-04-05  Dan Damian  <dand@dnttm.ro>
9198
9199         * configure.in: Added "ro" to ALL_LINGUAS.
9200
9201 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9202
9203         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9204         indentation.
9205
9206         * Makefile.am (EXTRA_DIST): Fix typo.
9207
9208         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9209         to catch gdkconfig.h
9210
9211         * gtk/gtkitemfactory.c: Added FIXME.
9212
9213 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9214
9215         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9216         s/return_if_fail/return_val_if_fail/g and add a return value.
9217
9218 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9219
9220         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9221         merge slipup.
9222
9223         * gdk/gdkinput.h: Fix missing line from merge.
9224
9225 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9226
9227         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9228         instead of gdkprivate.h.
9229
9230 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9231
9232         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9233         parent class to correctly be GtkDialogClass.
9234
9235 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9236
9237         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9238         toplevel windows and their immediate children by their parents,
9239         since the size of toplevel windows is out of our immediate
9240         control and we don't get any real benefit from trying to track
9241         this size for clipping.
9242
9243         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9244         for input_only windows.
9245
9246         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9247         to fix some hacks and make sure that we don't try to set the
9248         background of input only windows.
9249
9250 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9251
9252         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9253         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9254         stuff that we've traditionally exposed.
9255
9256         * gdk/**.c: Use gdkinternals.h where appropriate.
9257
9258         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9259         not include gdkprivate-x11.h, move all stuff of conceivable public
9260         interest into gdkx.h; keep all really private stuff in
9261         uninstalled header gdkprivate-x11.h.
9262
9263         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9264         image->image_put on windows through a new function _gdk_window_draw_image()
9265         to allow us to do backing store for images. (Sort of ugly)
9266
9267         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9268         contexts locally so that we can offset them properly when drawing 
9269         onto backing pixmaps.
9270
9271         * gdk/gdkinput.h: Reindented
9272
9273         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9274         pixmap or color for the window, so we can properly initialize
9275         our double-buffer pixmaps, and also so that we temporarily set
9276         a background of None while scrolling.
9277
9278         * gdk/gdkregion.h: Revise region boolean operators to have an
9279         interface that is actually convenient - switch from creating new
9280         regions on every op, to "methods" that modify existing regions
9281         (A = A OP B). 3 argument forms which allow dest == src, would also
9282         be possible, but the current interfaces seem to map nicely
9283         onto what needs to be done. (There is quite a lot of region
9284         code in GDK now.)
9285
9286         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9287         operator.
9288
9289         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9290         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9291         to 32 bit coordinates, modify it to be mostly GTK+ style
9292         and to have interfaces that match gdkregion.h.
9293
9294         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9295         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9296         create a backing pixmap and redirect all drawing to
9297         that backing pixmap until a matching gdk_window_end_paint().
9298
9299         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9300         Create a special drawable class for GtkWindow's that 
9301         redirects the drawing to the backing pixmap as necessary
9302         and then calls the real operations in _gdk_windowing_window_class.
9303
9304         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9305         Store invalid region for each window. Generate expose events for invalid
9306         region in an idle. This replaces both the expose compression
9307         and the redrawing queuing in GTK+. It is both more efficient and
9308         simpler than either one individually and far more so then the
9309         combination.
9310
9311         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9312         Emulate 32 bit coordinates for windows with 16 bit coordinates
9313         by offsetting drawing, guffaw scrolling techniques and
9314         mapping/unmapping child windows as necessary.
9315
9316         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9317         where, when invalid regions are processed, the region is stored,
9318         and if expose events come in that are detectably duplicate
9319         the processed exposes (by comparison of event serial numbers),
9320         the stored region is subtracted out of those exposes.
9321
9322         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9323         regions newly exposed when scrolling or resizing windows.
9324         This, combined with forcing processesing of queued invalidated
9325         regions, gives nice flicker-free scrolling.
9326
9327         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9328         invalidated regions after every scroll.
9329
9330         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9331         emulation in GDK. Its, for all practical purposes just a
9332         GtkViewport/GtkFixed hybrid now.
9333
9334         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9335         (16-bit) structures as necessary instead of just casting.
9336
9337         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9338         in terms of the structures from gdkregion-generic.c, using appropriate
9339         offsets from GDK to X11 coordinates. Cache clip mask and
9340         origin and ts origin locally and only flush to the server
9341         when drawing, to avoid constantly setting and resetting these
9342         values when offsetting GC's for scrolling and backing pixmaps.
9343
9344         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9345
9346         * gtk/gtkcontainer.c: Call process_all_updates at end
9347         of resizing to reduce flicker. (Avoids having redraw
9348         lag arbitrarily behind resize under some circumstances)
9349
9350         * gtk/gtkentry.c: Remove old backing store code, and simply take
9351         advantage of the new backing store capabilities of GDK.
9352
9353         * gtk/gtkmain.c: Simple implementation of widget backing
9354         store - simply push a paint while handling each expose.
9355         (Should really be configurable widget for widget.)
9356         
9357         * gtk/gtkwidget.c: Remove all the old complicated redraw
9358         code, and simply invalidate the GDK windows from
9359         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9360         debugged complexity ... gone to the winds.)
9361
9362         Remove all the code for suppressing expose events while
9363         resizes are pending; this isn't needed since the invalid
9364         areas won't be processed until after the resizes are
9365         processed, since they are in a lower priority idle.
9366
9367 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9368
9369         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9370         and height of dest rectangle for non-intersecting rectangles.
9371
9372 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9373
9374         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9375         for GdkRectangle.
9376
9377 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9378
9379         * gdk/gdk{events,image,private,types,window}.h
9380          gdk/x11/gdkinputprivate.h: Change all coordinates
9381          from int16 to int. Also, Change width and height from
9382          unsigned to signed to avoid all the stupid C 
9383          signedness bugs.
9384
9385 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9386
9387         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9388         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9389         Add some more detailed checking.
9390
9391         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9392         New function to retrieve the depth of a drawable.
9393
9394         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9395         field, reorder fields to save memory. 
9396
9397 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9398
9399         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9400         of the background image instead of scaling the background down to
9401         a line.
9402
9403         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9404         which temporarily set slider to wrong size.
9405
9406         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9407         queue_clear().
9408
9409 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9410
9411 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9412
9413         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9414
9415 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9416
9417         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9418         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9419
9420         * gdk/win32/gdkfont-win32.c
9421         * gdk/win32/gdkproperty-win32.c
9422         * gdk/win32/gdkselection-win32.c
9423         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9424         now declared such.
9425
9426 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9427
9428         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9429
9430 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9431
9432         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9433         is called without trapping X errors.
9434
9435 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9436
9437         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9438         way into the fontset lists.
9439
9440 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9441
9442         * gtk/gtkthemes.h: add extern "C" scope.
9443
9444 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9445
9446         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9447         to make appends to the list constant. (gtk-guy-990901-0.patch)
9448
9449 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9450
9451         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9452         for the typename hash table.
9453
9454 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9455
9456         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9457         to make sure we never divide by zero. 
9458         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9459
9460 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9461
9462         * gtk/gtkfontsel.c: Apply patch from
9463         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9464         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9465
9466         Also, some cleanups in atom handling.
9467
9468 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9469
9470         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9471         not GtkWidget.
9472
9473 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9474
9475         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9476         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9477         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9478         more guint wrap-around bugs before going to bed.
9479
9480 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9481
9482         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9483         guint wrap arounds in allocation.width.
9484
9485         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9486         process untill we fit the allocation given.
9487
9488 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9489
9490         * gtk/gtkwidget.c:
9491         (gtk_widget_unrealize): guard widget access with ref/unref
9492         around signal emission.
9493         (gtk_widget_hide): same here, but also check its destroyed
9494         state before queueing a resize.
9495
9496 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9497
9498         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9499         of gtk_default_insensitive_bg as insensitive base color.
9500
9501         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9502         to the widget's state.
9503         (gtk_text_realize): same here.
9504         (gtk_text_state_changed): same here.
9505         (draw_bg_rect): compare background color against base[] from
9506         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9507
9508 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9509
9510         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9511         grabs are active, unless a delete event is send to the toplevel
9512         of the currently grab holding widget.
9513
9514 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9515
9516         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9517         debugging g_print's.
9518
9519 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9520
9521         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9522         ever make the scrolled-window requisition ever depend on the 
9523         visibility state of the scrollbars for the AUTOMATIC policy. 
9524         This breaks the GTK+ requisition model, and causes loops.
9525
9526 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9527
9528         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9529         the default font to avoid problems with XFree86-4.0 where the
9530         default charset is iso10646-1, not iso8859-1.
9531
9532 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9533
9534         * acinclude.m4
9535         * config.guess
9536         * config.sub
9537         * ltconfig
9538         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9539
9540         * gtk/Makefile.am: minor cosmetic consistency tweak
9541
9542 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9543
9544         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9545         the activate_time to 0, so that we handle a quick
9546         press/release press/release properly and don't suppress
9547         the second release. (Red Hat bug #7545)
9548
9549 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9550
9551         * gtk/gtkctree.c (row_delete):
9552         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9553         bugs with destruction notifier, *always* update internal
9554         structures *before* calling user code.
9555
9556 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9557
9558         A few more fixes for bug #5487, #2051, #2677.
9559         * gtk/gtkclist.c : 
9560         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9561         not GDK_BUTTON_PRESS.
9562         (resync_selection): resync only if selection_mode is
9563         GTK_SELECTION_EXTENDED
9564         * gtk/gtkctree.c (resync_selection): same here
9565
9566 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9567
9568         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9569         gdk_drag_get_selection() and gtk_menu_detach().
9570
9571         [ From Jeroen Ruigrok/Asmodai ]
9572
9573 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9574
9575         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9576         page->tab_label can be NULL.
9577
9578 2000-01-25  Havoc Pennington  <hp@pobox.com>
9579         
9580         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9581         arg is boolean
9582
9583         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9584
9585         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9586
9587         * gdk/gdkproperty.c (gdk_property_get): return boolean
9588
9589         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9590
9591         * gdk/gdkim.c (gdk_im_ready): return boolean
9592
9593         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9594
9595         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9596         glib clash, should fix glib)
9597
9598         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9599         (gdk_get_show_events): return gboolean, and canonicalize 
9600         to TRUE/FALSE
9601
9602         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9603         colormap is private
9604         (gdk_colors_alloc): gboolean whether to be contiguous
9605         (gdk_color_equal): return gboolean since we are a predicate
9606         and not a qsort() (this looks semi-wrong due to glib breakage,
9607         IMO glib should be fixed)
9608         
9609         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9610         (gdk_get_use_xshm): return gboolean
9611         (gdk_pointer_is_grabbed): return gboolean
9612
9613         * gdk/gdk.h: Change prototypes to match all the above changes,
9614         and re-run egtk-format-protos as required.
9615
9616 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9617
9618         * gtk/gtkctree.c (resync_selection): 
9619         * gtk/gtkclist.c (resync_selection):
9620
9621         Return immediately if clist->drag_pos < 0. This is a workaround
9622         for the corrupt state that the clist gets into when a
9623         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9624
9625         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9626         
9627         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9628         variable from recent commit.
9629
9630 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9631
9632         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9633
9634 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9635
9636         * gtk/Makefile.am: prefix all autogenerated source that get build in
9637         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9638         in builddir. since we subsequently cd into srcdir for autogeneration,
9639         the paths have to be stripped from the target file names, thusly we
9640         use $(@F) as target names now.
9641         put a comment about configure.in's --disable-rebuilds option,
9642         which can be used for non-writable source directories, for development
9643         setups though, srcdir has to be *writable*.
9644
9645 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9646
9647         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9648           Finish the job of allowing event to be NULL.
9649           (Fixes bug #4283, reported by Chris Blizzard)
9650
9651         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9652           things so that the cursor appears on screen, properly
9653           take into account INNER_BORDER.
9654           (Fixes bug #4754, reported by Antonio Campos)
9655
9656 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9657
9658         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9659           show the tab_label unless it itself is visible.
9660
9661           gtk/gtknotebook.c (gtk_notebook_size_request):
9662           Do a better job of making sure that the visibility
9663           of the tab label corresponds to whether it should
9664           be mapped or not.
9665
9666 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9667
9668         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9669           Use the requisition, not the allocation, since the
9670           allocation has not necessarily been computed yet.
9671           (Pointed out by Eugene Osintsev)
9672
9673 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9674
9675         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9676           style/base[GTK_STATE_INSENSITIVE] both to
9677           gtk_default_insensitive_bg!
9678           (Bug #2187, reported by Jonathan Blandford)
9679
9680         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9681           Add Alt_L, Alt_R to list of invalid accelerators.
9682           (Bug #3736, reported by Vlad Harchev)
9683
9684 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9685
9686         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9687         bugs which occured after an attempt to open 
9688         invalid home directory left cmpl_state->reference_dir == NULL.
9689
9690          - completion on files in home directory didn't work
9691          - completion on an empty string caused  segfault
9692
9693          (Bug #3678, reported by Steve Ratcliffe)
9694
9695         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9696         cut and paste error that was causing scales to
9697         be incorrectly positioned.
9698         (Bug #2956,
9699          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9700
9701 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9702
9703         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9704         when checking for dcgettext, if we've found we needed
9705         it for dgettext.
9706 +
9707 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9708
9709         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9710         queue_clear on NO_WINDOW widgets during a reparent,
9711         since at that point the window and widget heirarchies
9712         are out of sync. This stops crashing in some cases
9713         (the scrolled window reparent test, for instance), and
9714         _probably_ won't cause drawing errors.
9715
9716         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9717         test do what it was supposed to do and be robust against
9718         window closings, etc. (Bug #2443)
9719
9720 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9721
9722         * gtk/gtkentry.c: Fix return values on mouse events.
9723         (Bug #2686, Sky <seb_sky@yahoo.com>)
9724
9725         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9726         (pointed out by George Lebl)
9727
9728         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9729         (From Ettore Perazzoli  <ettore@helixcode.com>)
9730  
9731 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9732
9733         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9734         clicks between rows or outside calender area correctly.
9735         (Patch from Damon Chaplin)
9736
9737         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9738         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9739           Call destroy function when overwriting existing data. 
9740           (Pointed out by Damon Chaplin)
9741
9742 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9743
9744         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9745           which was causing problems on various systems with Xmu.
9746           This hasn't been needed for a very long time.
9747           (Fixes #1185 3167)
9748
9749 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9750
9751         * gdk/gdki18n.h: Include <ctype.h> when defining
9752           gdk_isw* in terms of is* as a fallback.
9753           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9754
9755 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9756
9757         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9758           realize the widget when it is size allocated!
9759           (old, old bug)
9760
9761         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9762           Removed unused call to gdk_window_get_size() that
9763           showed up when the above was fixed.
9764
9765 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9766
9767         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9768           fix up widget->window when the widget is a
9769           NO_WINDOW container widget.
9770
9771 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9772
9773         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9774           to account for the fact that feof() does _not_ 
9775           return TRUE on errors, and thus avoid infinite loops
9776           when trying to use gdk_pixmap_create_from_xpm()
9777           on unreadable values.
9778
9779 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9780
9781         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9782
9783 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9784
9785         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9786           gdk_gc_set_dashes to take gint8 instead of gchar to
9787           make it clearer that it is _not_ a NULL terminated string.
9788
9789         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9790           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9791           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9792           arguments.
9793
9794 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9795
9796         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9797         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9798         background size relative to our allocation, guard against small
9799         allocations, we may have not yet been size allocated.
9800
9801 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9802
9803         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9804         not just version == 3. We implement all 3 + most of 4 - 
9805         (we don't support matching text/plain;charset=iso-8859-1
9806         to a dest that expects text/plain). We'll still advertise
9807         3 to be safe, but any client implementing version >= 3
9808         must interoperate with 3.
9809         
9810 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9811
9812         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9813         background and gc members, add a warning in gtk_tooltips_set_color()
9814         indicating that this function is deprecated.
9815
9816 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9817
9818         * docs/gtkfaq.sgml: FAQ Update:
9819           - Minor cleanups (Emmanuel, me)
9820           - New questions:
9821                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9822                 How can I retrieve the text from a GtkMenuItem? (timj)
9823                 How do I validate/limit/filter the input to a GtkEntry? (me)
9824                 Memory does not seem to be released when I free the list
9825                         nodes I've allocated (timj)
9826
9827 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9828
9829         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9830         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9831         for which it is no use to call GetLastError onWin9x.
9832         (gdk_other_api_failed) New function, for general error
9833         reporting without calling GetLastError.
9834         (gdk_win32_api_failed) OTOH, this function always calls
9835         GetLastError. (gdk_win32_last_error_string) Remove this function,
9836         GLib has the equivalent now.
9837
9838         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9839         call them with function name, file name and line number in the
9840         arguments.
9841
9842         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9843         functions.
9844         
9845         * gtk/gtk.def: Add some missing entry points.
9846
9847         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9848         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9849         
9850         Fixes by Hans Breuer:
9851
9852         * gdk/makefile.msc: Update for debugging.
9853
9854         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9855         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9856         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9857         in the dash_list.
9858
9859         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9860         the x11 backend.
9861
9862         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9863
9864         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9865
9866 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9867
9868         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9869         just pixel value of background colour.
9870
9871         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9872         containing code snippet previously duplicated in a couple of
9873         places.
9874         
9875         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9876         gdk_colormap_color.
9877
9878         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9879         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9880         events for autorepeated Shift, Control and Alt keys. Use
9881         gdk_colormap_color.
9882
9883         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9884         pointer is inside the window the cursor of which we are setting,
9885         call SetCursor immediately.
9886
9887         * gdk/win32/makefile.cygwin
9888         * gtk/makefile.cygwin: If we don't have the build number stamp
9889         file, use zero.
9890
9891         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9892         gtk_paned_set_gutter_size as empty.
9893
9894         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9895         
9896 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9897
9898         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9899           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9900           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9901           docs/gtk_tut.sgml docs/gtk.texi TODO:
9902
9903           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9904
9905 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9906
9907         * gtk/gtkcalendar.c: Implement num_marked_dates,
9908           and don't emit mutiple day_selected signals on
9909           month_prev.
9910
9911 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9912
9913         * docs/make-todo (lineno): let title and logo be configurable so
9914         that GNOME can use this script too.
9915
9916         * TODO.xml: added logourl and a title
9917
9918 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9919
9920         * TODO.xml: Added some UI items, and an explanatory
9921         comment at the top of the file.
9922
9923 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9924
9925         * TODO.xml: some updates, added abunch of new entries.
9926         a note for those fiddeling with this file, when done
9927         with it, invoke:
9928         $ ./docs/make-todo TODO.xml >/dev/null
9929         and correct output errors before comitting changes.
9930
9931 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9932
9933         * TODO.xml: Added XML-structured TODO file.
9934         * docs/make-todo: python script to turn TODO.xml into
9935           pretty XML output. 
9936
9937 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9938
9939         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9940         the function to let it draw the seven dots, instead of the old,
9941         much maligned, method.
9942         (draw_dot): New function to draw a dot.
9943
9944         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9945         to draw the handle inside the border width as opposed to outside.
9946         Use paint function instead of gdk_draw_point.
9947
9948         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9949         to draw the handle inside the border width as opposed to outside.
9950         Use paint function instead of gdk_draw_point.
9951
9952         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9953         Change indenting to be more GTK like.
9954
9955 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9956
9957         * docs/gtk_tut.sgml: New section on GtkCalendar
9958         * examples/calendar: Update example code
9959
9960 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9961
9962         * docs/gtkfaq.sgml: FAQ Update
9963
9964 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9965
9966         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9967         to prevent the scroll event to be propagated upwards.
9968
9969 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9970
9971         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9972         OwnerGrabButtonMask from button entries for
9973         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9974
9975         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9976         to the event mask (which will result in button/press release
9977         being added to the event mask on Unix) so scrolling works
9978         for layouts in scroll windows.
9979
9980         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9981
9982         Patch from Anders Carlsson  <andersca@gnu.org> to add
9983         a scroll event.
9984
9985         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9986         scrolling to the "Test Scrolling" part of testgtk.
9987  
9988         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9989  
9990         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9991         it against GDK_SCROLL.
9992  
9993         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9994         way of mouse wheel scrolling.
9995  
9996         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9997  
9998         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9999  
10000         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10001  
10002         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10003         gdk_event_mask_table.
10004  
10005         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10006         GdkEventScroll handler.
10007  
10008         * gdk/gdkevents.h: Added GdkEventScroll structure.
10009  
10010 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10011
10012         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10013         and Anders Carlsson to change the Paned widgets so that they
10014         can be dragged from anywhere along the length. Also change
10015         the way that this is drawn to make this apparent.
10016
10017         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10018         from George Lebl to check that option_menu->menu is present
10019         before getting history.
10020
10021 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10022
10023         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10024         before the assertion for non-NULL segment list.
10025
10026         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10027         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10028         machine, but it might be display driver dependent. Sigh, so make
10029         sure the stipple is that size. Does Windows suck or what?
10030
10031         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10032         places.
10033
10034 2000-02-13  Havoc Pennington  <hp@pobox.com>
10035
10036         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10037         refcount to 1
10038         (gdk_cursor_new): init refcount to 1
10039
10040         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10041
10042 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10043
10044         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10045         so that we don't have to do unnecessary settings to the HDC.
10046
10047         * gdk/win32/gdkdrawable-win32.c
10048         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10049         gdk_gc_predraw.
10050
10051         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10052         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10053         GDI paths, call WidenPath to get the outline of the stroken path,
10054         and then fill the outline (with the brush that was built from the
10055         stipple).
10056
10057         * gdk/win32/gdkgc-win32.c: Factor out common code from
10058         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10059         gdk_win32_gc_values_to_win32values. Use correct colour for
10060         SetBkColor() (Until now the code actually used a random colour in
10061         the call to SetBkColor()... but that didn't show up as not many
10062         GDI APIs use the background colour. Pattern (opaque stippled)
10063         brushes do.)
10064
10065         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10066         gdk_win32_api_failed): New functions for error logging.
10067
10068         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10069         WIN32_API_FAILED to call them, passing function or file name and
10070         line number.
10071
10072         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10073
10074         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10075         GdkColor for foreground and background in GdkGCWin32Data.
10076
10077         * gdk/makefile.cygwin: Link in the resource object separately.
10078
10079         * gdk/win32/rc/gdk.rc
10080         * gtk/gtk.rc (New file)
10081         * gdk/win32/makefile.cygwin
10082         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10083         as in GLib.
10084
10085 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10086
10087         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10088         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10089         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10090         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10091         parameters given and cursor->ref_count. coding style fixups.
10092
10093         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10094         not GtkWidget.
10095         
10096         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10097         fix up widget macros and add _GET_CLASS() variant.
10098         
10099         * gtk/*.c: some GtkType fixups.
10100
10101 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10102
10103         * gdk/win32/gdkproperty-win32.c
10104         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10105         were reversed.
10106
10107 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10108
10109         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10110         g_filename_to_utf8 to convert the font names Windows gives us from
10111         whatever is the default codepage to UTF-8.
10112         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10113         in the other direction.
10114
10115         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10116         error in debugging output.
10117
10118 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10119
10120         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10121         and height parameters to gdk_window_clear_area(). Not minus one.
10122
10123 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10124
10125         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10126         checks if the widget passed to gtk_drag_get_data() was not the
10127         dest widget.
10128
10129 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10130
10131         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10132         g_filename_from_utf8 functions (which were added a moment ago to
10133         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10134         size buffers.
10135
10136         gtk_file_selection_get_filename returns the filename in the C
10137         runtime encoding. It calls g_filename_from_utf8, but copies the
10138         returned string to a static buffer, which is returned. I think
10139         this is better than returning the result from g_filename_from_utf8
10140         directly, which would mean all apps that use it would have to free
10141         the return value. Or should this function care about this issue at
10142         all? Maybe a new function with clearly defined semantics.
10143
10144         * gtk/gtkfilesel.h: Add comment about
10145         gtk_file_selection_get_filename returning the filename in the C
10146         runtime's encoding.
10147
10148         * README.win32
10149         * gdk/gdk.def
10150         * gdk/makefile.{cygwin,msc}
10151         * gtk/gtk.def: Updates.
10152
10153         * gdk/gdkcursor-win32.c: Initialise refcount.
10154
10155 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10156
10157         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10158
10159 2000-01-30  Havoc Pennington  <hp@pobox.com>
10160
10161         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10162         destroy
10163
10164         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10165
10166         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10167         implemented in platform-specific code
10168
10169         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10170
10171         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10172         underscore in front
10173
10174         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10175         put an underscore in front
10176
10177         * gdk/gdkcursor.c: new file, implements
10178         gdk_cursor_ref/gdk_cursor_unref
10179
10180         * gdk/gdkcursor.h: Refcount GdkCursor
10181
10182         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10183
10184 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10185
10186         * gdk/gdkwindow.h
10187         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10188
10189 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10190
10191         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10192         structures to properly inherit from GtkWidget not GtkBin.
10193
10194 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10195
10196         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10197         (bug #5178 - Peter Wainright)
10198         
10199         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10200         so that it will be installed.
10201         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10202
10203 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10204
10205         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10206         for the GtkStyleClass vtable const.
10207
10208         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10209         take a const string argument like GtkTranslateFunc. This will
10210         require changes in use code.
10211
10212 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10213
10214         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10215         semantics (to mimic the X11 backend, which just calls XClearArea)
10216         is to check for zero width (and height), and in that case use the
10217         window's width minus x (height minus y). This fixes for instance
10218         some redraw problems with gtkclist, which were easily noticeable
10219         in the gtk file selection widget.
10220
10221         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10222         windows.
10223
10224 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10225
10226         * configure.in
10227         * gdk/Makefile.am
10228         * gdk/x11/Makefile.am
10229         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10230         (bug #5177).
10231         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10232         out later.
10233
10234 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10235
10236         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10237         WM_MOVE for iconified or invisible windows. This fixes various
10238         problems when minimising windows. Thanks to Bernd Herd.
10239
10240 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10241
10242         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10243         backend's draw_lines method, not draw_points.
10244
10245 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10246
10247         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10248         before Owen's reorganisation: Don't have queued_events and
10249         queued_tail statics in this file, but use gdk_queued_events and
10250         gdk_queued_tail. This makes exposure event compression work again.
10251
10252         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10253         seem to be needed?
10254
10255 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10256
10257         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10258         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10259         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10260         doesn't do anything.
10261
10262         * gdk/gdk.def: Add gdk_xid_table_insert.
10263
10264         * gdk/win32/gdkprivate-win32.h
10265         * gdk/win32/gdkevents-win32.c
10266         * gdk/win32/gdkinput-win32.c
10267         
10268         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10269         extension_events field in the GdkWindowWin32Data struct. Use only
10270         the extension_events field in GdkWindowPrivate. Previously one was
10271         set, and the other one tested, which broke tablet
10272         functionality. Thanks to Keishi Suenaga for pointing this out.
10273
10274 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10275
10276         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10277         When handling a single character (text length == 1), don't handle
10278         it as if it was UTF-8.
10279
10280 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10281
10282         * Makefile.am: Distribute README.win32.
10283         
10284         * gdk/Makefile.am
10285         * gdk/win32/Makefile.am: Distribute Win32 files.
10286
10287         * gdk/makefile.msc: New file.
10288
10289         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10290         after label).
10291
10292         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10293         gdk_error_code as GDKVAR, as they are referred outside GDK.
10294
10295         * gdk/win32/makefile.msc: Update.
10296
10297         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10298         tweaks. Check only if at least one of those Unicode subrange bits
10299         we care for is set. If no code page bits are set, guess (wildly)
10300         based on the charset.
10301
10302         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10303
10304         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10305         non-NULL.
10306
10307         * gtk/gtkdnd.c
10308         * gtk/gtklayout.c
10309         * gtk/gtkplug.c
10310         * gtk/gtkselection.c
10311         * gtk/gtksocket.c
10312         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10313         appropriate. There must be a cleaner way to handle this?
10314
10315         * gtk/gtkrc.c: Must include windows.h on Win32.
10316
10317         * gtk/testgtk.c: No need to include gdkx.h.
10318
10319         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10320
10321 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10322
10323         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10324         the rbearing is set to the same as the width, but this should be
10325         fixed.
10326
10327 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10328
10329         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10330         function. If Windows doesn't tell us what Unicode subranges a font
10331         covers, guesstimate based on the codepages it covers. This will
10332         hopefully help those Windows versions or fonts that don't give us
10333         any useful Unicode subrange information with GetTextCharsetInfo.
10334         Call this function in gdk_font_load_internal.
10335
10336         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10337         minor changes.
10338
10339 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10340
10341         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10342         New function, long needed.
10343
10344 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10345
10346         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10347         only_if_exists argument of gdk_atom_intern to
10348         bool.
10349
10350 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10351
10352         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10353         Fix two copy&paste errors.
10354
10355         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10356         win32 has changed.
10357
10358         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10359         GdkWin32SingleFont struct.
10360
10361         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10362         subranges of loaded fonts. Clear font signature first, in case
10363         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10364         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10365
10366         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10367         Unoffset clip region.
10368
10369 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10370
10371         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10372         event->any.window before calling filter functions.
10373
10374 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10375
10376         * gtk/gtkgamma.h: Adapt cast macros to standard.
10377
10378 [ Merges from 1.2 ]
10379
10380 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10381
10382         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10383         If translation does not include a '/', use entire
10384         translation instead of crashing.
10385
10386 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10387
10388         * docs/gtk_tut.sgml:
10389         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10390
10391 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10392
10393         * gtk/gtkselection.c (gtk_target_list_remove): Use
10394         g_list_remove_link, not g_list_remove.
10395
10396         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10397         
10398 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10399
10400         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10401         statement upon unselection (how the heck did that slip in?).
10402
10403 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10404
10405         * gtk/gtktext.c (gtk_text_freeze): 
10406         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10407         in frozen state (and aparently crashes). patch provided by Anders
10408         Melchiorsen <and@kampsax.dtu.dk>.
10409
10410 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10411
10412         * fix insensitive default/focus widget activation,
10413         reported by Matt Goodall <mgg@isotek.co.uk>.
10414
10415         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10416         (gtk_window_activate_default):
10417         (gtk_window_activate_focus):
10418         return handled=FALSE for actiavtion of insensitive default
10419         widgets. return handled=TRUE for activation of insensitive
10420         focus widgets. don't activate in either case.
10421
10422 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10423
10424         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10425         and $glib_cflags to match library order and in the
10426         theory that an old version of GLib is more likely to
10427         be in the include directory for X then vice-versa.
10428         (Bug #2776)
10429
10430 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10431
10432         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10433         to determine the locale for fontsets, not LC_MESSAGES;
10434         the user may want English messages with a handling
10435         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10436         will still be broken) (Bug #2891)
10437
10438 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10439
10440         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10441
10442 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10443
10444         * gtk/gtkrc.ko: Changed the Korean default fontset.
10445
10446 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10447
10448         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10449         where when scrolling to the left or top double exposes
10450         were done, causing major slowdowns.
10451
10452 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10453
10454         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10455         names to lowercase and alphanumeric, before looking
10456         them up.
10457
10458         * gtk/Makefile.am: Install codeset variant gtkrc files
10459         with normalized names.
10460
10461 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10462
10463         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10464         popup menus when the menu is already visible, but its parent
10465         is still hidden, (happens after tornoff window got hidden).
10466
10467 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10468
10469         * gtk/Makefile.am (install-data-local): Fix
10470         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10471         deleted, causing error messages on install.
10472
10473 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10474
10475         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10476         the handle as well, since we now sometimes ignore
10477         exposes on the handle while resizing.
10478
10479 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10480
10481         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10482         extra g_free introduced in one of the last one or two 
10483         commits.
10484
10485 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10486
10487         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10488         consistent, put each style that a gtkrc.* file creates
10489         in a unique namespace, remove old files before installing.
10490
10491 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10492
10493         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10494         gtk_rc_init is called multiple times. (Yes, people who
10495         do that have bugs in their code.)
10496
10497 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10498
10499         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10500         Remove it since it's generated by the Makefile anyway
10501
10502 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10503
10504         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10505         device->info.axes for core pointer.
10506
10507 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10508
10509         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10510         idle_id, to deal with obsolete, broken C libraries.
10511
10512 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10513
10514         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10515         allocation->x/y twice!
10516
10517         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10518         consistent with gtk_vscale_pos_trough().
10519
10520 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10521
10522         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10523         be queueing a resize on a toplevel container between
10524         the time we show it and when we map it. So, we need
10525         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10526         use GTK_WIDGET_DRAWABLE() for child windows.
10527
10528 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10529
10530         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10531         (fixes bug #2144)
10532
10533 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10534
10535         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10536         container DRAWABLE (instead of VISIBLE), so we don't queue
10537         resizes on non-toplevel containers.
10538
10539 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10540
10541         * gtk/gtkselection.[ch]: Make the data argument
10542         const guchar *.
10543
10544 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10545
10546         * gtk/gtkwindow.c: Try to behave sensibly if 
10547         the focus widget is the window itself. (Should
10548         we allow this at all?)
10549
10550 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10551
10552         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10553         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10554         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10555         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10556         in prototypes and implementations consistent (Tomas Ogren).
10557
10558         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10559         before the widget is unparented (reported by damon).
10560
10561         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10562         since we provide unsigned data anyways.
10563
10564 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10565
10566         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10567         the call to gtk_tooltips_layout_text() until later.
10568
10569         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10570         Call gtk_widget_ensure_style() before using the style.
10571
10572 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10573
10574         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10575         for old widgets that don't propagate draws to all
10576         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10577
10578 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10579
10580         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10581         for a redraw but just the widget that requested the resize.
10582
10583 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10584
10585         * gtk/gtkcontainer.c: added new widget level method
10586         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10587         reallocate_redraws : 1 to reflect the setting, exported this through
10588         the argument system as a boolean ::reallocate_redraws.
10589
10590         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10591         on the widget because the allocation changes, do so as well for
10592         widget->parent if the parent has reallocate_redraws set to TRUE.
10593         with that containers requesting reallocation redraws get automatically
10594         redrawn if their children changed allocation (this unfortunately
10595         affects also other children that didn't change allocation, but we
10596         cannot work around that before 1.3).
10597
10598 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10599
10600         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10601         _and_ height are >0 (not _or_).
10602
10603         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10604         instead of gtk_container_queue_resize(), which is a core gtk internal
10605         function (must have been on crack when i queued that).
10606
10607         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10608         we can check more reliably if we want to discard expose events.
10609         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10610         flag.
10611         
10612         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10613         we simply trust these events. for deciding whether to discard exposes,
10614         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10615         
10616 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10617
10618         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10619         queues of areas that are completely off screen.
10620
10621         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10622         logic for handleboxes.
10623
10624         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10625         check on width/height.
10626
10627 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10628
10629         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10630         we are fine with using $@ the way we do (if we actually encounter
10631         brokeness with $@ in VPATH builds because of additional path prefixes,
10632         we need to use $(@F) actually).
10633
10634 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10635
10636         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10637         short lived bugs, that would allow language bindings to do surgeries
10638         to our guts.
10639
10640 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10641
10642         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10643         where comparison was being done against an uninitialized
10644         value causing intermittant results depending on
10645         compiler flags. Also make it clearer that we aren't
10646         ever initializing the child as 0x0 (though this will
10647         be caught in gtk_widget_size_allocate())
10648
10649 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10650
10651         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10652         gtk_window_unset_transient_for() call after we do checks
10653         involving the old transient parent.
10654         [ From Lance Capser <lmc@cyberhighway.net> ]
10655
10656 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10657
10658         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10659         an empty file.
10660
10661 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10662
10663         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10664         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10665
10666 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10667
10668         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10669         `$@' is valid only in the build dir, not after we've done 
10670         `cd $srcdir'.  Also use `test -f' instead of less portable
10671         `test -e'.
10672
10673 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10674
10675         * gtk/gtktext.c (correct_cache_insert): Rewrite
10676          for simplicity, and hopefully correctness.
10677          (Fixes bug #1322, which was a segfault when
10678           on some insertions with the properties around
10679           the insertion set up just wrong.)
10680
10681         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10682          a "changed" signal, clamp the new value to the adjustment
10683          bounds to avoid segfaulting if someone tries to change
10684          the adjustment to a bogus value. (Bug #1795)
10685
10686 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10687
10688         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10689         for children, for toplevel windows handle them
10690         like delete_event.
10691
10692         * gtk/gtkplug.c: Add an unrealize handler so that
10693         we unref plug->socket_window when we are done
10694         with it.
10695
10696 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10697
10698         * gtk/gtktext.c (clear_area): Fix stupid signedness
10699          problem that was causing background to sometimes
10700          be misaligned.
10701
10702 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10703
10704         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10705         
10706         * gtk/gtkmenu.c (gtk_menu_position): Make
10707          sure we never position menus with negative x, y,
10708          since gtk_widget_set_uposition() can't handle that.
10709
10710         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10711          Modify the positioning code a bit so that we always
10712          put the top-left corner onscreen. (This is for
10713          UI reasons, gtk_menu_position() now takes care of
10714          gtk_widet_set_uposition() brokeness.)
10715
10716 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10717
10718         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10719
10720 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10721
10722         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10723           RC style that is passed in. The lack of the ref
10724           before was a bug. If people worked around this
10725           bug, this will introduce a slight memory leak
10726           in their code. The code should typically look like:
10727
10728             rc_style = gtk_rc_style_new ();
10729             [...]
10730             gtk_widget_modify_style (widget, rc_style);
10731             gtk_rc_style_unref (rc_style);
10732
10733         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10734           the style if it was already set.
10735
10736         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10737           style if it was set before.
10738
10739 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10740
10741         * gtk/testgtk.c (main): Add a check to see if we
10742           are being run from the correct directory and
10743           to quit nicely if we are not.
10744
10745         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10746           static.
10747
10748 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10749
10750         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10751
10752         * gtk/gtkwindow.c:
10753         queue resizes unconditionally (gtk_widget_queue_resize will figure
10754         what to do if the window is not realized).
10755         (gtk_window_move_resize): only recenter the window
10756         for GTK_WIN_POS_CENTER_ALWAYS.
10757         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10758         the same way as GTK_WIN_POS_CENTER.
10759
10760 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10761
10762         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10763         with (!(info->last_flags & GDK_HINT_POS)) instead of
10764         (!info->last_flags & GDK_HINT_POS).
10765
10766         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10767         new_height unconditionally, because we use these values even if
10768         !default_size_changed && !hints_changed.
10769         comented the (default_size_changed || hints_changed) case with
10770         respect to resize rejects from the window manager.
10771
10772         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10773         in the zvt condition hack, since this includes the window hints, set
10774         the hints after the handling_resize case.
10775
10776         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10777         window is initially shown with to the geometry.
10778
10779 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10780
10781         * gtk/gtkwindow.c (gtk_window_move_resize):
10782         s/size_changed/default_size_changed/g so i know what's
10783         really going on (frying brain on smaller flame now).
10784
10785 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10786
10787         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10788         we have size_changed upon handling_resize. this is a gross
10789         workaround for the broken zvt widget and should be removed in
10790         1.3 again (search for FIXME).
10791         Owen provided an accurate comment for this:
10792
10793         /* We could be here for two reasons
10794          *  1) We coincidentally got a resize while handling
10795          *     another resize.
10796          *  2) Our computation of size_changed was completely
10797          *     screwed up, probably because one of our children
10798          *     is broken. It's probably a zvt widget.
10799          *
10800          * For 1), we could just go ahead and ask for the
10801          * new size right now, but doing that for 2)
10802          * might well be fighting the user (and can even
10803          * trigger a loop). Since we really don't want to
10804          * do that, we requeue a resize in hopes that
10805          * by the time it gets handled, the child has seen
10806          * the light and is willing to go along with the
10807          * new size. (this happens for the zvt widget, since
10808          * the size_allocate() above will have stored the
10809          * requisition corresponding to the new size in the
10810          * zvt widget)
10811          *
10812          * This doesn't buy us anything for 1), but it shouldn't
10813          * hurt us too badly, since it is what would have
10814          * happened if we had gotten the configure event before
10815          * the new size had been set.
10816          */
10817
10818 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10819
10820         * gtk/gtkrc.c: deal properly with the fact that RC
10821           style lists may include rc styles more than once.
10822
10823         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10824           unused static function.
10825
10826         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10827           stack of directories of RC files currently being
10828           parsed and implicitely add them to pixmap path.
10829           
10830           This fixes a bug where the directory would get
10831           appended then overwritten by pixmap_path declarations.
10832
10833           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10834
10835         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10836           theme's exit function. (Patch from Peter Wainwright,
10837           bug #1454)
10838
10839         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10840           Add a destroy() handler to take care of removing
10841           group for menu item. (Fixes bug #1197)
10842
10843         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10844           in warning message.
10845
10846 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10847
10848         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10849         roundtrip to figure window's width and height, since we know that
10850         anyways from widget->allocation.
10851
10852 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10853
10854         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10855           the hints after we request the new size.
10856
10857 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10858
10859         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10860           GTK_WIDGET_REALIZED() assertion - we can compute the
10861           hints before we are realized.
10862
10863         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10864           hint changing so that we have a value of hints_changed
10865           when we decide whether to constrain the window size.
10866
10867         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10868
10869         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10870         change back to G_MAXINT.
10871
10872 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10873
10874         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10875         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10876         contain uncluttered values.
10877         (gtk_window_compute_hints): simply assert that window is realized
10878         and that geometry_info is valid, since we rely on this anyways.
10879         (gtk_window_constrain_size): major cleanups to the code.
10880         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10881         for the base size, instead of the minimums. use 32767 as max width
10882         and height (like in gtkwindow.c) instead of G_MAXINT.
10883
10884 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10885
10886         * cleaned up the GtkContainer.need_resize flag handling mess, we
10887         only need to force resize requests when we were prematurely
10888         realized, or our widget tree was modified when we were temporarily
10889         hidden. handling these cases directly upon showing the window (i.e.
10890         while the GdkWindow is still unmapped) avoids the need to wait for
10891         a configure event response and therefore makes the GUI more snappier
10892         and avoids blank windows during the roundtrip.
10893
10894         * gtk/gtkwidget.c:
10895         (gtk_widget_hide): 
10896         (gtk_widget_show): don't queue resizes on toplevels, they know how
10897         to deal with matters.
10898
10899         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10900         flag directly for not visible resize containers and spare us unecessary
10901         signal emissions.
10902
10903         * gtk/gtkwindow.c:
10904         (gtk_window_realize): if we need to enforce premature size allocation,
10905         queue a container resize so we are correctly resized later on.
10906         (gtk_window_init):
10907         (gtk_window_size_request):
10908         don't freak around with the ->need_resize flag,
10909         gtk_container_queue_resize() will care about that.
10910         (gtk_window_show):
10911         handle initial resizing issues here, we can handle matters better in
10912         this place, especially since we know that our GdkWindow is still
10913         unmapped.
10914         (gtk_window_move_resize):
10915         don't care about ->need_resize at all.
10916         handle size changes properly that occoured while we waited for a
10917         configure event.
10918
10919 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10920
10921         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10922         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10923         Move the hint setting code from gtk_widget_set_uposition
10924         to here; set the hints so that we respect any previously
10925         set geometry hints.
10926
10927         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10928         change the window hints here or move the window here,
10929         let that happen in gtk_window_move_resize().
10930
10931 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10932
10933         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10934         to already queued resizes (and therefore redraws) on a widget, check
10935         its anchestry as well.
10936
10937         * gtk/gtkcontainer.c:
10938         (gtk_container_queue_resize): clear resize widgets for resize
10939         containers before aborting prematurely. this is especially important
10940         for toplevels which may need imemdiate processing or their resize
10941         handler to be queued.
10942         (gtk_container_dequeue_resize_handler): added new internal function for
10943         gtkwindow.c.
10944
10945         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10946         configure event, take possible changes in window position into account
10947         as well.
10948         if we request a new window size, queue up a resize handler that will
10949         last until the configure event response arrives.
10950         combined the ->need_resize case (initial show) with the general size
10951         (hints) changed case and added even more comments.
10952         if !auto_shrink, only revert to the old allocation if the new size
10953         is smaller than the current allocation.
10954
10955 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10956
10957         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10958                            gtk_window_set_geometry_hints
10959                            gtk_window_set_default_size):
10960         When hints are set, queue a resize so that the hints will
10961         be eventually reset on the toplevel.
10962
10963         * gtk/gtkwindow.c (gtk_window_show): Use
10964         gtk_window_compute_default_size(). Clear the need_resize flag
10965         on the initail map so that we don't unnecessarily trigger the
10966         resize code.
10967
10968         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10969         into separate functions. Compare the hints we are setting
10970         with what we set last time so that we can accurately
10971         tell when we need to reset the hints.
10972
10973         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10974         function to figure out the size from requisition
10975         and default_size.
10976
10977         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10978         from fvwm to constrain a size to the geometry hints.
10979
10980         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10981         to compare two sets of geometry hints.
10982
10983         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10984         from gtk_window_set_hints(), just compute the hints,
10985         don't set them.
10986
10987         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10988         code from gtk_window_move_resize() to separate function,
10989         rationalize a bit.
10990
10991 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10992
10993         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10994         structure into a new private structure.
10995
10996         * gtkrc.c: Split GtkRcStyle into public/private.
10997         In the private part, add a list of pointers to the
10998         RcStyle lists this RcStyle participates in.
10999
11000         * gtkrc.c: When a RcStyle is free, remove all
11001         lists referencing it from the 
11002         realized_style_ht hash, and free those lists.
11003         
11004         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11005         gtk_rc_init(), since that adds the default styles
11006         to the list of parsed RC files again.
11007
11008         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11009         
11010 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11011
11012         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11013         checks that ensure that a widget's allocation is at least 1 in width
11014         and height. (GNOME note: this doesn't affect old panel code anymore,
11015         because GtkSocket will request width and height of at least 1 since
11016         Fri Jul 23).
11017
11018         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11019         allocated yet (happens if the user realizes the window prematurely),
11020         size request and allocate it.
11021         (gtk_window_size_allocate): guard against guint underflows.
11022
11023 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11024
11025         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11026         in gtk_built_sources, so gtk.defs gets built prior to all other
11027         sources.
11028
11029 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11030
11031         * gtk/Makefile.am:
11032         invoke indent on gtkmarshal.*. 
11033         rewrote source generation rules, use COPYING as oldest source tag for
11034         a piggyback rule to generate all sources from (don't touch it ;).
11035         major cleanups, strip spaces on build rules for GNU Make.
11036
11037         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11038         source and target files from commandline arguments. don't invoke indent.
11039
11040 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11041
11042         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11043         notebook after switch to avoid drawing problems.
11044         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11045         
11046         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11047         show them instead. 
11048         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11049
11050 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11051
11052         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11053         notebook after switch to avoid drawing problems.
11054         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11055         
11056         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11057         show them instead. 
11058         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11059
11060 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11061
11062         * gtk/gtkwindow.c:
11063         we use window->need_resize from configure_event now, to indicate that
11064         the gtkwindow should keep its allocation (e.g. because the user resized
11065         the window through window manager handles). resize_count is now reliably
11066         used to figure whether we got the allocation we requested from the
11067         window manager.
11068         configure events get queued as resizes now, the real stuff (size
11069         computation and allocation) now only goes on in gtk_window_move_resize().
11070         GtkWindow's requisition now contains its *real* requisition (like all
11071         other widgets), *not* taking usize into account.
11072         geometry_info->last_{width|height} is now updated from set_hints() only
11073         so it always contains the last hints we set for the window manager.
11074         made some event handlers return TRUE instead of FALSE.
11075         the overall code should be much more straight forward now, and the
11076         significant code portions are accompanied by comments now.
11077         (gtk_window_set_hints):
11078         removed requisition argument and made it
11079         fetch the requisition through gtk_widget_get_child_requisition.
11080         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11081         does that now.
11082         (gtk_window_show):
11083         ensure that the widget is realized before calling 
11084         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11085         ensure that we got properly size requested and allocated before
11086         realization.
11087         (gtk_window_configure_event):
11088         ignore plain window moves, or reallocate the widget tree through the
11089         resize queue otherwise.
11090         (gtk_window_move_resize):
11091         mostly rewrote this function to figure window manager hints more
11092         reliably, coalesce window moves and resizes to reduce configure events
11093         and do actuall size allocations.
11094
11095 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11096
11097         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11098         that have a resize pending, because a redraw is already queued for them.
11099
11100         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11101         hack to clear resize_widgets.
11102
11103         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11104         for resize containers prior to size allocation. (this is also a bit
11105         ugly, but avoids side effects for stopped emissions and is thus more
11106         reliable).
11107         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11108
11109         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11110         function from gtk_tooltips_expose, as we connect to ::expose_event
11111         *and* ::draw now.
11112
11113 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11114
11115         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11116         checks.
11117         (gtk_target_list_unref): Likewise.
11118
11119         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11120
11121 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11122
11123         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11124         guard against division by zero. (Fixes bug #1339)
11125
11126 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11127
11128         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11129         Prevent the trivial leak of information of allowing
11130         word motion when the entry is not visible.
11131
11132 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11135         modality to error dialog as well as confirmation dialogs.
11136         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11137
11138 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11139
11140         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11141         tree->view_lines.
11142         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11143
11144         * gtk/Makefile.am (install-data-local): Solaris apparently
11145         has various troubles with ln -f; use rm first instead.
11146         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11147
11148 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11149
11150         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11151         use `cp' followed by `rm' (the `rm' was already there).
11152
11153 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11154         
11155         * configure.in: Fix autoconf warnings about cross compilation by
11156         trying to provide sane defaults for AC_TRY_RUN.
11157         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11158         put them into $(srcdir) when generated. Also add a dependency of
11159         gtksignal.h on gtkmarshal.h for -j builds. 
11160         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11161
11162 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11163
11164         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11165         GDK_THREADS_{LEAVE,ENTER} pair.
11166         (From Paul Fisher <pnfisher@redhat.com>)
11167
11168 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11169
11170         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11171         width and height are always >0 (owen).
11172
11173 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11174
11175         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11176         change that assured that a widget's allocated with and height are
11177         always >1, since this breaks *buggy* panel code. unfortunately this
11178         back-breaks the gimp's color selector.
11179
11180         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11181         allocation is always >0 in width and height, before sending the
11182         configure event; this is a *gross* hack to get the gimp back to work.
11183         
11184         * marked both cases with TODO-1.3
11185
11186 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11187
11188         * gtk/gtktext.c: Don't display wrap indicators when
11189         text is not editable and word wrap is on.
11190
11191 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11192
11193         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11194         option menus here as they are not derived from menu shell, assure that
11195         the option menu has a menu we can add items to.
11196
11197 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11198
11199         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11200         width/height to (gint) before calculations and check against < 0 to
11201         avoid guint wraparounds.
11202
11203 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11204
11205         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11206         width and height is never zero. sanity check both dimensions against
11207         32767 and issue a warning if the allocation is greater than that.
11208
11209 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11210
11211         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11212         to g_main_pending() as well.
11213
11214 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11215
11216         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11217         call to g_main_iteration() - since that will regrab
11218         GTK+ lock to process events.
11219
11220 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11221
11222         * gtk/gtkwindow.c
11223         - Regularize with the rest of GTK+ by making widget->requisition
11224           not reflect the set_usize()
11225         - Always recompute geometry hints, then check if they
11226           changed before sending them to the X server. The
11227           previous checks for changes would fail in a number
11228           of circumstances. 
11229
11230 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11231
11232         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11233
11234 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11235
11236         * gtk/gtkdnd.c:
11237         - Code cleanups
11238         - Instantaneously update on modifier key presses
11239         - Allow cancellation of the drag with Escape.
11240
11241 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11242
11243         * gtk/testgtk.c (create_handle_box): Set the policy
11244         to auto_shrink - otherwise the appearance is rather
11245         strange when flipping between horizontal and vertical.
11246
11247 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11248
11249         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11250         (gtk_window_set_default_size): don't change a value if it's < 0.
11251         queue a resize.
11252
11253 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11254
11255         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11256
11257 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11258
11259         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11260         add an extra "/" when concating "/" + filename.
11261         (From Matt Grossman <mattg@oz.net>)
11262
11263 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11264
11265         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11266         for fg_gc if we set it for drawing pixmap.
11267
11268 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11269
11270         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11271         
11272         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11273         already set, call old engine's destroy function and
11274         unref the old engine.
11275
11276 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11277
11278         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11279
11280 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11281
11282         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11283
11284 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11285
11286         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11287         expand behaviour changed.
11288
11289         * gtk/gtklabel.c (gtk_label_set_pattern):
11290         (gtk_label_set_justify):
11291         (gtk_label_set_line_wrap):
11292         don't bother invoking queue_clear, the reallocation does
11293         that for us, always free_words so the upcoming resize will
11294         relayout the label's contents.
11295
11296 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11297
11298         * applied argument implementation patches from Elena Devdariani
11299         <elena@cogent.ca>.
11300
11301         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11302         ::space_style, ::relief
11303         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11304         * gtk/gtkpreview.c: ::expand
11305         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11306         * gtk/gtknotebook.c: ::homogeneous
11307         * gtk/gtklabel.c: ::wrap
11308         * gtk/gtklist.c: ::selection_mode
11309         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11310         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11311         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11312         * gtk/gtkclist.c: ::sort_type
11313         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11314         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11315
11316 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11317
11318         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11319         comment.
11320
11321 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11322
11323         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11324         counting right when we have to attach a new style
11325         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11326
11327         * gtk/gtkstyle.c: Documented the refcounting
11328         peculularities of gtk_style_attach.
11329
11330 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11331
11332         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11333         window types.
11334
11335         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11336         of GTK_TOPLEVEL for creating the window.
11337
11338 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11339
11340         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11341         the last argument (reported by Per Winkvist).
11342         
11343 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11344
11345         Fixes for invisible XOR lines (Frank Loemker
11346         <floemker@TechFak.Uni-Bielefeld.DE>)
11347         
11348         * gtk/gtkclist.c (gtk_clist_realize): Always use
11349         a non-zero pixel for GDK_XOR.
11350
11351         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11352         Use GDK_INVERT instead of GDK_XOR.
11353
11354 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11355
11356         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11357         signals if h/voffsets differ from adjustment values.
11358         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11359
11360 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11361
11362         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11363         ::selection-done emissions up to the topmost menu shell.
11364
11365 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11366
11367         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11368         the user data on the window before destroying it.
11369
11370         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11371         unrealize handler to take care of destroying 
11372         notebook->panel properly. 
11373         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11374
11375         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11376         of g_new and g_realloc to stop memory leak. (Actually,
11377         we could just use g_realloc(), but I'm not 100% sure
11378         that is portable).
11379         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11380
11381 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11382
11383         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11384
11385         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11386         for fontsets.
11387
11388         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11389         with bin/button confusion.
11390
11391 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11392
11393         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11394         and show how preselection of radio items is done.
11395
11396 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11397
11398         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11399         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11400         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11401         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11402         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11403         * gtk/gtktable.c (gtk_table_attach): 
11404         * gtk/gtklist.c (gtk_list_insert_items): 
11405         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11406         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11407         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11408         * gtk/gtkbin.c (gtk_bin_add): 
11409         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11410         * gtk/gtkfixed.c (gtk_fixed_put): 
11411         * gtk/gtklayout.c (gtk_layout_put):
11412         general fixups to container_add logic. always realize child if
11413         child->parent is realized, only map the child and queue a resize
11414         if child and child->parent are both visible.
11415
11416 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11417
11418         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11419         instead of gtk_container_foreach to walk and unrealize children, so
11420         composite children get also unrealized.
11421         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11422         (gtk_widget_map): assert that the widget is visible (basic constrain).
11423         (gtk_widget_real_map): assert that the widget is realized (basic
11424         constrain).
11425
11426 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11427
11428         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11429
11430 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11431
11432         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11433         file for iso-8859-2 locales.
11434
11435         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11436
11437 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11438
11439         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11440          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11441          Remove some suspicious and useless lines. 
11442
11443 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11444
11445         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11446         width,height = 0, 0 to mean - here to edge of window,
11447         instead of -1, -1, since the former is all we support.
11448
11449 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11450
11451         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11452         when removing from quit_functions list.
11453
11454 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11455
11456         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11457
11458 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11459
11460         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11461          When redrawing characters on non-visible entry, use appropriate
11462          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11463
11464 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11465
11466         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11467         from drag coordinates.
11468         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11469         use drag_dest_cell.
11470
11471         * gtk/gtktree (drag_dest_cell)
11472         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11473         (Bug #1129)
11474
11475 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11476
11477         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11478         translate_* fields.
11479         (gtk_item_factory_finalize): invoke translate_notify independant from
11480         translate_data.
11481         (gtk_item_factory_set_translate_func): likewise.
11482         (gtk_item_factory_destroy): only remove ifactory pointer from those
11483         widgets that belong to us (stupid me).
11484
11485 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11486
11487         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11488         rc_style list when lookup succeeeds.
11489
11490 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11491
11492         * gtk/gtkctree.c (resync_selection): 
11493         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11494         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11495         bug.
11496
11497 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11498
11499         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11500         Add some missing GDK_THREADS_ENTER()/LEAVE around
11501         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11502
11503 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11504
11505         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11506         rather than emit_by_name.
11507
11508         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11509         on the widget across multiple signal emissions.
11510         (gtk_editable_delete_text): same here.
11511         (gtk_editable_class_init): set widget_class->activate_signal after
11512         editable_signals[ACTIVATE] has been created.
11513
11514 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11515
11516         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11517         position here prematurely -- we might not have the
11518         right ->min_position and ->max_position yet.
11519
11520 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11521
11522         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11523         Add error traps so if the other end of the connection
11524         dies, we survive.
11525
11526         * gtk/gtkselection.c (gtk_selection_notify): Clean
11527         up properly when selection property retrieval fails.
11528         
11529         * gtk/gtkselection.c (gtk_selection_request): Correctly
11530         reject SelectionRequest notifies where the handler
11531         returns no data.
11532
11533 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11534
11535         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11536         when we've previously highlighted.
11537
11538         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11539         emit two "drag_leave" signals for Motif drops.
11540
11541         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11542         back the correct status messages when dropping from
11543         Motif onto a proxy window that is rejecting the
11544         drop.
11545
11546 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11547
11548         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11549         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11550         to compare two argument values. added gtk_arg_to_valueloc() to set a
11551         variable from an arg through its location (pointer).
11552
11553         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11554         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11555         as gfloat*, uchars are collected as guchar*, ints are collected as
11556         gint*, etc...
11557
11558 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11559
11560         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11561         Include <string.h> instead of <strings.h>.
11562
11563         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11564         (actually, a lot more duplicate includes occur if
11565          you trace through the sequence of #include's)
11566         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11567         
11568 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11569
11570         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11571         gtk-a-higuti-990322-[0-3]
11572
11573         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11574         that was causing -DX_LOCALE not to work.
11575
11576         * gtk/gtkrc.c (gtk_rc_init):
11577         X_LOCALE will never have LC_MESSAGES defined
11578
11579 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11580
11581         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11582         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11583
11584         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11585         left/right as well (gtk-michael-980726-0.patch.gz).
11586
11587         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11588         for pointer values, use gchar instead of char. fixed uline allocation
11589         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11590         chunks instead of G_ALLOC_ONLY.
11591         (gtk_label_size_request): always alter requisition as passed and leave
11592         widget->requisition alone.
11593         (gtk_label_set_text): allow NULL strings.
11594         (gtk_label_new): likewise.
11595
11596 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11597
11598         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11599
11600 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11601
11602         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11603         *and* mapped (i.e. drawable).
11604         (gtk_bin_expose): only send exposes to drawable children.
11605
11606         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11607         (gtk_box_expose): only send exposes to drawable children.
11608
11609         * gtk/gtkhscale.c (gtk_hscale_draw): 
11610         * gtk/gtkvscale.c (gtk_vscale_draw):
11611         hm, this is an ugly one. we first compute the size of our trough area
11612         here (window relative) and then check intersection with the draw_area
11613         which is parent relative because we're a NO_WINDOW widget, so we need
11614         to offset the trough area by allocation.x and allocation.y before the
11615         check. (this must not be done for the background area though, since
11616         that's already computed parent relative).
11617
11618 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11619
11620         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11621         unrealize title buttons.
11622
11623 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11624
11625         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11626         (gtk_clist_column_title_active): 
11627         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11628
11629         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11630         zero initialize event, removed superfluous gdk_window_get_pointer call
11631
11632         * gtk/gtklist.c (gtk_list_vertical_timeout)
11633         (gtk_list_horizontal_timeout): removed superfluous
11634         gdk_window_get_pointer call
11635
11636 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11637
11638         * plugging problems reported by "Bruce Mitchener, Jr."
11639         <bruce@puremagic.com> due to a purify session.
11640
11641         * gtk/gtkstyle.c:
11642         (gtk_style_ref): 
11643         (gtk_style_unref): assert ref_count to be > 0.
11644
11645         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11646         the requisition.
11647         (gtk_clist_set_shift): likewise.
11648
11649         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11650         adjustments.
11651
11652         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11653         event before sending it and set send_event to TRUE (which needs to
11654         be done for *all* synthesized events).
11655         (gtk_list_vertical_timeout): likewise.
11656
11657         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11658         leaks.
11659
11660         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11661         to TRUE when synthesizing events.
11662
11663 [ *** end of merges from 1.2 *** ]      
11664         
11665 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11666
11667         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11668         (or copied from gdkconfig.h.win32 on Win32, sigh).
11669
11670         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11671
11672         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11673
11674         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11675
11676         * gdk/gdkconfig.h.win32: New file.
11677
11678         * gdk/win32/makefile.cygwin: Build just a static archive here.
11679
11680         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11681         for the DLL from the static archive built above.
11682
11683         * gdk/gdk.def: Moved here from the win32 subdirectory.
11684
11685         * gdk/win32/*: Adapt for the changed private struct organisation.
11686
11687         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11688
11689 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11690
11691         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11692         for wheel mice (buttons 4 and 5).
11693
11694 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11695
11696         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11697         drawables use just the pixel field in the foreground and
11698         background GdkColor of the GdkGC.
11699
11700         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11701         GdkColors containing uninitialized (red,green,blue) fields, and
11702         just the pixel field filled in, and furthermore in the
11703         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11704         It thus turns out that we really don't need to have the full
11705         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11706         it later to have just the pixel values.
11707
11708 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11709
11710         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11711
11712 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11713
11714         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11715         New question on GtkLabel background colors.
11716
11717         * docs/gtk_tut.sgml:
11718           - Correct the example code callback
11719             function definitions.
11720           - Update the gtkdial example code, from Frans van Schaik.
11721           - Update setselection.c to current API.
11722
11723         * examples/Makefile examples/*/*.c: Update to code
11724         listed in tutorial.
11725
11726 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11727
11728         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11729         subrange table (from the "Developing International Software for
11730         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11731         block... Get the loaded font's charset correctly.
11732
11733         (Note that this, and the other *-win32.c files, still really are
11734         the old ones, the win32 subdirectory is not ready for compilation
11735         yet after the reorg.)
11736
11737 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11738
11739         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11740         check.
11741
11742 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11743
11744         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11745         on results of XQueryDeviceState().
11746
11747 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11748
11749         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11750         we need to accesss only ->children. We need an accessor
11751         for the children.
11752
11753         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11754         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11755         to get rid of gdkx.h include.
11756         
11757         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11758         and random references to 'None'.
11759
11760         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11761         Get rid of unused #include <gdk/gdkx.h>
11762
11763         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11764         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11765         gdkconfig.h.
11766
11767 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11768
11769         * gdk/win32/gdkdraw.c
11770         * gdk/win32/gdkfont.c
11771         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11772         following yesterday's changes. (Unrelated to Owen's reorg.)
11773
11774 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11775
11776         * gdk/x11/gdkinput-gxi.c: Add missing include,
11777           fix GdkWindowPrivate => GdkDrawablePrivate.
11778
11779         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11780
11781         * gdk/x11/Makefile.am (xinput_sources): Add missing
11782         backslash to fix building with --with-xinput=none
11783
11784 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11785
11786         Move all X specific code into the x11/ directory.
11787         Aside from shuffling things around, did the following:
11788
11789        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11790          gdk_arg_context_* - a simple argument parsing system
11791          in the style of popt.
11792
11793        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11794          gdk/x11/gdkprivate-x11.h:
11795          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11796          add ->klass and ->klass_data fields. The klass_data
11797          field points to an auxilliary structure that is
11798          windowing system dependent.
11799
11800        * gdk/gdkfont.c: Make most of the measurement functions
11801          simply wrappers around gdk_text_extents().
11802
11803        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11804          _gdk_font_strlen() function that hides the weird
11805          behavior in gtk+-1.[02] where a string is interpreted
11806          differently for 8-bit and 16-bit fonts.
11807
11808        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11809          to store common code for synthesizing double/triple
11810          press events.
11811         
11812        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11813          Make all the function that modify an existing GC
11814          simply wrappers around gdk_gc_set_values().
11815          
11816        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11817          for throwing out later.
11818
11819        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11820          GdkImagePrivate and GdkColormapPrivate to have a
11821          windowing system dependent part (GdkFontPrivateX etc.)
11822          that "derives" from the system-independent part.
11823
11824        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11825          Got rid of the included-source-files for XInput in
11826          favor of automake conditionals. (Which didn't exist
11827          when XInput support was originally added.)
11828
11829        * gdk/gdkrgb.c: Remove the visual id from the debugging
11830          statements since that is X11 specific; print out
11831          type/depth info instead.
11832          
11833
11834 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11835
11836         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11837         loading duplicates of hashed fonts.
11838
11839         * gdk/gdk.c (gdk_keysym_convert_case): rename
11840         gdk_XConvertCase to gdk_keysym_convert_case, allow
11841         results to be NULL in the GTK+ style.
11842
11843         * gdk/gdkcompat.h: Started compatibility header
11844         for renames.
11845
11846 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11847
11848         * gdk/win32/gdkprivate.h: New font private structures, related to
11849         fontsets.
11850
11851         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11852         gdk_font_list_free(). On X11, will just be wrappers to
11853         XListFonts() and XFreeFontNames(). On Win32, the code previously
11854         in gtkfontsel.c is now here.
11855
11856         New function gdk_font_xlfd_create(). On X11 will get the FONT
11857         property of the font (for GDK_FONT_FONTs), or call
11858         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11859         builds a XLFD style name from the font information in the LOGFONT
11860         struct(s).
11861
11862         New function gdk_font_xlfd_free(), which correspondingly frees the
11863         string returned by gdk_font_xlfd_create().
11864
11865         Implement fontsets on Win32. Add a function that iterates over a
11866         wide char string and calls a callback function for each substring
11867         of wide chars from the same Unicode subrange (and thus probably
11868         available in the same real font).
11869
11870         Improve the XLFD emulation a bit.
11871
11872         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11873
11874         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11875         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11876         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11877         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11878         ImmGetCompositionStringW() to get the composed Unicode chars.
11879
11880         * gdk/win32/gdkgc.c
11881         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11882         struct changes.
11883
11884         * gdk/win32/gdk.def: Add the new functions.
11885
11886 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11887
11888         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11889         get the Platform SDK to get <dimm.h>.
11890
11891         * gdk/win32/gdkevents.c: More event handling fixes and
11892         simplification. Never generate motion events with is_hint true. We
11893         used to do that on bogus grounds earlier. Windows sends
11894         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11895         moved, ignore these.
11896
11897         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11898
11899         * gdk/win32/gdkglobals.c
11900         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11901         the TrackMouseEvent function, and use it.
11902
11903         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11904         char before calling WideCharToMultiByte in order to get a string
11905         for the window title.
11906
11907         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11908
11909         * gdk/win32/gdk.def: Remove obsolete functions.
11910
11911         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11912         /nodefaultlib and /defaultlib switches.
11913
11914         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11915
11916 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11917
11918         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11919         EuroSign).
11920
11921         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11922         same type as GdkWChar, especially on Win32.
11923
11924         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11925
11926         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11927         before passing to Windows GDI for drawing etc. Convert to the
11928         system default codepage before passing to Windows as window
11929         titles.
11930
11931         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11932         support changing input locale on the fly.
11933
11934         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11935         on-the-fly changes. Convert incoming characters from the current
11936         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11937         on the current input language. Use keysym<->Unicode mapping tables
11938         and functions borrowed from xterm sources.
11939
11940         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11941         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11942         Manager) if available. IMEs and the Active IMM are available under
11943         the disguise of Chinese, Korean and Japanese support for IE and
11944         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11945         support is present in all editions (as long as you install it).
11946
11947         Call DispatchMessage from gdk_events_queue() (and thus
11948         gdk_WindowProc()), instead of duplicating the code in
11949         gdk_WindowProc().
11950
11951         Reworked the grab handling and propagation code, factored out
11952         duplicated code snippets into separate functions. Other cleanups,
11953         too.
11954
11955         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11956         the <dimm.h> header describing the Active IMM.
11957
11958         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11959         just do the same as for "single" fonts.
11960
11961         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11962         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11963         the new keysyms from gdkkeysyms.h.
11964
11965         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11966         fontset, so that gtkentry uses wide characters.
11967
11968         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11969         GTk+'s system directory "gtk+", not "gtk".
11970
11971 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11972
11973         * docs/gtkfaq.sgml: FAQ update
11974
11975 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11976
11977         * gdk/win32/gdkprivate.h: Add more font private data.
11978
11979         * gdk/win32/gdkfont.c
11980         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11981         fonts and strings. Now works much better. You still have to
11982         have a correct font selected, though. No fontset emulation yet.
11983
11984 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11985
11986         * gtk/maketypes.awk: Use G_OS_WIN32.
11987
11988         * gtk/gtk.def: Add some missing entry points. Also some non-public
11989         ones, but PyGTK porter claims to need them.
11990
11991         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11992         built-in type generation.
11993
11994 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11995
11996         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11997         GDK_FONT_FONT fonts (which is all we have for now, we don't
11998         emulate fontsets). The X11 version uses plain XDrawString in that
11999         case, too. The string passed to gdk_draw_text_wc seems to be in
12000         fact (at least, when used by gtkentry and gtktext) either in a
12001         single-byte charset, or a DBCS. Not Unicode.
12002
12003         This fixes the problem in gtkfontsel, where even if you had
12004         selected a font with a non-Latin1 charset (windows-greek, for
12005         instance), the preview still used Latin-1 glyphs.
12006
12007         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12008         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12009         (gdk_font_load): Recognize the demibold etc weights, even if we
12010         don't have the corresponding constants in the headers.
12011         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12012         version. Should save font resources a bit, when we don't have
12013         multiple HFONTs for the same font.
12014
12015         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12016         version.
12017
12018 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12019
12020         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12021         X values
12022
12023 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12024
12025         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12026         layout support (as mentioned on
12027         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12028
12029 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12030
12031         * gtk/fnmatch.c
12032         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12033
12034 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12035
12036         * configure.in (ALL_LINGUAS): Added Galician (gl)
12037
12038 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12039
12040         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12041
12042         * gdk/win32/gdkcompat.c: New file, actually provide an
12043         implementation for the deprecated functions. (Just temporarily.)
12044
12045         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12046
12047         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12048
12049         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12050
12051 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12052
12053         * configure.in: Added "uk" to ALL_LINGUAS.
12054         
12055 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12056
12057         * configure.in: correct checking for BeOS check
12058
12059         * gdk/gdktypes.h
12060         * gtk/fnmatch.c
12061         * gtk/gtkfilesel.c
12062         * gtk/gtkitemfactory.c
12063         * gtk/gtkmain.[ch]
12064         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12065
12066 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12067
12068         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12069         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12070         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12071         by Bulgarian). 
12072
12073 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12074
12075         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12076         Fix a reference to window_private->destroyed.   
12077
12078         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12079         (ugly) setting of an internal GdkWindow member to use
12080         a _slightly_ cleaner macro.
12081
12082         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12083         GdkDrawablePrivate and GdkWindowPrivate.
12084         Add extra macros for accessing GDK_DRAWABLE_ components.
12085
12086         * *.[ch]: Massive adjustments for the above, use the
12087         new macros in a lot of places.
12088
12089 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12090
12091         * gdk/gdktypes.h: Make GdkDrawable the base type,
12092         not GdkWindow.
12093
12094 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12095
12096         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12097
12098 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12099
12100         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12101
12102 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12103
12104         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12105         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12106
12107         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12108
12109         * docs/gtk-config.1: Now autogenerated.
12110         * docs/Changes-1.4.txt: started
12111         
12112 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12113
12114         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12115         to #ifdef also here.
12116
12117         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12118         Owen did to the X11 backend.
12119
12120         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12121         ScrollWindowEx when blitting inside a window, it can't be correct
12122         in the general case.
12123
12124         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12125         WM_GETMINMAXINFO is easier.
12126
12127         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12128         depth equal to the bitspixel value, not the visual's depth.
12129
12130         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12131         to 24 even if the bitspixel value is 32.
12132
12133         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12134         need to check for depth==32 when bpp==32, depth will always be 24.
12135
12136 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12137
12138         * docs/Changes-1.4.txt: Started
12139         
12140         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12141
12142         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12143         
12144         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12145         into C file.
12146         
12147         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12148         header to gdkinputprivate.h.
12149
12150         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12151         unused since before 1.2.
12152
12153 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12154
12155         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12156         expand possible hex escapes in the font family (put there by
12157         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12158         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12159         On Win32, add hex escapes here, too.
12160
12161 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12162
12163         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12164         to #ifdef GDK_WINDOWING_X11.
12165
12166 [ Merges from gtk-1-2 ]
12167
12168 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12169
12170         * configure.in: fixed "GNU Make" check to pass with new make version
12171         3.77.95.
12172
12173 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12174
12175         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12176         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12177         AM_PATH_GTK() macros don't get confused by the -pre1.
12178
12179 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12180
12181         * configure.in (REBUILD): Change check for perl5
12182           to check explicitely for v >= 5.002. (5.001
12183           does not work with our scripts.)
12184
12185 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12186
12187         * configure.in: evaluate $PERL for the perl version check. added
12188         --disable-rebuilds to give the user an option to completely disable
12189         any source autogeneration rules.
12190
12191 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12192
12193         * configure.in: evaluate $ac_make when checking for GNU Make.
12194
12195 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12196
12197         * docs/Makefile.am: added generation.txt.
12198
12199         * Makefile.am: require automake 1.4, build README from README.in and
12200         INSTALL from INSTALL.in in dist-hook.
12201         
12202         * README.in:
12203         * INSTALL.in: new files to autogenerate README and INSTALL from.
12204
12205         * configure.in: figure whether we have GNU Make
12206
12207         * docs/generation.txt: minor additions/corrections.
12208
12209 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12210
12211         * docs/gtkfaq.sgml: FAQ Update
12212
12213 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12214         
12215         * configure.in: Fix autoconf warnings about cross compilation by
12216         trying to provide sane defaults for AC_TRY_RUN.
12217
12218 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12219
12220         * ltconfig
12221         * ltmain.sh: upgrade to libtool 1.3.3
12222
12223 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12224
12225         * INSTALL: Indicate that the --with-glib= configure
12226         time flag is unsupported.
12227
12228 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12229
12230         * docs/generation.txt: Added a file that gives
12231         documenation about the autogeneration process for
12232         various autogenerated files.
12233         
12234 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12235
12236         * configure.in (LIBS): Look for libgmodule in the
12237         right location.
12238
12239 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12240
12241         * docs/gtk_tut.sgml: Removed references to
12242         code examples in my directory on gtk.org as
12243         they should all be in the tutorial now.
12244
12245         * docs/gtk_tut.sgml: Added sources for dial-test
12246         and scribble-xinput programs that were previously
12247         missing.
12248
12249 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12250
12251         * TODO: Added entry about menu keyboard navigation, removed
12252         some finished items.
12253
12254 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12255
12256         * acinclude.m4: Standardize on func_dgettext
12257         not func_gettext, so that the checks for dgettext
12258         actually are paid attention to.
12259
12260 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12261
12262         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12263         directly, rather than repeating the checks for
12264         gettext.
12265
12266         * INSTALL: Added information about gettext and
12267         NLS support.
12268
12269         * acinclude.m4 (LIBM): Check for dgettext, not
12270         just gettext. This should hopefully fix things wrt
12271         systems with old versions of GNU gettext installed.
12272
12273 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12274
12275         * configure.in (LIBS): Look for libgmodule in the
12276         right location.
12277
12278 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12279
12280         * autogen.sh: add --enable-maintainer-mode
12281
12282         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12283
12284 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12285
12286         * docs/gtk-config.1.in:
12287           docs/Makefile.am:
12288           configure.in: gtk-config is now generated.
12289
12290         * docs/gtk-config.1: Removed, now generated.
12291
12292 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12293
12294         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12295         handle CreateNotify itself, still put out a debuging message for
12296         --gdk-debug=events. made the ReparentNotify debugging message more
12297         verbose.
12298         wrap xcoords translation for ConfigureEvents into an error trap,
12299         a destroy event may already be pending, and in that case, the
12300         actuall coordinate values are not at all critical.
12301
12302 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12303
12304         * gdk/gdkcc.c: Stop leaking the color_hash all over
12305         the place. Simplify and improve the logic.
12306
12307 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12308
12309         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12310         for prototypes and function implementations consistent (reported
12311         by Tomas Ogren).
12312
12313 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12314
12315         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12316         send_event set in debugging output.
12317         (gdk_compress_exposures): default initialize the event so we don't
12318         operate on bogus values (namely send_event).
12319
12320 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12321
12322         * gdk/gdkwindow.c: When we receive an unexpected
12323         destroy notify on one of our windows, don't just
12324         warn about it, also mark our windows as destroyed.
12325
12326 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12327
12328         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12329           name => font and name => fontset hashes. The 
12330           name => fontset hash is a _big_ win since we
12331           weren't previously caching fontsets at all and loading
12332           fontsets is expensive. The name => font hash
12333           is less of a win, but it does save us from doing
12334           repeated XQueryFont calls on the same font.
12335
12336         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12337           list so we can remove font/fontset from hash.
12338
12339 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12340
12341         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12342           and slightly confusing test. [ XInternAtom (,,TRUE)
12343           will never return None ].
12344
12345 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12346
12347         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12348           gdk/gdkwindow.c (gdk_window_set_hints):
12349
12350         Don't omit setting the properties if flags == 0 -
12351         there may be an existing set of properties there
12352         already. (Very old bug. Would it be better to
12353         delete the property instead?)
12354
12355         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12356           spelling error in comment.
12357
12358 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12359
12360         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12361           to avoid stomping over gdk_error_warnings.
12362
12363         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12364           as (bits_per_pixel + 7) / 8. This gives the same
12365           result as before for multiples of 8, but actually
12366           a "reasonable" value for 1bit or 4bit displays.
12367
12368 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12369
12370         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12371         GNU Make.
12372
12373 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12374
12375         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12376         discarding configure events.
12377
12378 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12379
12380         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12381         refcount is greater than zero.
12382
12383         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12384
12385         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12386
12387         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12388
12389         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12390
12391 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12392
12393         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12394         that format 32 => sizeof(item) == 4. It really is
12395         sizeof(long).
12396
12397 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12398
12399         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12400         core dump at all on X IO errors, only core dump
12401         if --enable-debug for X errors.
12402
12403 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12404
12405         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12406         unknown window:" message. disabled ConfigureNotify discarding code,
12407         because it led to events being processed out of order.
12408
12409 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12410
12411         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12412
12413         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12414         we export this function, supress error warnings and don't reset the
12415         error code in the first half of this function.
12416
12417         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12418         code (instead of just -1) so gdk_error_trap_pop() reveals something
12419         actually informative about the error that happened.
12420
12421         * gdk/*.c:
12422         don't rely on gdk_error_code being -1 if an error occoured, but just
12423         gdk_error_code != 0.
12424
12425 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12426
12427         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12428         pointer *before* invoking the filter function, so we at least don't
12429         crash if a filter is removed that is currently executed. window filters
12430         *really* need to be made truely reentrant at some point.
12431
12432 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12433
12434         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12435         PropertyNotify debug messages.
12436
12437 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12438         
12439         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12440         
12441         * gdk/gdkim.c: Fix cut-and-paste errors for 
12442         x/y and PreeditAttributes/StatusAttributes.
12443
12444 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12445
12446         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12447         G_MAXINT to 2^16 to alleviate overflow problems in
12448         various window managers.
12449
12450 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12451
12452         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12453         for fontsets.
12454
12455 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12456
12457         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12458         Initialize size_hints.x and size_hints.y because kwm
12459         brokenly pays attention to them.
12460         (Bug #1181 -  Lars Heete <hel@admin.de>)
12461
12462 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12463
12464         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12465         return value of gdk_list_visuals(). 
12466         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12467
12468 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12469
12470         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12471         XSetIMValues to (void *) when comparing to NULL, to workaround
12472         the problem of some compilers barfing since older X headers don't
12473         have the prototype for it.
12474
12475 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12476
12477         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12478         for pseudocolor where colormap->colors was double
12479         allocated.
12480
12481         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12482         color value in the hash table with the pixel filled
12483         in so when we do later hash table lookups, the color
12484         value is correct.
12485         
12486 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12487
12488         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12489         making the call
12490
12491 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12492
12493         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12494         pointed out by Morten Welinder <terra@diku.dk>.
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 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12502
12503         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12504           default filter from the list
12505
12506 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12507
12508         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12509
12510         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12511         g_strdup_printf instead of calcing the length separately
12512
12513 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12514
12515         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12516         that we don't do in many other places. (Fixing duplicate 
12517         #include of config.h)
12518
12519         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12520         Otherwise, #ifndef XINPUT_NONE check in the latter
12521         doesn't work. (Bug #546)
12522
12523 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12524
12525         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12526         "None" case insensitive.
12527
12528 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12529
12530         * gdk/gdkselection.c: 
12531         Add error traps so if the other end of the connection
12532         dies, we survive.
12533
12534 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12535
12536         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12537         dest_xid field into two fields - one for the window
12538         to send in messages, one to indicate the last looked
12539         up window for caching purposes. This is needed, so
12540         that Leave messages get the correct window.
12541
12542 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12543
12544         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12545         Fix warning created by people mucking around
12546         with the gsource API.
12547
12548         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12549         Change mapping between GIOCondition and GdkInputCondition
12550         to match the way the Linux kernel does it. This should
12551         fix problems where closed pipes were no longer signalling
12552         GDK_INPUT_READ on systems with a native poll().
12553
12554 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12555
12556         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12557         explicitly for the string "None" - it is in the XPM
12558         spec and some servers treat unknown colors in odd ways
12559         (like asking the user!)
12560
12561 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12562
12563         * gdk/gdkevents.c: made "->" into a "." of previous change so
12564         it compiles
12565
12566 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12567
12568         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12569         window field of the event structure before calling
12570         user filters.
12571
12572 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12573
12574         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12575         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12576
12577 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12578
12579         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12580         intermediate text property - prevents major memory
12581         leak when gdk_use_mb.
12582         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12583
12584 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12585
12586         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12587         gtk-a-higuti-990322-[0-3]
12588
12589         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12590         sizeof(wchar_t) != sizeof (GdkWChar)
12591
12592         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12593         that was causing -DX_LOCALE not to work.
12594
12595         * gtk/gtkrc.c (gtk_rc_init):
12596         X_LOCALE will never have LC_MESSAGES defined
12597
12598         * gdk/gdk.c (gdk_init_check):
12599         Remove --xim-preedit and --xim-status from argv properly.
12600
12601         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12602         that the client window is present on the X server
12603         before we pass it to the input method.
12604
12605 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12606
12607         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12608         if --display is specified on the command line, than
12609         the drag window will not be created on that display.
12610         
12611 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12612
12613         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12614         lookups with only_if_exists == TRUE were inserting
12615         bogus values into the atom cache.
12616
12617 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12618
12619         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12620         then reset it to NULL.
12621
12622         * gdk/gdkcolor.c:
12623         (gdk_colors_free): 
12624         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12625         key for g_hash_table_remove() in both functions, this prevents us
12626         from accessing possibly uninitialized portions of a GdkColor structure
12627         where we are only interested in its pixel value.
12628
12629 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12630
12631         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12632         font hash table, if we have a GdkFontPrivate entry for this font
12633         already, simply increment its reference count, provided by Olaf Dietsche
12634         <olaf.dietsche+list.gtk@netcologne.de>.
12635
12636 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12637
12638         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12639         just to be sure.
12640
12641         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12642         unused variables, leftovers from the X11 version.
12643
12644         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12645
12646         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12647         downcase fields on X11.
12648
12649 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12650         
12651         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12652         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12653
12654 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12655
12656         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12657
12658         * gtk/makefile.msc: Correct path to libintl.
12659
12660         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12661         use of gint vs. int, and gint vs. gboolean in headers and
12662         definitions. Use GtkType for the *_get_type functions. Note that
12663         these changes preserve binary compatibility.
12664
12665         * gdk/gdk.c
12666         * gdk/win32/gdk.c
12667         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12668
12669         * gtk/gtkmain.c
12670         * gtk/gtkclist.c
12671         * gtk/gtkmenufactory.c
12672         * gtk/gtknotebook.c
12673         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12674         vs. gboolean.
12675
12676         * gtk/gtkcolorsel.[ch]
12677         * gtk/gtkcombo.[ch]
12678         * gtk/gtkdrawingarea.[ch]
12679         * gtk/gtkgamma.[ch]
12680         * gtk/gtkhandlebox.[ch]
12681         * gtk/gtkhpaned.[ch]
12682         * gtk/gtkhruler.[ch]
12683         * gtk/gtkplug.[ch]
12684         * gtk/gtkpreview.[ch]
12685         * gtk/gtkruler.[ch]
12686         * gtk/gtksocket.[ch]
12687         * gtk/gtkstatusbar.[ch]
12688         * gtk/gtktoolbar.[ch]
12689         * gtk/gtkvbbox.[ch]
12690         * gtk/gtkvpaned.[ch]
12691         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12692         functions.
12693
12694         * gtk/gtkgamma.h: Fix bug, missing () in call of
12695         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12696
12697 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12698
12699         * gdk/gdkcolor.c (gdk_colormap_new)
12700         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12701         colormap->colors was allocated twice.
12702
12703         * gdk/win32/gdk.c: Remove some unused stuff.
12704
12705         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12706         colormap.
12707
12708         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12709         * gtk/gtklabel.h (gtk_label_get_type)
12710         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12711         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12712         in a couple of places, not guint.
12713
12714 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12715
12716         * configure.in,po/et.po: added Estonian language file
12717
12718 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12719
12720         * configure.in,po/da.po: added Danish file
12721
12722 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12723
12724         * docs/gtkfaq.sgml: Minor FAQ Update
12725
12726 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12727
12728         * docs/gtkfaq.sgml: FAQ update
12729
12730 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12731
12732         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12733         way to get window contents continually refreshed while resizing. I
12734         didn't like the effects myself, so it's not on by default.
12735
12736         * gdk/win32/gdkprivate.h: New flag variable
12737         gdk_event_func_from_window_proc, FALSE by default.
12738
12739         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12740         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12741         are passed --gdk-event-func-from-window-proc.
12742
12743         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12744         and we have am event_func, call it instead of enqueing the event.
12745
12746 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12747
12748         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12749         Kelley: Set expose_count in GdkEventExposes correctly.
12750
12751         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12752         MULTIPLE_WINDOW_CLASSES).
12753
12754         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12755         for bug in NT, apparently NT *does* draw the end pixel, too, in
12756         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12757
12758 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12759
12760         Improvements by Hans Breuer: 
12761
12762         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12763
12764         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12765         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12766         window contents while dragging" is turned on. Allocate at least
12767         one unique class for every GdkWindowType. If support for single
12768         window-specific icons is ever needed (eg. Dialog specific), every
12769         such window should get its own class.
12770
12771 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12772
12773         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12774         error that caused crashes.
12775
12776 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12777
12778         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12779         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12780         bugs when for instance part of the window was outside the
12781         display. Thanks to Philippe Colantoni for finding and fixing this.
12782
12783 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12784
12785         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12786         endpoint calculations which were totally wrong. (A little RTFMing
12787         helps a lot ;-)
12788
12789         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12790         from a separate directory, not from gettext, because of licensing
12791         issues (we want to use the LGPL version).
12792
12793         * README.win32: Mention the intl from glibc vs from gettext issue.
12794
12795 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12796
12797         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12798         in the key event handling: Now AltGr chars work again. Also,
12799         now Alt-digits are passed up as well as Control-digits.
12800         Pass keypad plus and minus as normal plus and minus.
12801
12802 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12803
12804         * docs/gtkfaq.sgml: FAQ Update
12805
12806 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12807
12808         * README.win32
12809         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12810         the Wintab SDK.
12811
12812         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12813         OK, but getting closer. Guard against bogus tilt data from Wacom
12814         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12815         enable easier building without Wintab.
12816
12817         * gdk/win32/gdkinput.h
12818         * gdk/win32/gdkevents.c 
12819         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12820         
12821         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12822         code. As we have just one visual on Win32, no sense to have it in a
12823         table, and no need for the hash table.
12824
12825         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12826         better on white background.
12827
12828 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12829
12830         * README.win32: Update gcc build instructions. Mention gettext is
12831         GPL.
12832
12833         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12834         supported cursor size with GetSystemMetrics.
12835
12836         * gdk/win32/gdkfont.c
12837         * gtk/gtkfontsel.c: Guard against some font weight and charset
12838         symbols being undefined (in mingw32 headers).
12839
12840         * gdk/win32/makefile.cygwin
12841         * gtk/makefile.cygwin
12842         * gtk/gtkthemes.c: No longer need to have differently named
12843         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12844
12845 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12846
12847         * docs/gtkfaq.sgml: Long awaited FAQ update.
12848
12849 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12850
12851         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12852         it. Obscure bit manipulation needed.
12853
12854         * gdk/win32/gdkevents.c: Logging.
12855         
12856         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12857         style (file name include compiler name) for theme engines.
12858
12859 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12860
12861         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12862
12863         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12864         events. The key.string wasn't zero-terminated, still we strdup'ed
12865         it in gdk_event_copy(). Synthesize crossing events for button
12866         events before possible propagation.
12867
12868         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12869
12870         * gdk/win32/makefile.cygwin
12871         * gtk/makefile.cygwin: Use new DLL naming style for the
12872         GCC-compiled ones.
12873
12874         * gdk/win32/makefile.msc
12875         * gtk/makefile.msc: Cosmetics mostly.
12876
12877         * gtk/gtk.def: Add missing entry points.
12878
12879         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12880
12881 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12882
12883         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12884         or height is zero. Don't print a warning if Pie or Arc fails, they
12885         always fail (?) for very narrow ellipses.
12886
12887         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12888         the part or the destination window corresponding to source area
12889         outside of the source drawable's boundary.
12890
12891         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12892         anything if less than two points.
12893
12894         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12895         return NULL. Gtk cut-and-paste inside a single program works
12896         better this way. (It always gets the clipboard contents from
12897         Windows, not from its own copy, which is cleared anyway. I can't
12898         say I fully understand what happens... Emulating the X selection
12899         and property stuff is a bit of a mess.)
12900
12901         * gdk/win32/gdkevents.c
12902         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12903
12904         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12905         that never got deleted). Revamp gdk_region_shrink.
12906
12907         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12908         after use.
12909
12910         * gtk/gtk.def: Add some missing entry points.
12911
12912         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12913         component.
12914
12915 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12916
12917         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12918         Control-digits specially.
12919
12920 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12921
12922         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12923
12924 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12925
12926         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12927         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12928         finding this.)
12929
12930 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12931
12932         * gtk+.spec.in: Corrected some typos in files section.
12933         
12934 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12935
12936         * README.win32: Mention using GNU gettext.
12937         * config.h.win32: Enable NLS stuff.
12938         * gtk/makefile.msc: Use GNU gettext.
12939         * gdk/win32/gdkdnd.c: Minor header reorg.
12940         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12941         cosmetics.
12942         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12943         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12944
12945 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12946
12947         * acinclude.m4
12948         * config.guess
12949         * config.status
12950         * ltconfig
12951         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12952
12953 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12954
12955         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12956         SafeAdjustWindowRectEx. Don't override all calls to
12957         AdjustWindowRectEx by it, but use it only in two places: When
12958         creating a new top-level window and when moving a top-level
12959         window.
12960
12961         Use screen coordinate rectangle, not client rectangle, in
12962         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12963         when we try to place a window so that the decoration (mainly,
12964         title bar) isn't visible.
12965
12966         These changes fix the bug that showed up for instance as the
12967         GIMP's saved top-level windows moving right and down (by an amount
12968         equal to the window decoration) for each session. This bug showed
12969         up also in testgtk's "Saved Position".
12970
12971         gdk_window_resize also redone a bit.
12972
12973 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12974
12975         * gtk/testgtkrc: Add (commented out) Windows-style theme
12976         include line.
12977
12978         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12979
12980 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12981
12982         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12983         gdkx.h to a gdk subdirectory, so that applications can include
12984         these with <gdk/*.h> without trouble.
12985
12986         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12987         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12988         have their bitmap destroyed.
12989
12990         * gdk/win32/gdk.def: Add gdk_root_parent.
12991
12992 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12993
12994         * configure.in
12995           gtk-config.in
12996           ltconfig
12997           ltmain.sh     
12998           gtk/Makefile.am: changes to compile nicely (with xlib) 
12999           on BeOS
13000
13001 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13002
13003         * acinclude.m4
13004         * config.guess
13005         * config.sub
13006         * ltconfig
13007         * ltmain.sh: upgrade to libtool 1.3
13008
13009 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13010
13011         * gtk/gtkclist.c:
13012         * gtk/gtkctree.c: merges from gtk-1-2
13013
13014 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13015
13016         Support added for building using a GNU toolchain on Win32,
13017         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13018
13019         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13020         * config.h.win32: Changes for gcc.
13021         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13022         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13023         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13024         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13025         Protect shl stuff unavaiilable with mingw32 headers.
13026         * gdk/win32/gdkevents.c: Fix typo.
13027         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13028         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13029         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13030         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13031         the mingw32 headers.
13032         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13033         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13034         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13035         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13036         Test for NATIVE_WIN32, not _MSC_VER.
13037         * gtk/gtkmain.c: No use warning about developer version on Win32,
13038         there aren't any non-developer versions anyhow.
13039         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13040         * gtk/makefile.msc: Use pthread from another directory. Minor other
13041         changes. 
13042
13043 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13044
13045         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13046           default filter from the list
13047
13048 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13049
13050         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13051          when gtk_widget_grab_default() is called for a widget that
13052          is not within a GtkWindow.
13053
13054 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13055
13056         * docs/gtk_tut.sgml, examples/clist.c: use a
13057           scrolled window in the clist example. Minor
13058           tutorial fixes.
13059
13060 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13061
13062         * docs/gtk_tut.sgml: Style check from David King
13063           <dking@youvegotmail.net>
13064
13065 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13066
13067         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13068         compile with unknown value of GDK_WINDOWING
13069
13070 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13071
13072         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13073         after the rule is fired.
13074         (install-exec-local): Install gdkconfig.h only if the contents are
13075         different from the currently installed gdkconfig.h.
13076
13077 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13078
13079         * gdk/Makefile.am (configexecincludedir): Rename from 
13080         configincludedir so that gdkconfig.h will be installed 
13081         as part of `make install-exec'. 
13082
13083 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13084
13085         * acinclude.m4
13086         * config.guess
13087         * config.sub
13088         * ltconfig
13089         * ltmain.sh: upgrade to libtool 1.2f
13090
13091         * autogen.sh: libtool is not required to autogen gtk+
13092
13093         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13094         needed)
13095
13096 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13097
13098         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13099         declaring gdk variables exported/imported from the DLL. New image
13100         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13101         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13102         GDK_DRAG_PROTO_OLE2.
13103
13104         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13105         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13106         declared only for the Win32 version, but could be in the X11
13107         version as well. (Needed for a Xlib-less gdk_imlib.)
13108         gdk_color_hash should have only one parameter. Declare
13109         gdk_threads_mutex with GDKVAR.
13110         
13111         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13112         just one parameter.
13113
13114         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13115         per pixel, not bits.
13116
13117         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13118         Fetch bpp (which means bits-per-pixel here) from another place on
13119         Win32. Accept also depth==32 (which we might get on Win32) with
13120         bpp==32.
13121
13122         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13123         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13124         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13125         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13126         in the backend-dependent directory, not in the common gdk
13127         directory.
13128
13129         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13130         headers.
13131
13132 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13133
13134         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13135         want to use the Gtk+ devel version (which is true, and yes - even i am
13136         currently working with the 1.2.x branch). so everyone reading this, you
13137         probably want to issue
13138         cvs checkout -r glib-1-2 glib
13139         and
13140         cvs checkout -r gtk-1-2 gtk+
13141         as your next two comands.
13142
13143 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13144
13145         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13146         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13147
13148         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13149         file. strongly deprecated the GTK_HAVE_* macros, we provide
13150         GTK_CHECK_VERSION() for people that need to check for certain
13151         Gtk+ versions.
13152
13153         * gtk/gtkcompat.h: removed this from CVS.
13154         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13155         idea right from the start, it just didn't seem like that back then.
13156
13157 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13158
13159         * merges from gtk-1-2:
13160
13161 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13162
13163         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13164         item factory class has been created.
13165         (gtk_item_factory_parse_rc): likewise.
13166
13167         * gtk/gtkmenu.c:
13168         keep proper references for old_active_menu_item.
13169         (gtk_menu_reparent): unset the usize of the new parent,
13170         so the menu can sanely be size requested and we don't get nasty screen
13171         artefacts upon next reparentation.
13172         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13173         enter notify. only synthesize enter notifies if the pointer really is
13174         inside the event window.
13175         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13176         (gtk_menu_popup): move the background setting stuff into
13177         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13178
13179         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13180         gtk_menu_shell_select_item() to select the new item.
13181         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13182         do the right thing for deselection as well.
13183
13184 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13185
13186         * gtk/gtkwidget.[hc]:
13187         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13188         are locked.
13189
13190         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13191         existing accelerators if the widget's accelerators are locked.
13192
13193 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13194
13195         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13196
13197         * gtk/gtkmenu.c: truely forward key press and key release events to
13198         the menu widget from the toplevel or tearoff window. we can't simply
13199         connect to that, we need to stop further processing of the events as
13200         well.
13201
13202 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13203
13204         * gtk/gtkmenu.c:
13205         (gtk_menu_key_press): pass event->keyval, event->state to
13206         gtk_accelerator_valid, instead of event->keyval twice.
13207         refuse to install single letter accelerators for menus that use
13208         single letter shortcuts.
13209
13210         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13211         gtk_menu_ensure_uline_accel_group().
13212
13213         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13214         which will always return an uline accel group, made
13215         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13216         yet created.
13217
13218 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13219
13220         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13221
13222         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13223         Leave button sensitive, trap  button_press, button_release,
13224         motion_notify, enter_notify and leave_notify events instead.
13225         (gtk_clist_column_title_active): disconnect event handler.
13226         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13227         Guillaume Laurent <glaurent@worldnet.fr>
13228
13229 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13230
13231         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13232         width/height mixups.
13233
13234         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13235         if needed.
13236
13237 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13238
13239         * gtk/testgtk.c (create_item_factory): unref the item factory after
13240         window's destruction.
13241
13242         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13243         count on the menu shell around the menu item's activation, since the
13244         signal emission may cause menu shell destruction.
13245
13246         * gtk/gtkitemfactory.c:
13247         the previous code leaked one accel group per menu. we use
13248         gtk_menu_get_uline_accel_group() now to fix that, and with that
13249         also create the underline accelerator group of the menus only if
13250         required (i.e. an underline accelerator has been specified).
13251         (gtk_item_factory_construct):
13252         (gtk_item_factory_create_item): removed code that would create an
13253         extra accel group for the menu (and leak references).
13254         (gtk_item_factory_create_item): adapted the underline accelerator
13255         installation code to properly feature gtk_menu_get_uline_accel_group().
13256
13257         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13258         menu->accel_group, this may return NULL if the accelerator group
13259         hasn't been set yet.
13260         added gtk_menu_get_uline_accel_group() to retrive the underline
13261         accelerator group of the menu, this will be created on demand
13262         and proper care is taken about its reference count.
13263
13264         * gtk/gtkitemfactory.h:
13265         * gtk/gtkitemfactory.c:
13266         dumped the approach of keeping a widgets by action list on the
13267         factory since the factory<->widget destroy negotiation didn't work
13268         and would be hard to get going at all. instead we keep a list of
13269         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13270         persistant throughout a program's life time).
13271         also, i removed the static const gchar *key_* variables, and made
13272         them inline strings (they weren't actually used anyways).
13273         (gtk_item_factory_add_item): update ifactory->items.
13274         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13275         the item factory pointer from the remaining ifactory widgets).
13276         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13277         list to find the widget.
13278         (gtk_item_factory_get_item): new function that works around
13279         gtk_item_factory_get_widget() limitations, this function will only
13280         return menu items, even for <Branch> entries.
13281
13282 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13283
13284         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13285         font hash table, if we have a GdkFontPrivate entry for this font
13286         already, simply increment its reference count, provided by Olaf Dietsche
13287         <olaf.dietsche+list.gtk@netcologne.de>.
13288
13289         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13290         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13291
13292 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13293
13294         * gtk/gtkcontainer.c:
13295         (gtk_container_add_with_args):
13296         (gtk_container_addv):
13297         (gtk_container_add): before adding a child to a conatiner, make sure
13298         it is (default) constructed, this is neccessary because under certain
13299         circumstances the child will get relized and mapped immediatedly, in
13300         which case it has to be constructed already.
13301
13302 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13303
13304         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13305         values > 1 as TRUE also.
13306
13307 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13308
13309         * README.win32: New file.
13310                 
13311         * configure.in: Check for lstat.
13312
13313         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13314         completeness.
13315
13316         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13317
13318         * gtk/gtk.def: Removed CRs.
13319
13320         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13321         ..\gdk\win32).
13322
13323         * gdk/win32/makefile.msc: Correct upwards relative paths.
13324         
13325 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13326
13327         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13328           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13329           it was connecting a void function to expose_event and the int
13330           returning function to the draw signal
13331
13332 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13333
13334         * configure.in:
13335         Use correct path to libgmodule.la when ref'ing uninstalled copy
13336         of glib.  (Already in stable branch, Bug #417)
13337
13338 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13339
13340         Win32 merge and general portability stuff:
13341                 
13342         * acconfig.h,configure.in: Check for <sys/time.h>.
13343
13344         * gdk/win32: New directory (actually, been there for a while).
13345         
13346         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13347         NATIVE_WIN32, and use these. Always case fold on Win32. No
13348         backslashed escapes on native Win32.
13349
13350         * gtk/{gtk.def,makefile.msc}: New files.
13351
13352         * gtk/Makefile.am: Add above new files.
13353         
13354         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13355         instead of <strings.h>.
13356
13357         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13358         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13359         <unistd.h> appropriately.
13360
13361         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13362         Use ABS() (from <glib.h>) instead of abs().
13363         
13364         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13365         of gtk (and thus glib) headers, so that WIN32 will be
13366         defined. With MS C, include <direct.h> for mkdir prototype.
13367
13368         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13369         some casts, needed by MS C.
13370
13371         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13372         implemented).
13373
13374         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13375         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13376         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13377
13378         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13379                 
13380         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13381         the event is not a hint, or its window is not the slider. Needed
13382         on Win32, at least.
13383
13384         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13385         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13386         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13387         a subdirectory of the Windows directory as gtk system
13388         configuration directory.
13389
13390         * gtk/gtkselection.c: No chunks on Win32.
13391
13392         * gtk/gtksocket.c: Not implemented on Win32.
13393
13394         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13395
13396         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13397
13398         * gtk/maketypes.awk: Declare variables with a macro that expands to
13399         necessary export/import magic in the case of Win32.
13400                 
13401         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13402
13403 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13404
13405         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13406         since those were meant only for gdki18n.h.  
13407         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13408         for widechar tests.
13409         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13410
13411 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13412
13413         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13414         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13415
13416         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13417         installed) to CFLAGS.
13418
13419         * gdk/Makefile.am: Add rules for gdkconfig.h.
13420
13421         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13422         APIs.
13423
13424         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13425         gdkx.h anyway when compiling for X11.
13426         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13427         general): Merge in Win32 version.
13428         
13429         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13430         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13431         expansion (if we don't have HAVE_PWD_H), allow for drive
13432         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13433         included code from Craig Setera's port to Win32 (the one that uses
13434         X11, and the cygwin dll), even if it probably will be abandoned.
13435
13436         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13437         the user entered one herself.  This way one can complete *.h and
13438         don't get matches on any .help files, for instance.
13439         
13440 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13441
13442         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13443         font hash table, if we have a GdkFontPrivate entry for this font
13444         already, simply increment its reference count, provided by Olaf Dietsche
13445         <olaf.dietsche+list.gtk@netcologne.de>.
13446
13447         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13448         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13449
13450 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13451
13452         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13453         the number of calls to gdk_draw_point() (and thus to X) by
13454         clipping the points by hand.
13455
13456         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13457         the clip parameter.
13458         (gtk_handle_box_paint): Only paint the handle if the expose area
13459         intersects it.
13460
13461 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13462
13463         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13464
13465 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13466
13467         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13468         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13469
13470 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13471
13472         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13473          textmode (O_TEXT) for OS/2 version.
13474
13475 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13476
13477         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13478         GtkSpinButton, "input" and "output", to make the output more flexible.
13479         The user has to provide a mapping between adjustment->value and the
13480         output string (and vice versa, if the spin button is editable). 
13481         See testgtk for examples.
13482
13483 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13484
13485         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13486         new one.
13487         
13488         * configure.in: set gtk+ version to 1.3.0.