]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Switch to using an enum with registration for icon sizes, instead of
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-03-12  Havoc Pennington  <hp@redhat.com>
2
3         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
4         enum with registration for icon sizes, instead of strings.
5
6         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
7         gtkwidget.c: Fix to reflect GtkIconSize
8         
9 2001-03-12  Alexander Larsson  <alexl@redhat.com>
10
11         Make GtkFB compile and link.
12         
13         * gdk/linux-fb/gdkdrawable-fb2.c:
14         window->mapped to GDK_WINDOW_IS_MAPPED(). 
15         
16         * gdk/linux-fb/gdkwindow-fb.c:
17         window->mapped to GDK_WINDOW_IS_MAPPED(). 
18         Added gdk_window_shape_combine_region.
19         Added assorted placeholders for unimplemented new GdkWindow API calls.
20
21 2001-03-12  Alexander Larsson  <alexl@redhat.com>
22
23         * gtk/gtkfilesel.c:
24         Add more test when converting filenames from/to utf-8.
25         Don't allow entering text in the filename entry which isn't allowed in
26         a filename. Just beep instead.
27
28 2001-03-12  Alexander Larsson  <alexl@redhat.com>
29
30         * gtk/gtkclist.c:
31         Scroll using gdk_window_scroll(). Don't wait for exposes.
32         Move the column headers in an order that makes them flash less.
33
34 2001-03-10  Hans Breuer  <hans@breuer.org>
35
36         * gdk/gdk.def : updated
37
38         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
39         to offseting the clip_mask at the right place
40
41         * gdk/win32/gdkwindow-win32.c : don't create background brushes
42         for all the gdkClasses, especially not for the input_only case.
43         Otherwise flickering wont be avoidable, because we don't get
44         WM_ERASEBKGND message for these windows.
45
46         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
47         and fixed massive redraw problems apparently triggered by Alexanders 
48         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
49         but it seems to work quite well :-)
50
51         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
52         prototype
53
54 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
55
56         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
57         (gtk_list_store_set_cell): Fix a stupid typo.
58
59 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
60
61         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
62         select_all not work if you're in SINGLE mode (it doesn't make that
63         much sense, anyway.)
64
65         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
66         handle types more sanely.
67         (_gtk_tree_data_list_value_to_node): handle types more sanely.
68         (_gtk_tree_data_list_node_copy): handle types more sanely.
69
70         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
71         GValue better. Converts the type as well.
72
73         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
74         GValue better. Converts the type as well.
75
76 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
77
78         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
79         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
80         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
81         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
82
83         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
84         gdk_im/gdk_ic.
85
86 2001-03-09  Hans Breuer  <hans@breuer.org>
87
88         * gdk/gdk.def : updated
89
90         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
91         for their palette
92
93         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
94         removing
95
96         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
97         removing and implemented Havoc's GdkWindow state functions; 
98         stick/unstick only as no-op, cause I don't know how to emulate 
99         on win32 ...
100
101         * gtk/gtk.def : updated
102
103         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
104
105         * gtk/gtktypeutils.c : #include <string.h>
106
107         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
108
109 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
110
111         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
112         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
113         not a boxed.
114
115 2001-03-09  Alexander Larsson  <alexl@redhat.com>
116
117         * docs/Changes-2.0.txt:
118         Document expose event->region change and that gtk_widget_event
119         doesn't allow passing expose events.
120
121         * gdk/gdkevents.h:
122         Add region to expose event.
123         
124         * gdk/gdkevents.c:
125         Handle event->region in gdk_event_copy() and gdk_event_free().
126
127         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
128         Generate expose_event->region when creating expose events.
129
130         * gdk/x11/gdkevents-x11.c:
131         Generate expose events with regions when translating X events.
132
133         * gtk/gtkcontainer.[ch]:
134         Default expose handler that propagates expose events to NO_WINDOW
135         children. New function gtk_container_propagate_expose()
136
137         * gtk/gtkwidget.[ch]:
138         Moved gtk_widget_event implementation to gtk_widget_event_internal.
139         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
140         expose events. New function gtk_widget_send_expose() to send expose
141         events. New function gtk_widget_region_intersect() to calculate
142         window/region intersections.
143         
144         * gtk/gtkmain.c (gtk_main_do_event):
145         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
146         Use gtk_widget_send_expose() to send expose events.
147         
148         * gtk/gtkbin.c:
149         * gtk/gtkbox.c:
150         * gtk/gtkfixed.c:
151         * gtk/gtkimagemenuitem.c:
152         * gtk/gtklist.c:
153         * gtk/gtkpacker.c:
154         * gtk/gtktable.c:
155         * gtk/gtktree.c:
156         Remove expose handler, using the default container implementation
157         instead.
158         
159         * gtk/gtkbutton.c:
160         * gtk/gtkcheckbutton.c:
161         * gtk/gtkeventbox.c:
162         * gtk/gtkfixed.c:
163         * gtk/gtkhandlebox.c:
164         * gtk/gtklayout.c:
165         * gtk/gtklistitem.c:
166         * gtk/gtkmenu.c:
167         * gtk/gtkmenubar.c:
168         * gtk/gtkmenuitem.c:
169         * gtk/gtknotebook.c:
170         * gtk/gtkoptionmenu.c:
171         * gtk/gtkpaned.c:
172         * gtk/gtkscrolledwindow.c:
173         * gtk/gtktogglebutton.c:
174         * gtk/gtktoolbar.c:
175         * gtk/gtktreeitem.c:
176         * gtk/gtkviewport.c:
177         Chain expose handler to parent class handler. Use
178         gtk_container_propagate_expose() to propagate exposes.
179
180         * gtk/gtkclist.c (check_exposures):
181         * gtk/gtktext.c (process_exposes):
182         Use gtk_widget_send_expose instead of gtk_widget_event.
183
184 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
185
186         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
187
188 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
189
190         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
191         unref the nodes.   Fixes bug #50058.
192
193         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
194         "::ref_iter" to "::ref_node".
195         (gtk_tree_model_unref_node): change "::unref_iter" to
196         "::unref_node". Fixes bug #50064.
197
198 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
199
200         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
201         support for invisible cells.
202          (gtk_tree_view_bin_expose): ditto
203
204 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
205
206         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
207         on gobjects.
208
209         * tests/testtreefocus.c (main): New test file.
210
211         * tests/testtreeview.c: update to latest glib changes.
212
213         * tests/testtreecolumns.c: update to latest glib changes.
214
215 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
216
217         * gtk/testgtk.c: re-enabled event watcher emission hooks.
218
219 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
220
221         * *.c: added accumulator data argument to g_signal_newc()
222         functions.
223
224         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
225         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
226         * gtk/treestoretest.c (make_window):
227         s/g_signal_connect/g_signal_connectc/.
228
229         * gtk/gtktextbuffer.c: completed signal arg fixups,
230         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
231
232 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
233
234         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
235         G_CONST_RETURN.
236
237         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
238         ::hierarchy-changed signal when a widget changes
239         from anchored to unanchored or vice versa.
240         (anchored means 
241          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
242         Use a private flag to keep track of this efficiently.
243
244 2001-03-07  Havoc Pennington  <hp@redhat.com>
245
246         * gtk/testgtk.c (create_spins): uglify so that size request gets
247         tested.
248
249         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
250         request on values for upper/lower, completes #6152
251
252 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
253
254         * Makefile.am: Remove gtk-config-2.0 again.
255         (Grrrr, pkg-config. And stops make loops.)
256
257 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
258
259         * gtk/gtksignal.[hc]: removed old emission hook API.
260         
261         * docs/Changes-2.0.txt: fixed sections.
262         
263         * gtk/gtktextbuffer.c: signal arg fixups.
264
265 2001-03-07  Havoc Pennington  <hp@redhat.com>
266
267         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
268
269         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
270         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
271         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
272         validation and the redraw which is higher priority than the
273         validation.
274
275 2001-03-07  Havoc Pennington  <hp@redhat.com>
276
277         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
278         (gtk_entry_set_property): remove trailer
279
280         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
281         (gtk_entry_get_width_chars): new functions, to set size request to 
282         a given number of characters
283
284         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
285
286         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
287         (gtk_dialog_get_has_separator): new function
288         (run_delete_handler): fix to not emit "response" signal
289         because we already did in the delete event handler installed
290         at dialog creation time.
291         
292         * gtk/gtkdialog.h: add a has_separator property,
293         add GTK_DIALOG_NO_SEPARATOR flag
294
295 2001-03-07  Havoc Pennington  <hp@redhat.com>
296
297         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
298         off decorations for a window.
299
300         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
301         changes
302
303         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
304         to get location of PangoLayout inside the label, closes #51198
305
306         * gtk/testgtk.c (create_bbox): fix up button box usage
307
308         * gtk/testcalendar.c (create_calendar): fix up button box usage
309
310         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
311
312         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
313
314         * gtk/gtkhbbox.h: deprecations
315
316         * gtk/gtkvbbox.h: deprecations
317
318         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
319         emulate deprecated gtk_button_box_get_spacing
320
321         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
322         the "set global default" functions
323         (struct _GtkButtonBox): remove "spacing" field, use the one from 
324         GtkBox base class
325
326         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
327
328         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
329         render the icon, return the missing image icon.
330
331         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
332         image icon if the load fails.   
333
334         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
335         when no image is found; should be the Netscape "missing image"
336         icon eventually but for now is a random image
337
338         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
339         role for the session manager
340
341         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
342
343         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
344         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
345
346         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
347
348 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
349
350         * gtk/*.c: marshaller fixes.
351         
352         * gtk/gtkmarshal.list: extreme cleanup.
353
354         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
355         param spec for now.
356
357         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
358         where appliable.
359
360         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
361         special cased autogenerated boxed types from gtktypebuiltins_ids.c
362         which are not reference counted:
363         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
364         PangoFontDescription, GtkTreeIter and GtkTreePath.
365
366 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
367
368         * gtk/gtktreeselection.h: 
369         * gtk/gtktreemodel.c:
370         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
371         file should be included directly, and gobject/gmarshal.h
372         as well as gtk/gtkmarshal.h even can't be included directly.
373
374         * Makefile.am: grr, install gtk-config-2.0.
375
376         * gtk/testgtk.c:
377         * gtk/simple.c:
378         * gtk/gtkmenu.c:
379         * gtk/gtkitemfactory.c: use g_object_connect() instead of
380         passing "*signal*::*" args to gtk_widget_set().
381         
382         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
383         
384         * gtk/*.c: removed trailer arg from property setters and getters.
385         macro fixups.
386
387 2001-03-07  Alexander Larsson  <alexl@redhat.com>
388
389         * gtk/gtklabel.c (set_markup): Removed warning
390
391 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
392
393         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
394         field to allow you to hide cell renderers.
395
396         * gtk/gtkcellrenderer.c: Add support for invisible cells.
397
398         * gtk/gtktreeview.c: Add support for invisible cells.
399
400 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
401
402         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
403         Add "clicked" signal back to columns.
404
405         * ChangeLog: remove conflict markers.
406
407 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
408
409         * gtk/gtkbutton.c: Add animation of activation by, on 
410         activate, pressing the button, and adding a timeout that 
411         releases the button after 250ms or on key release and
412         emits ::clicked. (#51501)
413
414         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
415         action area, we connect to ::clicked instead of ::activate
416         so the dialog stays up through the animation.
417
418 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
419
420         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
421         check the ignore_enter flag for the menu shell that
422         the item is actually a child of, not for attached
423         submenus. (#51536)
424
425 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
426
427         * gtk/gtkmain.c (gtk_propagate_event): Only do special
428         special key-press grab handling for widgets within
429         GtkWindows. Otherwise, fall through to normal case.
430
431         This prevents key events being sent twice to GtkInvisible
432         widgets, which can cause all sorts of mischief.
433
434 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
435
436         * gtk/gtkmain.c (gtk_propagate_event): When a grab
437         widget is in effect, give the grab widget a first
438         crack at KEY_PRESS/RELEASE events. (#424)
439
440 2001-03-06  James Henstridge  <james@daa.com.au>
441
442         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
443         offset for the window_state_event to point at window_state_event
444         rather than no_expose_event.
445
446 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
447
448         * gtk/gtkimmodule.h: fix busted /* comment */
449
450 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
451
452         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
453         object properties.
454
455 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
456
457         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
458         add object properties.
459
460         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
461         to add object properties.
462
463         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
464         object properties.
465
466         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
467         add object properties.
468
469         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
470         object properties.
471
472 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
473
474         * gtk/gtktreemodel.c: renamed "child_toggled" to
475         "has_child_toggled".
476
477         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
478         handle new signal name.
479
480         * gtk/gtktreestore.c: Updated to handle new signal name.
481         * gtk/gtklisttore.c: Updated to handle new signal name.
482         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
483
484 2001-03-05  Alexander Larsson  <alexl@redhat.com>
485
486         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
487         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
488
489 2001-03-05  Michael Natterer  <mitch@gimp.org>
490
491         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
492         pixbuf-engine coincidentially also failed to make one of it's
493         parent_class pointers static, causing overwriting of GtkLabel's
494         parent_class pointer in pixbuf_style_class_init().
495         (Will commit the fix to the pixbuf-engine too).
496
497 2001-03-05  Alexander Larsson  <alexl@redhat.com>
498
499         * gdk/gdkwindow.h:
500         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
501         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
502         gdk_window_set_icon_list for net wmspec functionality.
503
504         * gdk/x11/gdkwindow-x11.c:
505         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
506         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
507         gdk_window_set_icon_list.
508         Added gdk_wmspec_change_state helper function and used it in the code.
509         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
510
511         * gtk/gtkdialog.c (gtk_dialog_init):
512         Set GDK_WINDOW_TYPE_HINT_DIALOG.
513
514         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
515         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
516
517         * gtk/gtkwindow.c:
518         new function gtk_window_set_type_hint.
519         On realize, set type hint and modal hint.
520
521         * gtk/gtkwindow.h:
522         Added type_hint field and gtk_window_set_type_hint.
523
524 2001-03-05  Alexander Larsson  <alexl@redhat.com>
525
526         * gtk/gtklabel.[ch]:
527         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
528         New function gtk_label_get_accel_keyval () to get the underline accelerator
529         of the label. Setting the label pattern overrides other attributes.
530
531 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
532
533         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
534         Added missing initializers to gtk_rc_style_init().
535
536 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
537
538         * gtk/gtktextview.c: fixed bug #51097 about setting 
539         gtk_text_view_set_border_window_size() if the widget is 
540         already realized.
541
542 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
543
544         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
545
546         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
547         comment. Won't do to have duplicated doc comments between
548         the platform subdirs.
549
550 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
551
552         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
553           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
554
555         Detectable auto-repeat - make a repeating key generate
556         press/press/press/release instead of press/release pairs.
557
558         If we have Xkb and XkbSetDectableAutoRepeat supports
559         that, we do it that way. Otherwise, when we get
560         a release event, we check ahead with XPending to see
561         if the next key is a KeyPress with the same keycode
562         and timestamp. (Not 100% reliable, but pretty close.)
563           
564 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
565         
566         * gtk/gtkmain.c (gtk_propagate_event): Only do special
567         special key-press grab handling for widgets within
568         GtkWindows. Otherwise, fall through to normal case.
569  
570         This prevents key events being sent twice to GtkInvisible
571         widgets, which can cause all sorts of mischief.
572  
573 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
574  
575         * gtk/gtkmain.c (gtk_propagate_event): When a grab
576         widget is in effect, give the grab widget a first
577         crack at KEY_PRESS/RELEASE events. (#424)
578  
579 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
580
581         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
582         to extend the selection. (Roughly based on patch
583         from Jay Cox, #50939)
584
585         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
586         to properly handle previous GDK_BUTTON_PRESS. 
587         (Patch from Jay Cox, #50938)
588
589         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
590         '\0' back along with the deleted text. (#51148)
591
592 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
593
594         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
595         the group when extracting it from the X keyboard event.
596
597         * modules/input/Makefile.am modules/input/imipa.c: 
598         Simple module for entering IPA. (Do we need a 
599         gtk-stupid-input-tricks CVS module?)
600
601 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
602
603         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
604         const.
605
606         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
607
608         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
609         is no focus widget for the dialog currently, grab the focus as well
610         as the default.
611
612         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
613         the action area's children to iterate through, not the
614         dialog's children.
615
616 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
617
618         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
619         Add plug-socket tests. (Won't work worth a darn until I commit
620         the rest of the plug-socket changes, but no reason these
621         can't go into CVS now.)
622
623 2001-03-02  Havoc Pennington  <hp@redhat.com>
624
625         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
626         _gdk_region_get_xrectangles()
627
628         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
629
630         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
631
632         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
633         function, contributed by Ron Steinke    
634
635         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
636         gdk_net_wm_supports
637
638         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
639         New function, contributed by Ron Steinke
640
641         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
642         used to line up the text in the entry when using the entry for
643         editable sheet cell hacks
644
645         * gtk/testgtk.c (create_entry): test the activate_default setting
646         on GtkEntry
647
648         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
649         cause the entry to activate the default button for a dialog when 
650         activated
651         (gtk_entry_get_activates_default): new function
652
653 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
654
655         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
656         Hwang to move call to sync_selection() up a few lines
657         to before the row list is modified, to fix crash when
658         removing rows in the undo_selection list.
659
660         (Test case provided by Daniel Elstner:
661
662         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
663
664 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
665
666         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
667         of tree->root_tree in parent_set rather than _map(), 
668         fixing #50892 in a bit better manner.
669
670 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
671
672         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
673
674 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
675
676         * gtk/gtkstyle.c : Remove duplicate fwd decl for
677         gtk_default_draw_shadow.
678
679 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
680
681         * gdk/gdkimage.c (gdk_image_new): Remove excess 
682         warning, make warnings more verbose, treat a error
683         in shmat as permanent, and don't try again.
684         (#51163, Ed Randall.)
685
686 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
687
688         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
689         delay for the first click before starting to scroll.
690         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
691
692         * gtk/gtktext.c: GtkText should have I-beam cursor. 
693         (based on gtk-enf-990513-1.patch, Eric Fisher.)
694
695 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
696
697         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
698         cleanup to remove some references to unused
699         ->xoffset, ->yoffset.
700
701 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
702
703         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
704         mask. (#51039, fix from Martin Maierhofer)
705
706 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
707
708         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
709         for unshifted + and shifted = for non-us keyboards.
710         Make <Control>+ and <Control>- work as well as 
711         <Control>KP_Plus, <Control>KP_Minus for recursive
712         open/close.  (#2682, René Seindal)
713
714 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
715
716         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
717         the active menu item before deactivating the menu,
718         so gtk_menu_popdown doesn't change the history. (#50964)
719         
720 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
721
722         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
723         draw lines with text_gc rather than black_gc.
724         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
725
726 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
727
728         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
729         Move handling of buttons fully in gtktreeviewcolumn.  This code is
730         less interrelated then it was, but it still requires the
731         GtkTreeView to map it.
732
733         * test/testtreecolumn.c: Now I can add a column to one view,
734         remove it, add it to the another view, remove it, then re-add it
735         to the first.  Nifty.
736
737 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
738
739         * docs/tutorial/gtk-tut.sgml: Minor corrections
740
741 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
742
743         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
744         GtkRowReference.
745
746 2001-02-28  Havoc Pennington  <hp@redhat.com>
747
748         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
749         draw_default
750         (gtk_widget_draw_focus): remove this function; we could instead
751         make it just gtk_widget_draw(), but in most cases I think the
752         result would be broken user code, so think it's better to have
753         that code not compile and get fixed
754         (gtk_widget_draw_default): ditto
755
756         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
757         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
758         
759         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
760         widgets lose/get the default, instead of calling draw_default
761         
762         * docs/Changes-2.0.txt: note about all this
763
764         Then fixed every widget in GTK, I won't list all the filenames.
765
766 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
767
768         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
769         _gtk_tree_row_reference_deleted.
770         (inserted_callback): Proxy out to
771         _gtk_tree_row_reference_inserted.
772         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
773         get around signal emission ordering problem.
774
775         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
776         fix to work with SINGLE 
777         (_gtk_tree_selection_internal_select_node): Major sanitization on
778         selections.  SINGLE now seems to work.
779
780         * tests/Makefile.am: add testtreecolumn.c:
781
782         * tests/testtreecolumn.c: New test.  Mostly points out selection
783         bugs currently, but will test columns later.
784
785         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
786         selection bug.  I hate touching this code -- it's scary.
787
788 2001-02-26  Havoc Pennington  <hp@redhat.com>
789
790         * gtk/testgtk.c: test the window state stuff
791
792         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
793         window come to the user's attention as if it were just created
794         (gtk_window_iconify): new function
795         (gtk_window_deiconify): new function
796         (gtk_window_stick): new function
797         (gtk_window_unstick): new function
798         (gtk_window_maximize): new function
799         (gtk_window_unmaximize): new function
800
801         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
802
803         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
804
805         * gdk/x11/gdkevents-x11.c: create window state events when
806         appropriate
807         (gdk_wmspec_supported): new function
808
809         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
810         iconification before showing the window
811         (gdk_window_deiconify): new function
812         (gdk_window_stick): new function
813         (gdk_window_unstick): new function
814         (gdk_window_maximize): new function
815         (gdk_window_unmaximize): new function
816
817         * gdk/gdkwindow.c: store the window state in the window; 
818         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
819         window->mapped.
820         (gdk_window_get_state): return the current window state
821
822         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
823         (gdk_event_get_state): handle GDK_WINDOW_STATE
824         (gdk_synthesize_window_state): function to create the window state
825         events
826
827         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
828         event, for changes to "window state" such as maximized, sticky, 
829         etc.
830         
831         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
832         focuses a window
833
834         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
835         finds out if we support a given WM spec hint
836
837 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
838
839         * docs/faq/gtk-faq.sgml: New question re memory leaks.
840
841 2001-02-25  Hans Breuer  <hans@breuer.org>
842
843         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
844         cause we want to loose those prototypes only in the latter case
845
846         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
847         GdkPixmapImplWin32 because it itsn't derived from it. Use the
848         impl member variable instead
849
850         * gtk/gtk.def : updated
851
852         * gtk/gtklist.c : 
853         * gtk/gtkmenus.c : include <string.h> for memset ()
854
855         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
856         for everthing built here, but for gtk-x.x.dll only. This solves
857         problem of indifferent gtk type definitions
858
859 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@webwynk.net>
860
861         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
862
863 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
864
865         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
866         column that is exposed.
867
868         (_gtk_tree_view_update_size): Changed name from set_size, and
869         changed function to do more work, and not force people calling it
870         to figure out the size.  Simplifies a lot of code elsewhere.
871
872 2001-02-23  Alexander Larsson  <alexl@redhat.com>
873
874         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
875         return solid masks for xpms that have no transparent color.
876         This makes the ..._create_from_xpm... API backwards
877         compatible.
878
879 2001-02-23  Tor Lillqvist  <tml@iki.fi>
880
881         * README.win32: Update. Mention the gtk-1-3-win32-production
882         branch.
883
884         * gdk/win32/bdfcursor.c: New file. A program that generates
885         xcursors.h. Thanks to Stefan Ondrejicka.
886
887         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
888         compact format.
889
890         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
891
892         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
893         function, uses xcursors.h.
894         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
895         cursor from inline data instead of using LoadCursor() to generate
896         it from a resource.
897
898         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
899         event, must check the Windows message for mouse button state, as
900         the GDK event state might not have been built if it is
901         undelivered. Remove one goto.
902
903         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
904         SetCursor() if the current cursor as returned by GetCursor() is
905         the window's previous cursor. The ChildWindowFromPoint() test
906         apparently didn't work correctly.
907
908         * gdk/win32/rc/*.cur: Remove.
909
910         * gdk/win32/rc/gdk.rc.in: Remove cursors.
911
912         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
913
914         * gtk/makefile.{mingw,msc}.in: Updates.
915
916 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
917
918         * gtk/gtktreemodel.h: add functions for signal emission.
919
920         * gtk/gtktreestore.c: move to use above functions instead of
921         g_signal_emit.
922
923         * gtk/gtkliststore.c: ditto
924
925 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
926
927         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
928         GObject instead of GtkObject.
929
930         * gtk/gtkliststore.c: ditto.
931
932         * gtk/gtktreemodelsort.c: ditto.
933
934         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
935         GtkTreeModelIface, instead of in each model.
936
937 2001-02-21  Havoc Pennington  <hp@redhat.com>
938
939         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
940         unbreak this function
941
942         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
943         properties
944
945         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
946         properties
947
948         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
949         properties
950
951         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
952         mean unset the max length
953
954 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
955
956         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
957         Changed name to be set_cell_data_func to make it clear what
958         the functino does.  Close bug #51069.
959
960 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
961
962         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
963         have memory actually freed.  Keeps box running longer.
964
965 2001-02-21  Alexander Larsson  <alexl@redhat.com>
966         
967         * gtk/gtkseparatormenuitem.[ch]:
968         Added new menu separator item. The drawing and size handling
969         is still done in GtkMenuItem, but the API is a bit more sane.
970         
971         * gtk/Makefile.am:
972         Add gtkseparatormenuitem.[ch].
973
974         * gtk/gtk.h:
975         Add gtkseparatormenuitem.h.
976         
977         * gtk/gtkentry.c:
978         * gtk/gtkmenufactory.c:
979         * gtk/gtktextview.c:
980         Use the new API for menu separators.
981         
982         * demos/gtk-demo/menus.c (create_menu):
983         Add some GtkSeparatorMenuItem demo code.
984
985 2001-02-20  Havoc Pennington  <hp@redhat.com>
986
987         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
988         Lee Mallabone
989
990         * gtk/gtkarrow.c: Convert to new property API, patch from 
991         Lee Mallabone
992
993 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
994
995         * tests/testtreeview.c (toggled_callback): fix to reflect change
996         in GtkTreeModelStore.
997
998 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
999
1000         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1001         function to create an icon set from a pixbuf.
1002
1003 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1004
1005         * gtk/gtkcellrenderertext.[ch]:
1006         Add a "markup" property.
1007
1008         * gtk/treestoretest.c:
1009         Use the markup property, remove some leftover stuff from
1010         GtkTreeModelMapping.
1011
1012 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1013
1014         * gtk/gtklabel.c (gtk_label_set_selectable):
1015         Queue a redraw if the selectable setting was changed.
1016
1017 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1018
1019         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1020         Actually copy the whole gc, not just the public parts.
1021         
1022         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1023         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1024         labels.
1025
1026 2001-02-19  Havoc Pennington  <hp@pobox.com>
1027
1028         * gdk/gdkwindow.c: docs
1029
1030         * gdk/gdkrgb.c: docs
1031
1032         * gdk/gdkregion-generic.c: docs
1033
1034         * gdk/gdkgc.c (gdk_gc_set_values): docs
1035
1036         * gdk/gdkdraw.c: docs
1037
1038         * gdk/gdkdrawable.h: deprecate drawable get/set data
1039
1040 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1041
1042         * demos/gtk-demo/dialog.c: Add simple new demo.
1043
1044 2001-02-19  Havoc Pennington  <hp@redhat.com>
1045
1046         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1047         insert_child_anchor signal, bug #50245
1048
1049         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1050         from create_child_anchor, so the anchor is passed in
1051
1052         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1053         (_gtk_widget_segment_new): have the child anchor object passed in, 
1054         instead of creating it.
1055
1056         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1057         to gtk_text_buffer_get_modified
1058
1059 2001-02-19  Havoc Pennington  <hp@redhat.com>
1060
1061         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1062         changed GLib without fixing GTK
1063
1064         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1065         functions to have an underscore in front. Most of them should 
1066         probably just go away, but for starters don't export them.
1067         Bug #50482
1068
1069 2001-02-19  Havoc Pennington  <hp@redhat.com>
1070
1071         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1072         excluded by default
1073
1074         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1075         clean up the old code a bit
1076
1077         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1078         inconsistent state
1079
1080         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1081         draw inconsistent state
1082
1083         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1084         (create_menu): add inconsistent test
1085
1086         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1087         new function
1088         (gtk_check_menu_item_get_inconsistent): new function
1089         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1090         state (using etched in for now)
1091
1092         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1093         draw inconsistent state
1094
1095         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1096         function, used when the user has selected a range of stuff in
1097         different states
1098         (gtk_toggle_button_get_inconsistent): accessor for that
1099         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1100         don't know what else to do)
1101
1102 2001-02-19  Hans Breuer <hans@breuer.org>
1103
1104         * gtk/gtk.def : updated exported symbols
1105
1106         * gtk/makefile.msc.in : updated
1107
1108         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1109         a colormap, when invoked from testgtk::entry. I'm not sure where
1110         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1111         avoids immediate crashing ...
1112
1113         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1114         any objections ?
1115
1116         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1117         0 parameter. At least msvc doesn't like macros with var args. 
1118         I simply removed the extra 0, was it a feature or a typo ?
1119
1120         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1121         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1122         because the value assignment to the internal struct wasn't working.
1123         I'm not absolutely sure. The problem could have been resolved by
1124         changing the "func" declartion in the struct, but was the pointer
1125         to the function pointer intended ?
1126
1127         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1128
1129         * gdk/gdk.def : updated exported symbols
1130
1131         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1132         only use SetDIBitsToDevice if there is a palette at the drawable
1133         and the image is GDK_VISUAL_PSEUDO_COLOR
1134
1135         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1136
1137         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1138
1139         * gdk/*/makefile.msc : updated
1140
1141 2001-02-19  Havoc Pennington  <hp@redhat.com>
1142
1143         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1144         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1145
1146         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1147         (gdk_key_repeat_restore): nuke
1148
1149         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1150         (gdk_init_check): no atexit func
1151
1152         * gdk/gdkrgb.h: mark some stuff deprecated
1153
1154         * gdk/gdkcolor.h: mark some stuff deprecated
1155         
1156         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1157
1158         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1159
1160 2001-02-16  Havoc Pennington  <hp@redhat.com>
1161
1162         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1163         scroll steps.
1164
1165         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1166         steps, and add Ctrl-arrow shortcuts for paging visually as with
1167         HScale, since Page Up and Page Down move logically.
1168
1169         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1170         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1171         
1172         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1173         steps
1174         (gtk_range_scroll): handle the visual steps
1175
1176         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
1177         scroll steps
1178
1179         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
1180         steps, not the logical ones.
1181
1182         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
1183         (scroll_vertical): handle up/down steps
1184
1185 2001-02-19 Alexander Larsson  <alexl@redhat.com>
1186
1187         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
1188         Copy data and free data with free().
1189
1190         * gdk-pixbuf/gdk-pixbuf.c:
1191         * gdk-pixbuf/io-jpeg.c:
1192         * gdk-pixbuf/io-png.c:
1193         Use g_try_malloc/g_free instead malloc/free.
1194         
1195         * gdk-pixbuf/test-gdk-pixbuf.c:
1196         Must... initialize... gobject...
1197         
1198         * gdk-pixbuf/pixops/timescale.c:
1199         * gtk/gtkcalendar.c:
1200         Use g_malloc instead of malloc.
1201         
1202 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
1203
1204         * gtk/testgtkrc:
1205         Comment out property assignments, these don't work yet.
1206
1207 2001-02-17  Havoc Pennington  <hp@pobox.com>
1208
1209         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
1210         bit.
1211
1212 2001-02-17  Havoc Pennington  <hp@pobox.com>
1213
1214         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
1215         shadowed variables that had broken size request in some cases,
1216         leading to bogus tooltips (#50996)
1217
1218 2001-02-06  Jon K Hellan  <hellan@acm.org>
1219
1220         Implement fast browsing of tooltips, bug #50619
1221         
1222         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
1223         and last_popdown
1224         
1225         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
1226         use_sticky_delay and last_popdown.
1227         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
1228         time of popdown.
1229         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
1230         is NULL.
1231         (gtk_tooltips_recently_shown): New static function.  Return true
1232         if < sticky_delay has elapsed since last popdown.
1233         (gtk_tooltips_event_handler): Display window after sticky_delay
1234         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
1235         since last popdown.
1236         
1237 2001-02-17  Havoc Pennington  <hp@pobox.com>
1238
1239         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
1240         instead of (). #6394
1241
1242         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
1243         G_CONST_RETURN, make it return by reference, #50473
1244         
1245 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
1246
1247         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
1248         generated ENTER_NOTIFY event with 0, otherwise not explicitely
1249         setup fields contain garbage (e.g. subwindow, breaking
1250         gdk_drawable_ref() upon event copy).
1251         (gtk_menu_stop_navigating_submenu_cb): same here.
1252
1253         * gtk/gtklist.c (gtk_list_vertical_timeout): 
1254         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
1255         * gtk/gtkclist.c (vertical_timeout): 
1256         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
1257         default-zero-intialization for unions to memset(,0,), as unions are
1258         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
1259         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
1260
1261         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
1262         g_closure_sink() warning.
1263
1264         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
1265         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
1266         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
1267         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
1268         
1269 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
1270
1271         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
1272         gtk_*_store_get, and moved to GtkTreeModel.
1273
1274         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
1275
1276         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
1277
1278         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
1279
1280         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
1281         set the func.
1282
1283         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1284         freeze/thaw notify between setting all the properties for a cell.
1285
1286         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
1287
1288 2001-02-15  Havoc Pennington  <hp@redhat.com>
1289
1290         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
1291         the X coordinates so they're with respect to the line, rather than 
1292         with respect to the layout.
1293
1294         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
1295         Mallabone
1296
1297         * gtk/testgtk.c (create_range_controls): add vscale tests, 
1298         and inverted test
1299
1300         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
1301         #50806
1302
1303         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
1304
1305         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
1306         gtk_text_iter_is_end
1307
1308         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
1309         rename gtk_text_buffer_get_end_iter
1310
1311         * gtk/testgtk.c (create_labels): Add test for selectable
1312
1313         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
1314         the selection stuff. This code is kind of broken since it doesn't 
1315         use the theme engine.
1316
1317         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
1318         fix infinite loop and y offset problem
1319         (gdk_draw_layout_line_with_colors): fix foreground color handling
1320
1321         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
1322         that makes the label selectable.
1323         
1324         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
1325         layout when the style is set, since fonts etc. could have changed.      
1326
1327 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
1328
1329         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
1330
1331         * gtk/gtktreemodelsimple.[ch]: removed.
1332
1333 2001-02-16  Alexander Larsson  <alexl@redhat.com>
1334
1335         * gtk/gtktreemodelmapping.[ch]:
1336         New files. Implement GtkTreeModelMapping.
1337         
1338         * gtk/Makefile.am:
1339         Add gtktreemodelmapping.[ch].
1340         
1341         * gtk/gtk.h:
1342         Add gtktreemodelmapping.h
1343
1344         * gtk/treestoretest.c:
1345         Test the GtkTreeModelMapping
1346
1347 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
1348
1349         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
1350         have a demo, we might as well pass in real values.  Thanks to
1351         clahey for pointing this out.
1352
1353 2001-02-14  Havoc Pennington  <hp@pobox.com>
1354
1355         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
1356         "static" to a private function
1357         (gtk_image_menu_item_class_init): remove destroy handler,
1358         add "image" object property
1359
1360 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
1361
1362         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
1363         Add a shortcut if the window and the current clip_region doesn't
1364         overlap. This is needed when there are a lot of windows in a
1365         window. The layout test in testgtk is a good test.
1366
1367         * gdk/linux-fb/gdkwindow-fb.c:
1368         Whitespace fix.
1369
1370 2001-02-13  Sven Neumann  <sven@convergence.de>
1371
1372         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
1373
1374 2001-02-13  Alexander Larsson  <alexl@redhat.com>
1375
1376         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
1377         Don't reference last_cursor if it is null. Fixes crash when rotating
1378         the screen before having moved the mouse.
1379
1380         * gdk/linux-fb/gdkcc-fb.c: Zapp!
1381
1382         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
1383
1384         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
1385         when using 90 or 270 degrees rotation.
1386
1387 2001-02-12  Havoc Pennington  <hp@pobox.com>
1388
1389         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
1390         it always set the foreground, even if we were only using
1391         a stipple.
1392         (gdk_draw_layout_line_with_colors): new function, allow
1393         override colors
1394         (gdk_draw_layout_with_colors): new function, allow override
1395         colors
1396         (gdk_pango_layout_line_get_clip_region): function to get the clip
1397         region for a logical text range
1398         (gdk_pango_layout_get_clip_region): get the clip region for a
1399         logical text range
1400
1401         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
1402         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
1403         the right number of arguments.
1404
1405         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
1406         enhance the function to check that node data corresponds to a 
1407         view still belonging to the tree.
1408
1409         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
1410         GtkTreePath
1411         (gtk_tree_view_inserted): ditto
1412         (gtk_tree_view_child_toggled): ditto
1413
1414         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
1415         simplify this code.
1416
1417         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
1418         a PangoAttrList
1419
1420         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
1421
1422         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
1423
1424         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
1425         size in the size request 
1426         (gtk_menu_bar_size_allocate): consider toggle size here
1427
1428         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
1429         that displays a widget in the toggle slot
1430
1431         * gtk/testgtk.c: test GtkImageMenuItem
1432
1433         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
1434         
1435         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
1436         request and allocation
1437
1438         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
1439
1440         * gtk/gtkcheckmenuitem.c
1441         (gtk_check_menu_item_toggle_size_request): ditto
1442         
1443 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
1444
1445         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
1446         reference.
1447
1448         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
1449         and refuse to initialize GTK+ if they fail.
1450
1451 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
1452
1453         * configure.in: Add check for gtk-doc version.
1454
1455 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
1456
1457         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
1458         where the xpad/ypad was only being used on one side!
1459
1460 2001-02-11  Tor Lillqvist  <tml@iki.fi>
1461
1462         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
1463         function, copied from X11 version.
1464
1465         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
1466         DestroyCursor failures. The reason for the problem (despite the
1467         inconsistent messages from GetLastError()) was that
1468         DestroyCursor() cannot be called while a cursor is set in a
1469         window. Set the new cursor first and then destroy the old one.
1470         Thanks to jpe@archaeopteryx.com.
1471
1472         * gdk/win32/gdkcc-win32.c: Remove.
1473
1474         * gdk/win32/Makefile.am: Remove from here, too.
1475         
1476         * gdk/gdk.def
1477         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
1478
1479         * gtk/gtk.def
1480         * gtk/makefile.mingw.in: Updates.
1481
1482 2001-02-08  Havoc Pennington  <hp@redhat.com>
1483
1484         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
1485         add a widget to a bin that already has a child.
1486
1487         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
1488
1489         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
1490         
1491         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
1492
1493         * gdk/gdk.h: remove gdkcc.h
1494
1495         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
1496
1497         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
1498         GdkPixbuf, since the previous implementation was GdkColorContext
1499         dependent.
1500
1501         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
1502         
1503 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
1504
1505         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
1506         a sane value!
1507
1508 2001-02-08  Havoc Pennington  <hp@redhat.com>
1509
1510         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
1511         lighten them.
1512
1513 2001-02-08  Havoc Pennington  <hp@redhat.com>
1514
1515         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
1516         validation idle
1517
1518         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
1519         cell renderer
1520
1521         * demos/pixbuf-demo.c (timeout): remove deprecated
1522         gtk_widget_draw
1523
1524         * demos/testpixbuf-save.c (main): remove deprecated
1525         gtk_drawing_area_size
1526
1527         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
1528         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
1529         at the start of the allocation.
1530         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
1531         unsetup or NULL model.
1532
1533         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
1534         even/odd/sorted cells in the tree view.
1535
1536         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1537         bugfixes
1538
1539         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
1540         backgrounds with draw_flat_box using different detail for even/odd
1541         rows.
1542
1543         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
1544         row, so we can draw the alternating colors thing
1545
1546         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
1547         property from a synonym property, notify for the synonym.
1548         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
1549         (gtk_text_tag_get_property): Always return the font, even if
1550         all its fields aren't set
1551
1552         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
1553         store the attr list; it leaves us with no way to change attributes
1554         in _render according to the render flags, and no way to implement
1555         get_property. Instead store all the specific text attributes. 
1556         Separate whether an attribute is enabled from its value. Sync all
1557         properties with GtkTextTag, make them all consistent, etc.
1558
1559         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
1560         renderers can highlight the sort row/column     
1561
1562         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
1563         accessor functions to get values; this has the side effect of
1564         showing up which accessor functions were missing. Added those.
1565
1566         * gtk/gtktreeviewcolumn.h: Replace set_justification with
1567         set_alignment, to be consistent with GtkLabel, GtkMisc
1568
1569         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
1570         arrow.
1571
1572         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
1573
1574         * gtk/gtktreesortable.h: updates in here
1575
1576 2001-02-07  Sven Neumann  <sven@convergence.de>
1577
1578         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
1579         pango dimensions after painting the background. We used to draw
1580         gigantic flat boxes here.
1581
1582 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
1583
1584         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
1585         error introduced with earlier commit) (pointed out by
1586         Ollie Lho)
1587
1588 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
1589
1590         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
1591         which are no longer necessary.
1592
1593 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
1594
1595         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
1596
1597 2001-02-04  Tor Lillqvist  <tml@iki.fi>
1598
1599         * gdk/gdk.def
1600         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
1601         Provide dummy implementations.
1602
1603 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
1604
1605         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
1606
1607         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
1608         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
1609         deprecated this function.
1610
1611         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
1612         argument.
1613
1614 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
1615
1616         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
1617
1618 2001-02-03  Havoc Pennington  <hp@pobox.com>
1619
1620         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
1621         Mikael Hermansson with patch from Mikael (if there was a toggle
1622         start one after the first character in the range, this function
1623         was broken). Bug #50380
1624
1625 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
1626
1627         * configure.in: Remove confusing comment about X11.
1628
1629 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
1630
1631         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
1632         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
1633         
1634 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
1635
1636         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
1637         it breaks things on BSD. If you want to compile GTK+ with
1638         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
1639         when configuring, since GTK+ simply can't be "pure ANSI" 
1640         in the header files it uses. (#8170, Greg Hudson)
1641
1642 2001-02-02  Havoc Pennington  <hp@redhat.com>
1643
1644         * gtk/gtkwindow.c: docs
1645
1646         * gtk/gtkwidget.c: docs
1647         (gtk_widget_set_colormap): add a reference to the colormap
1648         (gtk_widget_get_default_colormap): add a reference to the colormap
1649
1650         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
1651
1652         * gtk/gtktextiter.c: docs
1653
1654         * gtk/gtkmain.c (gtk_propagate_event): docs
1655
1656         * gtk/gtkpaned.c (gtk_paned_get_position): docs
1657         (gtk_paned_set_position): docs
1658
1659         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
1660         sort interface, no implementation yet.
1661
1662         * demos/testpixbuf.c (new_testrgb_window): replace
1663         gtk_drawing_area_size() with gtk_widget_set_usize()
1664
1665         * demos/testpixbuf-drawable.c (main): ditto
1666         
1667         * gtk/testgtk.c: remove use of GtkStatusbarMsg
1668
1669         * gtk/gtktextbuffer.c: docs
1670
1671         * gtk/gtkstock.c: docs
1672
1673         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
1674
1675         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
1676
1677         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
1678         
1679         * gtk/gtkimage.c: add some docs in here
1680         (gtk_image_size_request): change name of
1681         gtk_widget_render_stock_icon
1682         (gtk_image_get_icon_set): don't dup returned string
1683         (gtk_image_get_icon_set): don't dup returned string
1684
1685         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
1686         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
1687         and gtkiconfactory.h functions
1688
1689         * gtk/gtkiconfactory.c: add some docs in here
1690
1691         * gtk/gtkmain.c (gtk_get_default_language): document
1692         (gtk_get_current_event): document
1693         (gtk_get_current_event_state): document
1694         (gtk_get_event_widget): document
1695
1696         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
1697
1698         * gtk/gtkcontainer.c: Add some documentation
1699         (gtk_container_add): give a more explanatory warning on adding an
1700         already-parented widget, this is kind of a FAQ and also a common
1701         typo that's easier to debug with a nice warning 
1702
1703         * gtk/gtkcellrenderertoggle.c
1704         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
1705         adding this, it's useless
1706         (gtk_cell_renderer_toggle_set_active): remove
1707         (gtk_cell_renderer_toggle_get_radio): add
1708
1709         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
1710         the NULL cell renderer, that doesn't make any sense to me. 
1711
1712         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
1713         demo code should never use deprecated features.
1714
1715         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
1716         code should never use deprecated features.
1717
1718         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
1719         gtk_widget_queue_clear_area deprecated
1720
1721         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
1722         deprecated
1723
1724         * gtk/gtklabel.h: mark gtk_label_get() deprecated
1725
1726         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
1727         a GdkImage deprecated, replaced by new consistently-named
1728         functions       
1729
1730         * gtk/gtkmain.h: Mark gtk_exit() deprecated
1731
1732         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
1733
1734         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
1735         deprecated
1736
1737         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
1738         so it won't appear in docs and confuse people.
1739
1740         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
1741
1742         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
1743         macros deprecated. (can't mark the type itself deprecated, since
1744         GtkProgressBar is not deprecated and we need the type decl to use
1745         GtkProgressBar)
1746
1747         * gtk/gtkpixmap.h: Mark deprecated
1748
1749         * gtk/gtkoldeditable.h: Mark deprecated
1750
1751         * gtk/gtklist.h: Mark deprecated
1752
1753         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
1754         for anything anymore.
1755
1756         * gtk/gtkctree.h: Mark deprecated
1757
1758         * gtk/gtkclist.h: Mark deprecated
1759
1760         * gtk/gtkpreview.h: Mark deprecated
1761
1762         * gtk/gtkpacker.h: Mark deprecated
1763
1764         * gtk/gtktipsquery.h: Mark deprecated
1765
1766         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
1767
1768         * gtk/gtkvruler.h: Add comment that it will move out of GTK
1769
1770         * gtk/gtkhruler.h: Add comment that it will move out of GTK
1771
1772         * gtk/gtkruler.h: Add comment that it will move out of GTK
1773
1774         * gtk/gtkgamma.h: Add comment that it will move out of GTK
1775
1776         * gtk/gtkcurve.h: Add comment that it will move out of GTK
1777
1778 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
1779
1780         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
1781         gdk_colormap_sync private since it was never exported
1782         in a header file.
1783
1784         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
1785         colormap->colors[] for StaticGray, StaticColor colormaps.
1786
1787         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
1788         was being used as if it was image->bits_per_pixel.
1789
1790         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
1791         for the image in the GdkImage structure since it isn't
1792         reconstructable, and we need it to handle packed types
1793
1794         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
1795         the assumption that on Win32 image->bits_per_pixel == image->depth,
1796         always.
1797
1798         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
1799
1800         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
1801         warning message if no converter can be found. 
1802
1803 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
1804
1805         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
1806         chars to isupper() / tolower(). (#567)
1807
1808         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
1809         to clear up 64-bit warnings. (#567)
1810
1811 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
1812
1813         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
1814         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
1815
1816         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
1817         since some people set $(libdir) separately. (#1290, David Kaelbling)
1818
1819 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
1820
1821         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
1822         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
1823         MAXPATHLEN, but the code here depends on a fixed value.)
1824         (#4524)
1825
1826 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
1827
1828         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
1829         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
1830
1831 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
1832
1833         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
1834         viewable there is no way that moving the node will cause the 
1835         focus row to become not viewable, so omit check on the visibility
1836         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
1837
1838 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
1839
1840         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
1841         selection before inserting new text.
1842
1843 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
1844
1845         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
1846         Make the sensitivity of the reparented child track that of
1847         the original parent menu item. (#34218, David Hodson)
1848
1849         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
1850         the case where the current item is destroyed properly.
1851
1852         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
1853         some edge cases with child-less menuitems.
1854         
1855 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
1856
1857         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
1858         key pop down window. (#12074, Jon K Hellan)
1859
1860 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
1861
1862         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
1863         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
1864         The solution here isn't perfect - you get an extraneous
1865         emission of "toggle", which could conceivably confuse an app,
1866         but better than the current situation. LXR search seems to
1867         indicate that no apps in GNOME CVS connect to "toggle".
1868
1869 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
1870
1871         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1872         gtk_public_h_sources to directly here to avoid warning when
1873         building srcdir != builddir. (#9656)
1874
1875 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1876
1877         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1878         handlers in gtkrange.c return the proper values (TRUE == handled)
1879         (#10316).
1880
1881         This is just the tip of the iceberg, but gtkrange.c is the
1882         most common place where the propagation is problematical,
1883         and also a place where it is almost certainly safe to change
1884         this in the stable branch.
1885
1886         (You don't want right click popups on a range control or anything...)
1887
1888 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1889
1890         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1891         area on focus out, even if a background pixmap isn't set.
1892         (#13941)
1893         
1894 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1895
1896         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1897         to deal with setting the shape properly when scrolling arrows are
1898         turned on, but not visible because there is sufficient space.
1899         (#13432)
1900
1901 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1902
1903         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1904         items with submenus, destroy the item along with the submenu.
1905         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1906         properly.
1907
1908         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1909         later.
1910
1911 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1912
1913         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1914         the focus widget sometimes wasn't drawn with the default if there
1915         was no default widget.
1916
1917         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1918         unreference pixmaps. 
1919
1920         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1921         for some extra safety.
1922
1923 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1924
1925         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1926         the text of a cell to the old pointer value better, by
1927         copying the new text before freeing the old text. Some code
1928         cleanup. (#8079, Karl Nelson)
1929
1930 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1931
1932         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1933         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1934
1935 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1936
1937         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1938         item from a menu, check to see if it matches 
1939         menu->old_active_menu_item, and if so, unref and clear
1940         old_active_menu_item (Patch from Pavel Cisler)
1941
1942         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1943         menu_shell->active_menu_item, if it is the child being
1944         removed. (Patch based on that of Gene Ragan, #50337)
1945
1946 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1947
1948         * gdk/linux-fb/gdkselection-fb.c: 
1949         * gdk/linux-fb/gdkcolor-fb.c: 
1950         * gdk/linux-fb/gdkdrawable-fb2.c: 
1951         * gdk/linux-fb/gdkfont-fb.c: 
1952         * gdk/linux-fb/gdkim-fb.c: 
1953         * gdk/linux-fb/gdkinput.c: 
1954         * gdk/linux-fb/gdkkeyboard-fb.c: 
1955         * gdk/linux-fb/gdkmain-fb.c: 
1956         * gdk/linux-fb/gdkrender-fb.c: 
1957         A bunch of whitespace cleanup.
1958         
1959 2001-01-30  Havoc Pennington  <hp@pobox.com>
1960
1961         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1962         #ifdef GTK_ENABLE_BROKEN.
1963
1964         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1965         GTK_ENABLE_BROKEN just before including the broken headers.
1966         
1967         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1968         deprecated types registered.
1969
1970         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1971         we have to test the broken stuff.
1972
1973         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1974         
1975 2001-01-30  Havoc Pennington  <hp@redhat.com>
1976
1977         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1978         here where prev pointer was set to the wrong thing
1979
1980         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1981         (gtk_tree_path_is_descendant): new function
1982
1983         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1984         cached length
1985         (gtk_list_store_get_iter): don't modify iter if we can't get the
1986         path.
1987
1988         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1989         
1990         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1991         GtkTreeDragDest
1992
1993         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1994         was causing segfault
1995
1996         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1997         pointer to NULL
1998
1999         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2000
2001         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2002         on returning FALSE
2003         (gtk_list_store_iter_children): ditto
2004         (gtk_list_store_iter_nth_child): ditto
2005         (gtk_list_store_iter_nth_child): ditto
2006         (gtk_list_store_iter_parent): ditto
2007
2008         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2009         on iter->user_data != NULL instead of silently accepting it.
2010         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2011         we are returning TRUE.
2012         (gtk_tree_store_iter_children): ditto
2013         (gtk_tree_store_iter_nth_child): ditto
2014         (gtk_tree_store_iter_parent): ditto
2015         (gtk_tree_store_insert): remove handling of parent->user_data ==
2016         NULL, replace with parent == NULL       
2017
2018         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2019         and a comment explaining things
2020
2021         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2022         interface support to GtkTreeStore.
2023
2024         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2025         FALSE if no prev, fix
2026
2027         * gtk/gtktreeview.c (set_source_row): use a row reference
2028         (set_dest_row): use a row reference
2029
2030 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2031
2032         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2033         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2034         (gtk_tree_selection_select_iter): The same as above.
2035
2036 2001-01-26  Havoc Pennington  <hp@redhat.com>
2037
2038         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2039         which holds a handle to a specific row (particular set of values
2040         in the model, i.e. pointer-identity row).
2041
2042         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2043         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2044         Still need to use it for the src/dest row saved on the drag context.
2045
2046 2001-01-26  Havoc Pennington  <hp@redhat.com>
2047
2048         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2049
2050         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2051         not offset by TREE_VIEW_HEADER_HEIGHT
2052         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2053         TREE_VIEW_HEADER_HEIGHT
2054
2055         * configure.in (included_loaders): for me, --with-included-loaders
2056         generates the error "the specified loader yes does not exist",
2057         i.e. the arg defaults to "yes", so change test for value ""
2058         to test for value "yes", and include all loaders in that case.
2059
2060         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2061
2062         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2063         handle TREE_VIEW_VERTICAL_SEPARATOR
2064         (gtk_tree_view_bin_expose): fix to consider the row offset as
2065         pointing halfway into vertical separator.       
2066         (gtk_tree_view_draw_node_focus_rect): ditto
2067
2068         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2069         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2070         (TRUE) to be called.
2071
2072         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2073         debug mode where the invalid region is colored in on invalidate,
2074         so you can see the flicker and know whether your redraw code is 
2075         doing a good job.
2076
2077         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2078         tree window coordinates (clip rect is in tree window coords)
2079
2080         * gtk/Makefile.am: add gtktreednd.[hc]
2081
2082         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2083
2084         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2085         drag-and-drop data operations on a model (so we can set up tree
2086         drag-and-drop automatically)
2087
2088         * gtk/testgtk.c: Add a window to change sensitivity in the
2089         GtkLabel test; add a way to change the entry frame in GtkEntry
2090         test
2091
2092         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2093         (gtk_entry_get_has_frame): new functions to remove the frame
2094         around an entry
2095         (gtk_entry_size_request): shrink requisition if no frame
2096         (gtk_entry_draw_focus): don't draw frame if no frame
2097
2098         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2099         checks inside a cell renderer
2100         (gtk_default_draw_option): ditto for options
2101
2102         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2103         children from the alignment, not the button
2104         (gtk_tree_view_column_init): ref/sink the column, to emulate
2105         GObject refcounting.
2106
2107         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2108         
2109         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2110         Use theme functions to draw the toggles 
2111
2112         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2113
2114         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2115         GdkPangoAttrEmbossed to use in rendering insensitive text
2116
2117         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2118
2119         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2120         using new GDK features
2121         
2122 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2123
2124         * gtk/gtkimage.c:
2125         Splitted gtk_image_clear into gtk_image_clear() and
2126         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2127         to avoid leaks.
2128
2129         * gtk/gtklabel.c (set_markup):
2130         Don't leak text.
2131
2132         * gtk/gtktextlayout.c:
2133         Always free display->shaped_objects.
2134
2135         * gtk/testgtk.c (create_clist):
2136         Don't leak custom style.
2137
2138 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2139
2140         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2141         Don't leak image. Simplify using gdk_colormap_query_color().
2142         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2143
2144         * linux-fb/gdkcolor-fb.c:
2145         Implemented gdk_colormap_query_color.
2146
2147 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2148
2149         * linux-fb/gdkcursor-fb.c:
2150         Don't leak built-in cursors.
2151
2152         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2153         Don't leak tmp_points.
2154
2155         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2156         Don't modify desc. Don't leak font if the PangoFont
2157         isn't found.
2158         
2159         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2160         Free dash_list.
2161
2162         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2163         Don't leak string.
2164         
2165 2001-01-20  Havoc Pennington  <hp@pobox.com>
2166
2167         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2168         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2169         me, matches Pango
2170
2171 2001-01-22  Havoc Pennington  <hp@redhat.com>
2172
2173         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
2174
2175         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
2176
2177         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
2178         Remove, move back to gdk-pixbuf
2179
2180         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
2181         to all the word functions
2182
2183         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
2184         before doing anything on NULL layout or if we don't have the focus
2185
2186         * gtk/testtext.c (fill_example_buffer): "justification"
2187
2188         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
2189         to be called "justification" not "justify"
2190
2191         * demos/gtk-demo/textview.c (create_tags): "justification"
2192         
2193         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2194
2195 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2196
2197         * gdk/gdkwindow.c (gdk_window_invalidate_region):
2198         Don't leak visible_region. Use visible_region instead of region.
2199         
2200         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2201         Don't do extra gdk_drawable_ref(). This is not X.
2202         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
2203         gdk_fb_focused_window is ref:ed.
2204         (gdk_fb_window_send_crossing_events): Watch out for destroyed
2205         windows.
2206
2207 2001-01-22  Alexander Larsson  <alexl@redhat.com>
2208
2209         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
2210         Don't leak the PangoFontDescriptor.
2211
2212 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
2213
2214         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
2215         when not realized.
2216         (gtk_tree_view_scroll_to_cell): Make work when not realized.
2217         (gtk_tree_view_realize): add scroll_to support
2218         (gtk_tree_view_finalize): add a finalize method.  Populate.
2219         (gtk_tree_view_insert_column): ref and sink the column.
2220         (gtk_tree_view_append_column): ref and sink the column.
2221         (gtk_tree_view_queue_draw_node): New function to handle redrawing
2222         individual nodes.  Should make the code much more efficient, if
2223         actually used.
2224
2225 2001-01-19  Havoc Pennington  <hp@redhat.com>
2226
2227         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2228         byte_offset variable was being used to mean both "offset into
2229         layout" and "offset into buffer line" which was no longer true
2230         with addition of preedit string; fix
2231
2232 2001-01-19  Havoc Pennington  <hp@redhat.com>
2233
2234         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
2235
2236         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
2237         function
2238
2239         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
2240         implement
2241
2242         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
2243         scroll_to_cell, matches TextView scroll functions better
2244         (gtk_tree_view_tree_to_widget_coords): new function
2245         (gtk_tree_view_widget_to_tree_coords): new function
2246         (gtk_tree_view_get_visible_rect): new function
2247         (gtk_tree_view_get_path_at_pos): accept negative coordinates
2248         (gtk_tree_view_draw_node_focus_rect): new function moved from
2249         draw_focus, also, use width of bin_window as width of the focus
2250         rect
2251         (gtk_tree_view_expand_row): fix bug where it didn't recognize
2252         already-expanded rows
2253         (gtk_tree_view_get_cell_rect): new function
2254         (gtk_tree_view_get_path_at_pos): return the click position
2255         relative to the passed-in cell
2256         (gtk_tree_view_set_expander_column): new function
2257
2258         * configure.in: remove gtk-config-2.0 chmod
2259
2260         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
2261         and properly handle drags with targets we don't understand
2262         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
2263         scrolling anyway
2264         (gtk_text_view_drag_drop): stop scrolling here though, and set the
2265         mark invisible
2266
2267         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
2268         function
2269         (gtk_drag_dest_get_target_list): new function
2270         (gtk_drag_dest_set_target_list): new function
2271         
2272         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
2273
2274         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
2275         related to drag-and-drop
2276
2277 2001-01-19  Alexander Larsson  <alexl@redhat.com>
2278
2279         * gdk/linux-fb/gdkprivate-fb.h:
2280         Define EMULATE_GDKFONT.
2281         Add extra pango_font stuff to GfkFontPrivate.
2282         
2283         * gdk/linux-fb/gdkdrawable-fb2.c:
2284         * gdk/linux-fb/gdkfont-fb.c:
2285         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
2286         emulation using PangoFont.
2287
2288 2001-01-17  Havoc Pennington  <hp@pobox.com>
2289
2290         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
2291         all the non-deprecated set_foo functions. Added missing object
2292         properties, and added g_object_notify() to setters. 
2293         Wrote docs.
2294         
2295 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2296
2297         * gtk/gtkmain.c
2298         * gtk/gtkrc.c: (Win32) Use the new
2299         g_win32_get_package_installation_(sub)directory() functions.
2300
2301         * config.h.win32.in: New file.
2302         
2303         * config.h.win32: Removed.
2304
2305         * configure.in: Output config.h.win32.
2306
2307         * Makefile.am: Add it to EXTRA_DIST.
2308
2309         * gtk/gtk.def: Update.
2310
2311 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
2312
2313         * gtk/gtklabel.c (gtk_label_size_request): Set the
2314         attributes onto the PangoLayout even if they are newly
2315         created from label->pattern.
2316
2317 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
2318
2319         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
2320
2321         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
2322         structures in functions. Fixes bug where gtk_dataset_*
2323         was accidentally still being used in one place, causing
2324         every dest side event to be treated independently.
2325
2326         * gtk/gtkdnd.c: Remove last vestages of handling
2327         ::draw (fixes warning)
2328         
2329         * gtk/gtkentry.[ch]: Add drag and drop support.
2330
2331         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
2332         new function gtk_check_drag_threshhold() for checking
2333         to check if (dx,dy) has exceeded the threshhold for starting
2334         a drag and use it everywhere.
2335
2336 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
2337
2338         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
2339         add -I{includedir}/gtk-2.0.
2340
2341         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
2342         gdk/gdk-pixbuf.h: Doc fixups.
2343         
2344         * gtk/gtkobject.h: Remove trailing , from enum
2345
2346 2001-01-17 Alexander Larsson <alexl@redhat.com> 
2347
2348         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
2349         Doh! Mixed up x and y.
2350
2351         * gdk/linux-fb/gdkglobals-fb.c:
2352         Removed gdk_fb_pointer_grab_window_events,
2353         added _gdk_fb_pointer_grab_owner_events and
2354         _gdk_fb_keyboard_grab_owner_events.
2355
2356         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
2357         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
2358         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
2359         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
2360         Send crossing events after ungrab finished.
2361         (gdk_keyboard_grab): Set ..._owner_events
2362         (type_masks): Move out of function.
2363         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
2364         gdk_fb_keyboard_event_window): New functions, return the
2365         window an event should be targeted at. Handles grabs and
2366         event propagation. Can return NULL.
2367         (gdk_event_make): Remove event_mask checking. Now always
2368         returns an event.
2369                 
2370         * gdk/linux-fb/gdkkeyboard-fb.c:
2371         * gdk/linux-fb/gdkproperty-fb.c:
2372         * gdk/linux-fb/gdkselection-fb.c:
2373         Use new event_window/gdk_event_make() behaviour.
2374         
2375         * gdk/linux-fb/gdkmouse-fb.c:
2376         Use new event_window/gdk_event_make() behaviour.
2377         Only send motion events if in the same window.
2378         If grabbed, use cursor from window if sibling of grabbed
2379         window, and cursor from grabbed window otherwise.
2380
2381         * gdk/linux-fb/gdkprivate-fb.h:
2382         Update gdk_fb_window_send_crossing_events, gdk_event_make
2383         and grab varaible declarations. Add gdk_fb_*_event_window().
2384
2385         * gdk/linux-fb/gdkwindow-fb.c:
2386         Use new event_window/gdk_event_make() behaviour.
2387         Keep correct track of focus window.
2388         (gdk_window_set_events): Set all specific button motion masks
2389         if GDK_BUTTON_MOTION_MASK set.
2390
2391         * gtk/gtkdnd.c (gtk_drag_update):
2392         Free info->last_event if gdk_drag_motion returned FALSE.
2393
2394 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2395
2396         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
2397         Eliminate redraws when input-only windows are shown or
2398         hidden. Thanks to jpe@archaeopteryx.com.
2399
2400 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
2401
2402         * docs/faq/gtk-faq.sgml: FAQ update:
2403           - Update to bugzilla
2404           - Add GTK+ and security/SUID/SGID
2405           - Add DnD question
2406
2407 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
2408
2409         * gdk/linux-fb/gdkdnd-fb.c:
2410         Some cleanups.
2411         
2412 2001-01-15  Havoc Pennington  <hp@pobox.com>
2413
2414         * tests/testtreeview.c: add test stuff for CellRendererToggle
2415
2416         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
2417         accessor
2418
2419         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
2420         only toggle on button press (would do release like GtkButton, but
2421         we'd need implicit grab code for treeview cells)
2422
2423 2001-01-16  Tor Lillqvist  <tml@iki.fi>
2424
2425         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
2426
2427         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
2428         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
2429
2430         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
2431         to g_{locale,filename}_{to,from}_utf8 to match current API.
2432
2433         * gtk/makefile.msc.in (gtk_OBJECTS)
2434         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
2435
2436         * gtk/gtk.def: Update.
2437
2438 2001-01-15  Tor Lillqvist  <tml@iki.fi>
2439
2440         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
2441         implementaion that more closely mimics the events that an X server
2442         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
2443         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
2444         with nested preview widgets, for instance, more responsive when
2445         you move the mouse quickly into them.
2446         (find_window_for_pointer_event): Make it actually compile.
2447         (gdk_event_translate): Set send_event to the value of
2448         InSendMessage (). This doesn't really mean the same as X11's
2449         send_event flag, but is close enough, says jpe@archaeopteryx.com
2450
2451 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2452
2453         * gdk/linux-fb/gdkdnd-fb.c:
2454         Implemented drag and drop.
2455         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
2456         when it tries to free and then copy the same event (info->last_event).
2457         I am not sure about why this happens, but will continue looking.
2458
2459 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2460
2461         * gdk/linux-fb/gdkwindow-fb.c:
2462         Use gdk_window_invalidate_rect instead of
2463         gdk_window_invalidate_rect_clear to minimise flashing.
2464         When hiding windows you need to clear the root window though.
2465
2466 2001-01-15  Alexander Larsson  <alexl@redhat.com>
2467
2468         * gdk/linux-fb/gdkdrawable-fb2.c:
2469         For optization, add an full_shapes argument to gdk_fb_clip_region.
2470         If this is false, only the cliprects of the shapes are used.
2471
2472         * gdk/linux-fb/gdkprivate-fb.h:
2473         Export gdk_fb_window_peek_shape.
2474         Add full_shapes to gdk_fb_clip_region.
2475
2476         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2477         When moving a window, don't clear everything under the it, just the
2478         root window. Makes stuff faster and flash less.
2479         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
2480         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
2481         offset of the shape.
2482         
2483
2484 2001-01-12  Havoc Pennington  <hp@redhat.com>
2485
2486         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
2487         current invalid region, fixes redraw bug while scrolling the 
2488         text widget
2489
2490         * gtk/gtktextview.c, gtk/gtktextview.h:
2491         Rearrange the scrolling/validation/etc. code in a major way, 
2492         so it seems to make sense to me. Probably isn't genuinely that
2493         much better, but...
2494
2495         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
2496         notifies
2497
2498         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2499
2500 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
2501
2502         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
2503         Hide mouse pointer while rotation. Show it afterwards.
2504
2505 2001-01-12  Alexander Larsson  <alexl@redhat.com>
2506
2507         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
2508         windows in consideration when generating clip region.
2509
2510         * gdk/linux-fb/gdkfb.h:
2511         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
2512
2513         * gdk/linux-fb/gdkprivate-fb.h:
2514         Add shape to GdkWindowFBDatat.
2515         exported gdk_fb_window_get_abs_shape().
2516         removed gdk_fb_draw_lines declaration.
2517
2518         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
2519         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
2520         send focus changes when there is a grabbed window.
2521         (gdk_window_get_pointer): Handle shaped windows.
2522         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
2523         (gdk_fb_window_peek_shape): Returns the shape for a window,
2524         handles GDK_FB_USE_CHILD_SHAPE.
2525         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
2526         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
2527         (gdk_window_shape_combine_mask): Implement.
2528
2529         * gtk/gtkwindow-decorate.c:
2530         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
2531         setting the shape of a window makes the window transparent.
2532
2533 2001-01-11  Havoc Pennington  <hp@redhat.com>
2534
2535         * gtk/gtktreemodelsimple.h: Oops, broke some macros
2536
2537 2001-01-10  Havoc Pennington  <hp@redhat.com>
2538
2539         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
2540         add this function, bug 40251
2541
2542         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
2543         of type macro   
2544
2545 2001-01-11  Alexander Larsson  <alexl@redhat.com>
2546
2547         * acconfig.h:
2548         Added ENABLE_SHADOW_FB
2549
2550         * configure.in:
2551         Added --disable-shadowfb
2552
2553         * gdk/linux-fb/gdkcursor-fb.c:
2554         Update shadowfb when updating cursor
2555
2556         * gdk/linux-fb/gdkdrawable-fb2.c:
2557         Added wrappers for shadowfb that calls  the normal drawable
2558         methods, but calls gdk_shadow_fb_update(bounding box) when
2559         GdkWindows are drawed to.
2560         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
2561         which also returns the bounding box.
2562
2563         * gdk/linux-fb/gdkfb.h:
2564         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
2565
2566         * gdk/linux-fb/gdkgeometry-fb.c:
2567         Update shadowfb when scrolling window.
2568
2569         * gdk/linux-fb/gdkglobals-fb.c:
2570         Add _gdk_fb_screen_angle.
2571         
2572         * gdk/linux-fb/gdkkeyboard-fb.c:
2573         Test code for screen rotation. Shift-F2 in the xlate driver
2574         rotates the screen.
2575
2576         * gdk/linux-fb/gdkmain-fb.c:
2577         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
2578
2579         * gdk/linux-fb/gdkmouse-fb.c:
2580         Use fb_width/height instead of modeinfo.xres/yres.
2581
2582         * gdk/linux-fb/gdkprivate-fb.h:
2583         Added fb_men, fb_width, fb_height & fb_stride. When using
2584         shadow fb these can differ from the framebuffer stuff.
2585         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
2586         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
2587         _gdk_fb_screen_angle. Removed CM, RP.
2588
2589         * gdk/linux-fb/gdkrender-fb.c:
2590         Added code for shadowfb handling and screen rotation using
2591         shadowfb.
2592
2593         * gdk/linux-fb/gdkwindow-fb.c:
2594         Use fb_mem, fb_stride, fb_width, fb_height.
2595         Added recompute_rowstride to reset the rowstride of all windows.
2596         Added gdk_fb_recompute_all() which recomputes rootwindow size,
2597         window abs positions and window rowstrides. Usefull when the
2598         rotation has changed.
2599
2600 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
2601
2602         * docs/faq/gtk-faq.sgml: update to make web site updating easier
2603
2604 2001-01-10  Havoc Pennington  <hp@redhat.com>
2605
2606         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
2607         where sibling == iter
2608         (gtk_tree_store_insert_after): handle sibling == iter
2609         (gtk_tree_store_prepend): remove stamp checks
2610         (gtk_tree_store_insert_before): ditto
2611         (gtk_tree_store_append): ditto
2612         (gtk_tree_store_get_path): ditto
2613         (gtk_tree_store_get_value): ditto
2614         (gtk_tree_store_iter_has_child): ditto
2615         (gtk_tree_store_iter_n_children): ditto
2616         (gtk_tree_store_iter_nth_child): ditto
2617         (gtk_tree_store_insert_after): ditto
2618         (gtk_tree_store_is_ancestor): ditto
2619         (gtk_tree_store_iter_depth): ditto
2620         (gtk_tree_store_insert_before): assert that sibling's parent is
2621         the same as the passed-in parent
2622         (gtk_tree_store_insert_after): assert that sibling's parent is
2623         the same as the passed-in parent
2624
2625         
2626         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
2627         function to get the first iterator in a model
2628         
2629         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
2630         conventionally the "root" in this sense is just NULL afaict.
2631
2632         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
2633         where sibling == iter
2634         (gtk_list_store_insert_after): handle case where sibling == iter
2635
2636         * tests/testtreeview.c (run_automated_tests): fairly lame basic
2637         automated tests for ListStore, TreeStore
2638
2639         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
2640         (gtk_list_store_insert): update tail pointer, and fix it to work
2641         (gtk_list_store_insert_before): update tail pointer, and fix it to work
2642         (gtk_list_store_append): use tail to be faster
2643         (gtk_list_store_prepend): fix it, update tail pointer
2644         (gtk_list_store_insert_after): fix it, update tail pointer
2645
2646         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
2647         the list
2648
2649 2001-01-09  Havoc Pennington  <hp@redhat.com>
2650
2651         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
2652         is NULL due to a pending resize
2653
2654         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
2655         column width to values less than 1
2656
2657         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
2658         width to be between min/max width, and still set the width 
2659         even if autosize is turned on, so the tree view can use this 
2660         function in order to autosize.
2661         (gtk_tree_view_column_init): set initial width to 1 not 0
2662
2663         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
2664         setter function to modify column width, so we get notification
2665         (gtk_tree_view_insert_iter_height): ditto
2666         (gtk_tree_view_calc_size): ditto
2667         (gtk_tree_view_check_dirty): ditto
2668
2669         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
2670         properties to change all the interesting attributes of the tree
2671         view column.
2672         (gtk_tree_view_column_set_header_clickable): rename set_clickable
2673         (gtk_tree_view_column_get_clickable): add
2674         (gtk_tree_view_column_set_cell_renderer): don't unset the current
2675         attributes; assume a cell renderer with equivalent object
2676         properties has been swapped in. Do g_object_notify().
2677         (gtk_tree_view_column_set_visible): g_object_notify
2678         (gtk_tree_view_column_get_sizing): rename from get_col_type
2679         (gtk_tree_view_column_set_sizing): g_object_notify
2680         (gtk_tree_view_column_set_width): add g_object_notify
2681         (gtk_tree_view_column_set_min_width): ditto
2682         (gtk_tree_view_column_set_max_width): ditto
2683         (gtk_tree_view_column_set_title): ditto
2684         (gtk_tree_view_column_set_clickable): ditto
2685         (gtk_tree_view_column_set_widget): ditto
2686         (gtk_tree_view_column_set_justification): ditto
2687
2688 2001-01-09  Havoc Pennington  <hp@redhat.com>
2689
2690         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
2691         there are no rows in the model
2692
2693         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
2694         NULL, then return the start of the list
2695
2696         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
2697         if we can't get any rows from an empty model 
2698
2699         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
2700         extraneous * after function pointer typedef usage
2701
2702         * Makefile.am: don't specify full path to cp and rm
2703
2704         * gtk/gtkcellrenderertextpixbuf.c
2705         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
2706         NULL before dereferencing, fixes a segfault that happened from
2707         time to time
2708
2709         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
2710         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
2711         and reindent the function
2712         (gtk_cell_renderer_pixbuf_get_size): indentation
2713
2714         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
2715         we quit it
2716         (gtk_dialog_add_buttons_valist): add g_return_if_fail
2717         (gtk_dialog_set_default_response): New function, to set default
2718         button
2719         (gtk_dialog_set_response_sensitive): New function, to set 
2720         sensitivity of buttons
2721
2722         * gtk/gtkcellrendererpixbuf.c
2723         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
2724         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
2725
2726         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2727         handle any G_TYPE_OBJECT subclass, not just the base class, and 
2728         also boxed types.
2729         (_gtk_tree_data_list_value_to_node): ditto
2730
2731         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
2732         --gtk-debug=tree
2733
2734         * gtk/gtkmain.c: add GTK_DEBUG_TREE
2735
2736         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
2737
2738 2001-01-09  Tor Lillqvist  <tml@iki.fi>
2739
2740         * gdk/win32/gdkevents-win32.c: Implement better mouse
2741         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
2742         (find_window_for_pointer_event): New function.
2743         (gdk_event_translate): Use it when handling mouse events.
2744
2745 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
2746
2747         * configure.in:
2748         Added --with-included-loaders option
2749
2750         * gdk-pixbuf/Makefile.am:
2751         * gdk-pixbuf/gdk-pixbuf-io.c:
2752         Add support for including selected gdk-pixbuf loaders only.
2753
2754         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
2755         gtk_window_set_has_frame):
2756         Added inline documentation.
2757
2758         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
2759         * docs/reference/gdk/tmpl/windows.sgml:
2760         Added inline documentation.
2761
2762 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
2763
2764         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
2765         realizing buttons that have already been realized.
2766
2767 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
2768
2769         * tests/testtreeview.c (main): Show menu items before adding to
2770         option menu.
2771
2772         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
2773         around if we kill them.
2774
2775         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2776         Return if we pass in a NULL model.
2777
2778 2001-01-08  Havoc Pennington  <hp@redhat.com>
2779
2780         * tests/testtreeview.c: hack on this some
2781
2782         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
2783         gtk_tree_store_set_valist, v is for arrays, valist for varargs
2784         list
2785         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
2786
2787         * gtk/gtkliststore.h: Add varargs set() and get() convenience
2788         functions
2789
2790 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2791
2792         * gtk/gtkwindow-decorate.[hc]:
2793         * gtk/Makefile.am:
2794         New files. Contains an implementation of a minimal WM for
2795         linux-fb.
2796
2797         * gtk/gtkwindow.h:
2798         Add the possibility for GtkWindows to specify a frame. This
2799         is used for the window decoration code, but could concievably
2800         be used for X programs too (xmms style windows).
2801         GtkWindow->frame is the toplevel window if the window is framed.
2802         The signal frame_event gets all events that are targeted to
2803         GtkWindow->frame.
2804         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
2805         
2806         * gtk/gtkwindow.c:
2807         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
2808         Call out to gtkwindow-decorate.c for WM support in linx-fb.
2809
2810 2001-01-08  Alexander Larsson  <alexl@redhat.com>
2811
2812         * docs/README.linux-fb:
2813         Correct filename ~/.pangoft2_aliases
2814
2815         * gdk/gdkwindow.h:
2816         Added new function gdk_window_get_decorations.
2817
2818         * gdk/linux-fb/gdkfb.h:
2819         Removed _gdk_window_get_decorations declaration.
2820         Renamed _gdk_window_set_child_handler to
2821         gdk_fb_window_set_child_handler.
2822
2823         * gdk/linux-fb/gdkwindow-fb.c:
2824         Renamed _gdk_window_set_child_handler to
2825         gdk_fb_window_set_child_handler.
2826
2827         * gdk/x11/gdkwindow-x11.c:
2828         New function gdk_window_get_mwm_hints().
2829         Implemented gdk_window_get_decorations.
2830
2831         * docs/reference/gdk/tmpl/windows.sgml:
2832         * docs/reference/gdk/gdk-sections.txt:
2833         Added gdk_window_get_decorations docs.
2834         
2835 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
2836
2837         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
2838         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
2839         gdk_fb_window_send_crossing_events):
2840         Possibly send focus events when the mouse moves from one
2841         window to another.
2842
2843 2001-01-07  Tor Lillqvist  <tml@iki.fi>
2844
2845         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
2846         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
2847         to match current API.
2848
2849         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
2850         environment variable is set, don't call g_error when on a
2851         palettized (PseudoColor) display. Some people want to use GTK+ 
2852         in 256-colour mode even though works only partially.
2853
2854         * gdk/gdk.def
2855         * gtk/gtk.def
2856         * gtk/makefile.mingw.in: Update.
2857
2858 2001-01-05  Havoc Pennington  <hp@redhat.com>
2859
2860         * tests/testtreeview.c: hack on this a bit
2861
2862         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
2863         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
2864
2865         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
2866         was spelled incorrectly
2867         (GTK_IS_TREE_MODEL_SIMPLE): ditto
2868
2869         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
2870         from gtk_tree_view_set_headers_active   
2871
2872         * gtk/gtktexttag.c:
2873         (gtk_text_tag_get_property): handle PROP_DIRECTION
2874         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2875         properties, bug 40235
2876
2877         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2878         forward_to_line_end
2879
2880 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2881
2882         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2883         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2884         for unicode,locale,filename conversion functions.
2885
2886 2001-01-05  Havoc Pennington  <hp@redhat.com>
2887
2888         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2889         broken if called on the first position in the buffer.
2890
2891         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2892         forward_to_delimiters to be called only if we aren't already at
2893         the delimiters.
2894
2895 2001-01-05  Havoc Pennington  <hp@redhat.com>
2896
2897         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2898
2899 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2900
2901         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2902         colormap in here. Sync from X port.
2903         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2904         Sync from X port.
2905         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2906         This happens now and then, and i don't think it is a bug.
2907         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2908         != endpoint.
2909         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2910         GDK_LINE_SOLID.
2911
2912         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2913         some of the fields filled in at least.
2914
2915         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2916         miLineArcD is no more, remove it from the function definition.
2917
2918 2001-01-04  Havoc Pennington  <hp@redhat.com>
2919
2920         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2921         this
2922
2923         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2924         user_data instead of tree_node
2925
2926         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2927         TREE_VIEW_COLUMN_SIZE
2928
2929         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2930         "size" field to "width" finishes bug 40061
2931
2932         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2933         for bitfields, bug 40268
2934
2935 2001-01-04  Havoc Pennington  <hp@redhat.com>
2936
2937         Rename some stuff:
2938         
2939         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2940
2941         s/GtkModelSimple/GtkTreeModelSimple/g;
2942         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2943         s/gtk_model_simple/gtk_tree_model_simple/g;
2944         s/gtkmodelsimple/gtktreemodelsimple/g;
2945
2946         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2947
2948         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2949         s/column_set_col_type/column_set_sizing/g;
2950
2951         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2952         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2953
2954         s/GtkCellRendererType/GtkCellRendererState/g;
2955         
2956         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2957         (gtk_cell_renderer_toggle_class_init): change "state" property to
2958         "active", to match GtkToggleButton
2959         (gtk_cell_renderer_toggle_get_active): new function, bug
2960         40269
2961         (gtk_cell_renderer_toggle_set_active): new function
2962         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2963         state through gtk_cell_renderer_set_active
2964
2965 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2966
2967         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2968         temporarily until they work again.  Brought up to date with
2969         changes in the model.
2970         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2971         model.
2972
2973 2001-01-04  Havoc Pennington  <hp@redhat.com>
2974
2975         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2976         equal to the line length, then position iterator before paragraph 
2977         separators. Fixes crash reported by Mikael Hermansson when
2978         pressing left arrow from the start of a line.   
2979
2980         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2981         about byte indexes off the end
2982         (iter_set_from_char_offset): add g_error about char offsets
2983         off the end
2984
2985 2001-01-03  Havoc Pennington  <hp@redhat.com>
2986
2987         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2988
2989         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2990         of private functions; remove inclusion of private headers.
2991
2992         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2993         function, so we don't need private functions in gtktextdisplay.c
2994
2995         * gtk/gtktextiterprivate.h: underscore-ification
2996
2997         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2998         to instead say "only useful to implement widgets"
2999
3000         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3001         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3002         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3003
3004         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3005         This function was completely broken
3006
3007         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3008
3009         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3010
3011         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3012
3013         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3014
3015         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3016
3017         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3018
3019         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3020         gtk_paint_layout
3021
3022         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3023         gtk_paint_layout
3024
3025         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3026         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3027         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3028         which were not implemented.     
3029
3030         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3031         insert_pixbuf signal. Rename delete_text to delete_range since it
3032         also deletes pixbufs and child anchors. This almost closes bug
3033         40245 (still need to deal with child anchors)
3034
3035         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3036         insert_pixbuf, change signal names as appropriate, change types of
3037         signals taking marks/tags to have the specific type, not just
3038         G_TYPE_OBJECT
3039         
3040         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3041         closes bug 40051
3042
3043         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3044         unnecessary remove_contents() call
3045         (gtk_option_menu_class_init): add a "changed" signal, closes
3046         bug 40039
3047         (gtk_option_menu_update_contents): emit "changed" if the 
3048         active menu item changes
3049
3050         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3051         cast to GtkObject, reported by Jonas Borgstrom
3052         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3053         we can't do stuff with side effects in finalize. Instead, spew a
3054         warning if the loader isn't closed.
3055
3056         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3057         colormap in here, non-X ports probably need to sync to this change
3058
3059         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3060         assertion that colormap != NULL, you can set the colormap to NULL
3061         if you like.
3062         
3063         * Makefile.am: remove gtk-config-2.0
3064
3065         * configure.in: Use pkg-config to locate GLib. Remove
3066         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3067         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3068         Use pkg-config to locate Pango. Output correct Pango libs to
3069         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3070
3071         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3072         files
3073         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3074         X11 pc files
3075
3076         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3077         unref from here
3078
3079 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3080
3081         * configure.in:
3082         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3083
3084 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3085
3086         * gtk/gtktextlayout.c
3087         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3088         variable when moving back onto a single line.
3089
3090 2001-01-01  Havoc Pennington  <hp@redhat.com>
3091
3092         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3093
3094         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3095
3096         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3097         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3098
3099 2001-01-01  Havoc Pennington  <hp@redhat.com>
3100
3101         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3102
3103         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3104         GtkTextAttributes
3105
3106         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3107         #40246
3108         (gtk_text_attributes_copy_values): rename from 
3109         gtk_text_attributes_copy
3110         (gtk_text_attributes_copy): a more standard GTK copy function, 
3111         which returns a new object
3112
3113 2001-01-01  Havoc Pennington  <hp@redhat.com>
3114
3115         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3116         
3117         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3118         don't fill in tree_view->priv->selection, kind of an unexpected
3119         side effect
3120
3121         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3122         gtkintl.h
3123         
3124         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3125         gtkintl.h
3126         (gtk_cell_renderer_get_property): remove calls to g_value_init
3127
3128         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3129         gtkintl.h
3130
3131         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3132         and include gtkintl.h
3133         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3134         property names
3135
3136         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3137         GtkTreeSelection
3138         (_gtk_tree_selection_new_from_with_view): rename, return
3139         GtkTreeSelection
3140         (_gtk_tree_selection_set_tree_view): rename with uscore
3141         (gtk_tree_selection_get_selected): fill in the "model" out param
3142         first, so it gets filled in even if we return at the top of the 
3143         function
3144         (gtk_tree_selection_real_select_all): add a comment and an else{}
3145         to clarify this a bit
3146         (gtk_tree_selection_real_unselect_all): add the same else{}
3147
3148         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3149         set_tree_view to have underscore prefixes, move them to the
3150         private header, fix return type of new_with_tree_view
3151         (struct _GtkTreeSelection): mark struct
3152         fields private  
3153
3154         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3155         GtkTreeModelFlags, not a guint
3156         (gtk_tree_path_prev): return gboolean not gint
3157         (gtk_tree_path_up): return gboolean not gint
3158
3159         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3160         return GtkTreeModelFlags, not a guint
3161
3162         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3163         that child model is non-null before unrefing it
3164         (g_value_int_compare_func): make this a qsort compare func, not 
3165         a boolean predicate
3166
3167         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3168         (add -umn to the end), and mark it unimplemented
3169         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3170         I don't see what it's for - doesn't the model always sort itself?
3171         (gtk_tree_model_sort_set_compare): this had the wrong signature
3172
3173         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
3174         Fix the docs to say that it destructively replaces existing
3175         attributes (previously said that it added attributes).
3176         (gtk_tree_view_column_set_visible): canonicalize bool before
3177         equality testing. Also, check for realization before
3178         hiding/showing the tree_column->window; if this window could exist
3179         before realization, then it's busted and needs fixing, we can't 
3180         create GDK resources pre-realization. Also, remove
3181         superfluous queue_resize(), since set_size() does that for us.
3182         (gtk_tree_view_column_set_col_type): check realization before 
3183         using tree_column->window
3184
3185         * gtk/gtktreedatalist.c: fix filename in copyright notice
3186
3187 2000-12-31  Havoc Pennington  <hp@pobox.com>
3188
3189         * gtk/gtktextview.c: Rearrange all the
3190         scroll-while-dragging-or-selecting code to be different, not
3191         necessarily better. ;-)
3192         (gtk_text_view_scroll_to_mark): Change this
3193         function to take within_margin as a fraction instead of a pixel
3194         value, and to take alignment arguments (indicating where to align 
3195         the mark inside the visible area)
3196         
3197         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
3198         to GtkObject
3199
3200         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
3201         behavior so that offsets past the end of the line are not 
3202         allowed, and an offset equal to the line length moves the iterator
3203         to the next line
3204         (gtk_text_iter_set_line_index): make parallel change
3205         (gtk_text_iter_get_bytes_in_line): add this function
3206         
3207         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
3208         of byte indexes off the end of the line; byte index at the end of
3209         the line now returns FALSE and doesn't fill in the requested
3210         values, byte index past the end of the line is an error.  Also,
3211         don't allow -1 offset anymore, since its meaning is unclear.
3212
3213         This change exposes some bug in visual cursor motion, where we
3214         end up with a huge invalid byte index; needs fixing. Symptom of 
3215         bug is a crash when you hit up arrow.
3216         
3217         (_gtk_text_line_char_locate): match the change to byte_locate
3218
3219         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
3220         from start of line properly. fixes bug reported by Mikael
3221         Hermansson where backspace would delete all text before the
3222         cursor.
3223
3224 2000-12-30  Tor Lillqvist  <tml@iki.fi>
3225
3226         * gdk/win32/gdkwindow-win32.c
3227         (gdk_window_impl_win32_get_visible_region): New function, as in
3228         the X11 backend.
3229         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
3230         instead of duplicating the same code here.
3231
3232         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
3233         GDK_COLORMAP macro.
3234
3235         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
3236         destroy function.
3237         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
3238         access that.
3239
3240         * gtk/gtk.def: Update.
3241
3242         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
3243
3244 2000-12-30  Havoc Pennington  <hp@pobox.com>
3245
3246         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
3247         colormap on input only windows, to avoid special cases all over
3248         the code for these windows.
3249
3250 2000-12-26  Tor Lillqvist  <tml@iki.fi>
3251
3252         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
3253         we are on a palettized display ("PseudoColor" in X11), as the code
3254         for that doesn't work anyway, and never has.
3255
3256 2000-12-22  Alexander Larsson  <alexl@redhat.com>
3257
3258         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
3259         Don't use isprint() for chars > 255.
3260
3261 2000-12-21  Havoc Pennington  <hp@redhat.com>
3262
3263         * tests/testtreeview.c: more work
3264
3265 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3266
3267         * docs/README.linux-fb:
3268         Update the docs to the new pangoft2 way.
3269
3270 2000-12-21  Alexander Larsson  <alexl@redhat.com>
3271
3272         * configure.in:
3273         For linux-fb get the pangoft2 cflags and libs. This needs a recent
3274         pango version.
3275         Remove modules/linux-fb/Makefile.
3276
3277         * gdk/linux-fb/gdkdrawable-fb2.c:
3278         Render glyphs using freetype.
3279
3280         * gdk/linux-fb/gdkfb.h:
3281         Add new fb-specific functions needed for managing windows.
3282
3283         * gdk/linux-fb/gdkmain-fb.c:
3284         Remove gdk_font_init/fini() calls.
3285
3286         * gdk/linux-fb/gdkpango-fb.c:
3287         Remove old implementation. Use pangoft2 instead.
3288
3289         * gdk/linux-fb/gdkprivate-fb.h:
3290         Remove PangoFBFont and related stuff.
3291
3292         * gdk/linux-fb/gdkwindow-fb.c:
3293         Implement drawable->get_visible_region.
3294         Implement support for _gdk_window_set_child_handler () and
3295         _gdk_window_get_decorations().
3296
3297         * modules/Makefile.am:
3298         Remove linux-fb subdir.
3299
3300         * modules/linux-fb/*:
3301         Removed all.
3302         
3303 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
3304
3305         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
3306         calls, as they are no longer needed.
3307
3308         * gtk/gtktreemodelsort.c: Fix up the comparison code.
3309         
3310         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
3311         figure out how to emit a signal on an interface.
3312
3313 2000-12-20  Havoc Pennington  <hp@redhat.com>
3314
3315         * tests: new directory to contain tests, gtk/test* should move
3316         here sometime (with appropriate on-cvs-server hackery)
3317
3318         * tests/testtreeview.c, tests/Makefile.am: a test
3319         
3320         * configure.in (AC_OUTPUT): add tests/Makefile
3321
3322         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
3323         and "invisible_set" which were missing
3324
3325         * gtk/gtkrbtree.h: some cheesy indentation fix
3326         
3327 2000-12-20  Alexander Larsson  <alexl@redhat.com>
3328
3329         * gtk/gtkinvisible.c (gtk_invisible_realize):
3330         Attach the style to the window so that the style it is not
3331         leaked when unrealizing the window.
3332
3333 2000-12-18  Havoc Pennington  <hp@redhat.com>
3334
3335         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
3336         begin/end user action where appropriate
3337         (gtk_text_view_commit_handler): add begin/end user action
3338
3339         * gtk/gtktextbuffer.c: add begin/end user action signals, and
3340         bracket interactive operations with begin/end user action pair.
3341         
3342         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
3343         "interactive" arg from insert_text and delete_text signals.
3344         Add begin_user_action, end_user_action signals
3345         (gtk_text_buffer_begin_user_action): 
3346         (gtk_text_buffer_end_user_action): New functions to delimit 
3347         a user-visible action
3348
3349         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
3350         signals.
3351         
3352 2000-12-18  Havoc Pennington  <hp@redhat.com>
3353
3354         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
3355         was pretty non-working.
3356
3357         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
3358         by passing the length to g_utf8_validate().
3359
3360 2000-12-16  Havoc Pennington  <hp@pobox.com>
3361
3362         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
3363         Port to GObject, can go back in gdk-pixbuf after setting up 
3364         a gdk-pixbuf-marshal.h header over there.
3365
3366         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
3367         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
3368         args
3369         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
3370         set
3371         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
3372         here, do it when we create the buttons later
3373         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
3374         (gtk_tree_view_map): paranoia checks that column->button is shown 
3375         and unmapped
3376         (gtk_tree_view_size_request): only request visible children.
3377         Move header size calculation in here, for cleanliness, and 
3378         to maintain invariants for child widgets if we eventually 
3379         let users set different children inside the buttons
3380         (gtk_tree_view_map_buttons): factor out code to map buttons,
3381         since it was being called several times
3382         (gtk_tree_view_size_allocate_buttons): move_resize the drag
3383         windows instead of just moving them; their height may change 
3384         if we allow random widgets in there, or the theme changes.
3385         (gtk_tree_view_size_allocate): move button size allocation 
3386         above emitting the scroll signals, to ensure a sane state when we
3387         hit user code
3388         (gtk_tree_view_button_release): remove queue_resize after
3389         tree_view_set_size(), set_size() will handle any resize queuing
3390         that's needed
3391         (gtk_tree_view_focus_in): just queue a draw, don't fool with
3392         draw_focus goo
3393         (gtk_tree_view_focus): use gtk_get_current_event() and
3394         gdk_event_get_state()
3395         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
3396         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
3397         semicolon
3398         (gtk_tree_view_create_button): show the button here
3399         (gtk_tree_view_button_clicked): actually emit the clicked signal
3400         on the column
3401         (_gtk_tree_view_set_size): return right away if the size is
3402         unchanged, as a cheesy optimization
3403         (gtk_tree_view_setup_model): rename set_model_realized to 
3404         setup_model to match the flag that indicates whether we've 
3405         called it
3406         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
3407         exist, because set_scroll_adjustment does that and it shouldn't
3408         matter what order you call these in
3409         (gtk_tree_view_get_vadjustment): ditto
3410         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
3411         for paranoia
3412         (gtk_tree_view_set_headers_visible): call
3413         gtk_tree_view_map_buttons() instead of using cut-and-paste code
3414         (gtk_tree_view_append_column): clarify whether the return value
3415         is the count of columns before or after, and do the increment 
3416         separately from the return statement so you can tell from the code.
3417         (gtk_tree_view_remove_column): ditto
3418         (gtk_tree_view_insert_column): ditto
3419         (gtk_tree_view_get_column): remove g_return_if_fail for columns
3420         outside the existing range, the docs say that outside-range
3421         columns are allowed, so we handle them as documented. (Presumably
3422         this allows a nice loop with column != NULL as test.)
3423         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
3424         mean (left/right/center etc.).
3425         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
3426         (gtk_tree_view_expand_row): add docs
3427         (gtk_tree_view_collapse_row): add docs
3428
3429         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
3430         function to emit the clicked signal on a column
3431         
3432         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
3433         state of an event
3434         (gdk_event_get_time): don't treat GDK_SCROLL 
3435         as a button event, remove default case from switch so gcc 
3436         will whine if we don't explicitly handle all event types
3437
3438         * gtk/gtktreeselection.h: added some FIXME 
3439         
3440         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
3441         "columns" to "n_columns" and "column" to "columns" for clarity
3442
3443 2000-12-16  Havoc Pennington  <hp@pobox.com>
3444         
3445         * gtk/gtktextiter.c: General cleanup of the log attr iteration
3446         stuff. This should make e.g. the delete key work again in the
3447         text widget...
3448         (gtk_text_iter_forward_cursor_positions): handle negative count
3449         (gtk_text_iter_backward_cursor_positions): handle negative count
3450         (gtk_text_iter_forward_word_ends): handle negative count
3451         (gtk_text_iter_backward_word_starts): handle negative count
3452
3453         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
3454         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
3455         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
3456         GObject. No doubt will cause breakage.
3457
3458         * demos/gtk-demo/textview.c: remove hacks around
3459         non-GObject-ification of the text objects
3460
3461         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
3462         the text tag
3463         
3464 2000-12-14  Havoc Pennington  <hp@pobox.com>
3465
3466         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
3467         that we have Xrender
3468
3469 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
3470
3471         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
3472         Add two virtualized functions gdk_drawable_get_clip_region - to
3473         get the clip region when drawing.
3474         
3475         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
3476         use invalidate_region.
3477
3478         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
3479         region.
3480
3481         * acconfig.h configure.in: Check for Xft. For now, assume
3482         that if Xft is found, Pango was compiled with Xft support
3483         as well.
3484
3485         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
3486         gdk_colormap_query_color().
3487         
3488         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
3489         with Xft if appropriate.
3490
3491         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
3492         a pangoxft context if we have XFT and the environment
3493         variable GD_USE_XFT is set.
3494         
3495         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
3496         and also possibly an XftDraw structure.
3497
3498         * gtk/gtkfontsel.c: Handle the case where the font from the
3499         style doesn't match any of the fonts a bit better.
3500         
3501         * gtk/testgtk.c: Add tabs between directional segments for
3502         hebrew/arabic test. (Not really necessary, just a little
3503         prettier.)
3504
3505 2000-12-14  Havoc Pennington  <hp@redhat.com>
3506
3507         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
3508         reading a file
3509
3510 2000-12-14  Havoc Pennington  <hp@redhat.com>
3511
3512         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
3513         unused call to get_last_line()
3514
3515         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
3516         here until boxed is working (and maybe after that - we should
3517         really not gratuitously break old code)
3518
3519         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
3520         specific types for font_desc and tabs args, move them to
3521         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
3522         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
3523
3524         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
3525         use GTK_TYPE_POINTER for signal signatures as a hack-around
3526
3527         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
3528         PangoTabArray
3529
3530         * gtk/gtktextlayout.c (line_display_iter_to_index): 
3531         make static
3532         (line_display_index_to_iter): make static
3533
3534         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
3535         to marshal a string not a boxed
3536
3537         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
3538
3539         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
3540         since the UTF-8 isn't validated yet
3541
3542         * gtk/gtktextsegment.c (char_segment_check_func): don't require
3543         lines to end in '\n'
3544         
3545         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
3546         forward_to_delimiters, and grapheme boundaries
3547         (gtk_text_view_delete_from_cursor): properly handle non-newline
3548         delimiters, and grapheme boundaries
3549
3550         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
3551         to gtk_text_iter_forward_to_delimiters, and make it work properly
3552         if empty lines end with a character other than '\n'
3553
3554         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
3555         position
3556
3557 2000-12-15  Tor Lillqvist  <tml@iki.fi>
3558
3559         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
3560
3561         * gtk/gtk.def
3562         * gdk/gdk.def: Update.
3563
3564         * gdk/win32/gdkmain-win32.c
3565         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
3566         gdkmain-win32.c here.
3567
3568         * gdk/win32/makefile.mingw.in (all): No need to make
3569         gdk-win32res.o here, the makefile one step up will call us to make
3570         it.
3571
3572         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
3573         gdkkeys-win32.
3574
3575         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
3576
3577         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
3578         call to g_source_add().
3579
3580         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
3581         leak. Thanks to Andreas Kemnade.
3582
3583 2000-12-13  Havoc Pennington  <hp@pobox.com>
3584
3585         * gtk/gtktextbtree.h: Remove double _ in front of some functions
3586
3587         * gtk/gtktext*.[hc]: update accordingly
3588         
3589 2000-12-13  Havoc Pennington  <hp@pobox.com>
3590
3591         * gtk/gtktextbtree.h: Put _ in front of every function in this 
3592         header file
3593
3594         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
3595
3596 2000-12-13  Alex Larsson  <alexl@redhat.com>
3597
3598         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
3599         Add support for ps2 intellimouse.
3600
3601         * gdkkeyboard-fb.c:
3602         Move shift-F1 repaint handling to xlate handler only.
3603         
3604         * docs/README.linux-fb:
3605         Add imps2 to docs.
3606         Document the new refresh keys.
3607         
3608 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
3609
3610         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
3611
3612         * gtk/gtkbox.c: change property types from (u)long to (u)int for
3613         ::position and ::padding.
3614
3615         * gtk/gtkcontainer.c: make ::border_width an INT property.
3616
3617         * gtk/gtkpacker.c: make ::position an INT property.
3618
3619         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
3620         guard against NULL h/v scrollbars, since this is used at construction
3621         time.
3622
3623         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
3624         internal gtk_clist_constructor().
3625
3626         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
3627         gtk_ctree_constructor().
3628
3629         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
3630         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
3631
3632         * docs/reference/Makefile.am: fun stuff, disabled docs generation
3633         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
3634
3635         * gtk/gtkwidget.[hc]:
3636         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
3637         and gtk_widget_get().
3638         (gtk_widget_new): use g_object_new_valist().
3639         (gtk_widget_set): use g_object_set_valist().
3640
3641         * gtk/gtkobject.[hc]:
3642         removed gtk_object_arg_get_info(), gtk_object_getv(),
3643         gtk_object_query_args(), gtk_object_newv(),
3644         gtk_object_class_add_signals(),
3645         gtk_object_class_user_signal_new(),
3646         gtk_object_class_user_signal_newv(),
3647         gtk_object_arg_set(), gtk_object_arg_get(),
3648         gtk_object_args_collect(),
3649         gtk_object_default_construct(),
3650         gtk_object_constructed(),
3651         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
3652         removed nsignals, signals and n_args members from GtkObjectClass.
3653         (gtk_object_new): use g_object_new_valist().
3654         (gtk_object_set): use g_object_set_valist().
3655         (gtk_object_get): use g_object_get_valist().
3656         
3657         * gtk/gtkcompat.h: define gtk_object_default_construct().
3658         
3659         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
3660         g_object_new().
3661
3662         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
3663         fucntions, cleaned up method assignments (make sure your structures
3664         are setup properly before calling out). removed all GTK_CONSTRUCTED
3665         hacks ;)
3666
3667 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
3668
3669         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
3670         off-by-one error in checks. (Dave Lambert)
3671
3672 2000-12-12  Alexander Larsson  <alexl@redhat.com>
3673
3674         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
3675         Don't free gdk_fb_keyboard twice.
3676
3677 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
3678
3679         * gtk/testgtk.c:
3680         (create_tooltips): 
3681         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
3682         use GObject swapped_signal:: properties instead.
3683
3684         * gtk/gtkcellrenderertoggle.c: 
3685         * gtk/gtkcellrenderertextpixbuf.c: 
3686         * gtk/gtkcellrenderertext.c: 
3687         * gtk/gtkcellrendererpixbuf.c: 
3688         * gtk/gtkcellrenderer.c:
3689         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
3690         missing warnings for invalid property ids, install properties
3691         with g_object_class_install_property() now.
3692         
3693         * gtk/gtksignal.c:
3694         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
3695         
3696 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
3697         
3698         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
3699         to determine if a window is the focus widget within
3700         its toplevel.
3701
3702         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
3703         to be boolean.
3704
3705         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
3706         of the case where the container CAN_FOCUS to here instead
3707         of having it in each individual move-the-focus place.
3708
3709         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
3710         focusing to be geometric in a much more obvious sense. Arrowing
3711         around is still non-intuitive because it isn't perfect and
3712         because entries, etc, grab the arrow keys, but it at least
3713         usually will do what you expect now.
3714         
3715         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
3716         file.
3717
3718         * gtk/gtknotebook.c: Change tabs to be a single item in
3719         the focus chain. Make movement of focus on tabs with arrow
3720         keys wrap around.
3721         
3722         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
3723         CHECK_FIND_CHILD macro to give informative error messages
3724         instead of silent returns.
3725
3726         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
3727         flag since we handle GdkReturn on the tabs.
3728
3729         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
3730         windows rather than sending expose events directly.
3731
3732         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
3733         definition for GtkNotebookPage into .c file, since it is private.
3734
3735         * gtk/testgtk.c (create_notebook): Add option for 
3736         testing borderless notebook.
3737
3738         * gtk/testgtk.c (page_switch): Removed egregious poking
3739         around in GTK+ internals.
3740
3741         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
3742
3743         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
3744         properly through gtk_clist_focus. Make the title headers a
3745         single item in the tab-focus chain, and make left-right wrap
3746         around.
3747
3748         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
3749         focus method so that wrapping around works properly.
3750
3751         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
3752         that is handled for the widget now. 
3753
3754 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
3755
3756         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
3757         widgets as TOPLEVEL.
3758
3759         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
3760         TOPLEVEL widgets are containers.
3761
3762         * gtk/gtkinvisible.h: Remove useless include.
3763
3764 2000-12-11  Havoc Pennington  <hp@redhat.com>
3765
3766         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
3767         Handle chopping off \r\n and 0x2029 in addition to \n before
3768         passing to PangoLayout
3769
3770         * gtk/gtkimcontextsimple.c
3771         (gtk_im_context_simple_get_preedit_string): 
3772         return an empty string if no match is pending
3773
3774         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
3775         assertion that the returned preedit string was sane
3776
3777         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
3778         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
3779         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
3780
3781 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
3782
3783         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
3784         Fix up finalizer to chain to its parent.
3785
3786 2000-12-11  Alexander Larsson  <alexl@redhat.com>
3787
3788         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
3789         Clearified the difference between the keyboard types. Wrote a note
3790         about the magic sysrq key to get out of raw mode.
3791
3792 2000-12-09  James Henstridge  <james@daa.com.au>
3793
3794         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
3795         member to hold masks for detecting the start of a protocol packet.
3796         (mouse_devs): add packet start masks for ps2 and ms device types.
3797         Left the mask for fidmour blank, as I have no idea what it should
3798         be.
3799         (handle_mouse_io): skip bytes until we get to the start of a
3800         packet.  My Logitech mouse seems to be passing an extra NULL pad
3801         byte, and GPM does a similar thing here.
3802         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
3803         this is the ms mouse driver.
3804         (gdk_fb_mouse_ms_packet): fix up button handling, which was
3805         completely broken except for button1.  It was checking the wrong
3806         bit in the packet for the status of the right mouse button, and
3807         wrongly assuming right == button2 rather than 3.  I fixed that and
3808         also added support for middle button (button2).
3809
3810 2000-12-08  Havoc Pennington  <hp@redhat.com>
3811
3812         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
3813         that cause a segfault on text insertion
3814
3815         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
3816         warning
3817
3818         * gtk/gtktextiter.c (test_log_attrs): use
3819         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
3820
3821         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
3822         Get log attrs for a line, using a cache stored on the buffer
3823         
3824         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
3825         reported by Jeff Franks
3826
3827 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3828
3829         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
3830         /dev/ttyS0 -> /dev/mouse
3831
3832 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3833
3834         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
3835         Added dummy gdk_fontset_load.
3836
3837 2000-12-08  Alexander Larsson  <alexl@redhat.com>
3838
3839         * docs/README.linux-fb:
3840         * docs/Makefile.am:
3841         Initial GtkFB docs.
3842         
3843         * gdk/linux-fb/Makefile.am:
3844         Define GDK_DATA_PREFIX.
3845
3846         * gdk/linux-fb/gdkmain-fb.c:
3847         Fix typo.
3848         Change default display to /dev/fb0.
3849
3850         * gdk/linux-fb/gdkpango-fb.c:
3851         Add $(prefix)/share/fonts/ to font path.
3852         
3853 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
3854
3855         * gdk/linux-fb/gdkkeyboard-fb.c:
3856         New file containing the abstracted keyboard driver. Most code
3857         taken from gdkinput-ps2.c
3858
3859         * gdk/linux-fb/gdkinput-ps2.c:
3860         Removed file.
3861         
3862         * gdk/linux-fb/Makefile.am:
3863         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
3864
3865         * gdk/linux-fb/gdkcolor-fb.c:
3866         display->fb was renamed to display->fb_fd.
3867
3868         * gdk/linux-fb/gdkcursor-fb.c:
3869         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3870
3871         * gdk/linux-fb/gdkinput.c:
3872         Moved gdk_input_init here from gdkinput-ps2.c
3873
3874         * gdk/linux-fb/gdkmain-fb.c:
3875         display->fb was renamed to display->fb_fd.
3876         Now the tty and the console is opened here instead
3877         of in the keyboard driver. Also check GDK_VT to see what
3878         tty to open.
3879         Move gdk_beep () here from gdkinput-ps2.c
3880         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3881
3882         * gdk/linux-fb/gdkmouse-fb.c:
3883         Add header.
3884         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3885         Return correct keyboard modifiers.
3886         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3887
3888         * gdk/linux-fb/gdkprivate-fb.h:
3889         Add tty and vt info to display.
3890         Add orignal modeinfo storage to display
3891         Update global functions
3892
3893         * gdk/linux-fb/gdkwindow-fb.c:
3894         Added gdk_fb_window_find_focus().
3895         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3896
3897 2000-12-07  Havoc Pennington  <hp@pobox.com>
3898
3899         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3900         function, noticed by Alex
3901
3902 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3903
3904         * configure.in: Detect freetype properly
3905
3906         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3907         above.
3908
3909 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3910
3911         * gdk/linux-fb/Makefile.am:
3912         Add gdkmouse-fb.c
3913         
3914         * gdk/linux-fb/gdkmouse-fb.c:
3915         New file. Abstracted the mouse drivers a bit.
3916
3917         * gdk/linux-fb/gdkcursor-fb.c:
3918         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3919
3920         * gdk/linux-fb/gdkinput-ps2.c:
3921         Removed old mouse handling code. Moved cursor handling code
3922         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3923         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3924         gdk_mouse_get_info.
3925
3926         * gdk/linux-fb/gdkmain-fb.c:
3927         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3928
3929         * gdk/linux-fb/gdkprivate-fb.h:
3930         Removed public gdk_fb_find_common_ancestor, added and renamed
3931         functions for the new mouse handling code.
3932
3933         * gdk/linux-fb/gdkwindow-fb.c:
3934         Moved gdk_fb_window_send_crossing_events here. added global
3935         variable gdk_fb_window_containing_pointer. made
3936         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3937         renamed to gdk_mouse_get_info.
3938
3939 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3940
3941         * gdk/linux-fb/gdkevents-fb.c:
3942         Update to match latest gmain/gsource changes.
3943
3944         * gdk/linux-fb/gdkinput-ps2.c:
3945         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3946         it links. Will be implemented later.
3947
3948 2000-12-03  Havoc Pennington  <hp@pobox.com>
3949
3950         * gdk/Makefile.am: add gdkkeys.[hc]
3951
3952         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3953         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3954
3955         * acconfig.h, configure.in: add checks and command line options
3956         for XKB
3957
3958         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3959         
3960         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3961         and group in the key event
3962
3963         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3964         field with the low-level hardware key code, and a group
3965         field with the keyboard group
3966
3967         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3968         and declare a couple globals used for keymap handling
3969         
3970         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3971         hold down Shift-Control and type a hex number to get a Unicode 
3972         character corresponding to the hex number
3973         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3974         (return bytes not chars)
3975
3976 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3977
3978         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3979         to avoid waste on 64-bit platforms.
3980
3981 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3982
3983         * INSTALL: Fix link to PNG home, remove reference
3984         to fribidi.
3985
3986         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3987         
3988         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3989         tested.)
3990
3991         * gtk/gtkcheckmenuitem.c: Permanently turn on
3992         always_show_toggle.
3993
3994         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3995         be NULL. (Vladimir Klebanov, #26545)
3996
3997         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3998         some signed/unsigned comparison problems. (#6510,
3999         David Kaelbling)
4000
4001         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4002         return type to boolean (Oskar Liljeblad, #18648)
4003
4004 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4005
4006         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4007         Remove bogus colormap setting.
4008
4009 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4010
4011         * gdk/linux-fb/gdkcolor-fb.c:
4012         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4013
4014         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4015         Must set colormap.
4016         
4017 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4018
4019         * docs/tutorial/gtk-tut.sgml: DND updates
4020
4021 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4022
4023         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4024         Remove old debug g_warning().
4025         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4026         or an implementation, just pass the implementation to draw_drawable_2.
4027         
4028         * gdk/linux-fb/gdkprivate-fb.h:
4029         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4030
4031         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4032         clear and invalidate area when window is destroyed.
4033         (send_map_events): Remove old commented out code.
4034
4035 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4036
4037         * gdk/linux-fb/gdkpango-fb.c:
4038         Use italic instead of oblique in font aliases.
4039         
4040         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4041         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4042         other unsupported functions.
4043
4044 2000-12-04  Havoc Pennington  <hp@redhat.com>
4045
4046         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4047
4048         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4049
4050         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4051
4052         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4053         hack to avoid infinite loops (synthetic expose event) - 
4054         Owen has more appropriate fixes in a branch he'll check in later.
4055
4056         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4057         separator, CR, and CRLF as line ends
4058
4059         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4060         into lines using pango_find_paragraph_boundary(); other bits of
4061         the widget are still going to be broken if the boundary isn't '\n'
4062         though
4063
4064 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4065
4066         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4067         multiply.
4068
4069         * gdk/linux-fb/gdkpango-fb.c:
4070         Copied some 26.6 scaling macros from pango to clean up the rounding.
4071         (pango_fb_font_get_glyph_info): Correct sign on x value.
4072
4073         * gdk/linux-fb/gdkprivate-fb.h:
4074         Removed unreferenced external functions.
4075
4076         * modules/linux-fb/Makefile.am: Use ` instead of '.
4077
4078         * modules/linux-fb/basic.c:
4079         Remove dead code. In particular the dummy lang engine which broke all
4080         pango layouts in GtkFB. Don't include tables-big.i anymore.
4081
4082         * modules/linux-fb/tables-big.i:
4083         Upgrade to latest version from pango. Left for reference, basic_ranges
4084         moved to basic.c.
4085         
4086 2000-12-04  Havoc Pennington  <hp@redhat.com>
4087
4088         Fix bugs Alex found:
4089         
4090         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4091         to "draw"
4092
4093         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4094
4095         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4096
4097         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4098         implementation in here, apparently the expose() implementation was
4099         dead code.
4100
4101 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4102
4103         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4104         Return positive descent.
4105
4106 2000-12-02  Havoc Pennington  <hp@pobox.com>
4107
4108         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4109         method and signal
4110         
4111         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4112         calls gdk_window_process_updates() to push the exposes through
4113         (gtk_widget_class_init): No more draw signal, no
4114         gtk_widget_real_draw()  
4115         
4116         * gtk/gtkbin.c (gtk_bin_draw): remove
4117
4118         * gtk/gtkbox.c (gtk_box_draw): remove
4119
4120         * gtk/gtkbutton.c (gtk_button_draw): remove
4121
4122         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4123
4124         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4125
4126         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4127
4128         * gtk/gtkclist.c (gtk_clist_draw): remove
4129
4130         * gtk/gtkentry.c (gtk_entry_draw): remove
4131
4132         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4133
4134         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4135
4136         * gtk/gtkframe.c (gtk_frame_draw): remove
4137
4138         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4139
4140         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4141
4142         * gtk/gtklayout.c (gtk_layout_draw): remove
4143
4144         * gtk/gtklist.c (gtk_list_draw): remove
4145
4146         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4147
4148         * gtk/gtkmenu.c (gtk_menu_draw): remove
4149
4150         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4151
4152         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4153
4154         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4155
4156         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4157
4158         * gtk/gtkpacker.c (gtk_packer_draw): remove
4159
4160         * gtk/gtkrange.c (gtk_range_draw): remove
4161
4162         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4163
4164         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4165
4166         * gtk/gtktable.c (gtk_table_draw): remove
4167
4168         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4169
4170         * gtk/gtktext.c (gtk_text_draw): remove
4171
4172         * gtk/gtktextview.c (gtk_text_view_draw): remove
4173
4174         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
4175
4176         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
4177
4178         * gtk/gtktree.c (gtk_tree_draw): remove
4179
4180         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
4181
4182         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
4183
4184         * gtk/gtkviewport.c (gtk_viewport_draw): remove
4185
4186         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
4187
4188         * gtk/gtkvscale.c (gtk_vscale_draw): remove
4189
4190         * gtk/gtkwindow.c (gtk_window_draw): remove
4191
4192 2000-20-01  Anders Carlsson  <andersca@gnu.org>
4193
4194         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
4195         a GtkToggleButton is both insensitive and active, it was being
4196         drawn by the GtkButton draw handler which doesn't check the
4197         state. Now it's calling gtk_toggle_button_paint instead.
4198         
4199 2000-12-01  Havoc Pennington  <hp@redhat.com>
4200
4201         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
4202         dangling pointers to the appearance attributes from the 
4203         line display
4204
4205         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
4206         width/height to mean "full width/height of drawable"
4207
4208         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
4209         click to select word/line
4210         
4211         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
4212         when getting log attrs. Get a slice, so that pixmaps and stuff
4213         are properly handled.
4214
4215         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
4216         paste into the selection (replaces selection now, previously
4217         crashed or added to selection). Reveals longstanding btree bug -
4218         select multiple lines, middle-click on the selection, boom. This
4219         isn't related to my changes though.
4220
4221         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
4222         PangoLogAttrs changes
4223         (gtk_entry_move_backward_word): ditto
4224
4225         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
4226         functions return bool whether the iter moved onto a
4227         dereferenceable position.
4228  
4229         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
4230         functions for motion in terms of display lines.
4231
4232         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
4233         get the buffer a mark is inside
4234         
4235 2000-12-01  Alexander Larsson  <alexl@redhat.com>
4236
4237         * gdk/linux-fb/Makefile.am:
4238         * modules/linux-fb/Makefile.am:
4239         Freetype 2 final uses freetype-config
4240
4241         * gdk/linux-fb/gdkpango-fb.c:
4242         Upgrade to use Freetype 2 final.
4243         More flexible support for font aliases, this also fixes a bug with
4244         GtkFontSelector, as the aliases must be visible in the font/family list,
4245         or GtkFontSelector reads uninitialized memory.
4246
4247 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
4248
4249         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
4250         XGetIMValues to properly terminate variable argument list, and do
4251         NULL return check for ic_values and xim_styles.
4252
4253         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
4254         Restore preedit state after XmbResetIC().
4255         
4256         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
4257         XvaCreateNestedList() should take XvaNestedList, but not
4258         XvaNestedList*.
4259
4260         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
4261         preedit_draw_callback, preedit_caret_callback): Match
4262         "preedit-changed" signal name to "preedit_changed" to be
4263         consistent to the spec.
4264
4265         * gtk/gtkimcontextsimple.c (check_table):
4266         Match "preedit-changed" to "preedit_changed" to be consistent
4267         to the spec.
4268
4269 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
4270
4271         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
4272         gc->clip_region == NULL>
4273
4274 2000-11-30  Tor Lillqvist  <tml@iki.fi>
4275
4276         Changes by Hans Breuer:
4277         
4278         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
4279         Dont't use negative width and height as max_hints. This fixes
4280         Owen's recent testgtk changes for win32.
4281
4282         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
4283         gdk_win32_hdc_release): These are exported and may be called with
4284         other drawable types than our GdkDrawableImplWin32 (?).
4285
4286         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
4287         so always #define USE_BACKING_STORE.
4288
4289         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
4290         of printf for debugging output.
4291
4292         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
4293         
4294         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
4295
4296         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
4297         declaration.
4298
4299         * gtk/gtktexttypes.h: Ditto.
4300
4301         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
4302         (GDK_VoidSymbol) also if in case of arg check failure.
4303
4304         * gtk/gtkimcontextsimple.c
4305         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
4306         position to the pointer, but to the variable it points to.
4307
4308         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
4309
4310         * gtk/gtk.def: Updates.
4311
4312 2000-11-29  Elliot Lee  <sopwith@redhat.com>
4313
4314         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
4315         GTK_TYPE_TREE_MODEL.
4316
4317 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4318
4319         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
4320         Set the size of the font from the description.
4321         (gdk_text_width): Gross hack that calculates the width
4322         of text by text_length * size/2. This is necessary because
4323         GtkLabel does some ugly gtk_string_width call to calculate
4324         an good size.
4325         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
4326
4327 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
4328
4329         * docs/tutorial/gtk-tut.sgml: DND updates
4330
4331 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4332
4333         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
4334         If you pass width or height == 0 to gdk_window_clear_area they
4335         should be calculated from the window size.
4336
4337 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4338
4339         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
4340         a grab, but no grab-cursor, use the cursor from the grabbed
4341         window. (gdk_fb_window_send_crossing_events): Send normal
4342         enter/leave notifications if grab and owner_events == TRUE.
4343
4344 2000-11-29  Alexander Larsson  <alexl@redhat.com>
4345
4346         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4347         Do implicit button grabs, even if the window doesn't
4348         want the event.
4349         (gdk_fb_window_send_crossing_events): If there is a
4350         grab, only the grabbed window gets normal enter/leave
4351         notifications. On ungrab go from grabbed window to current.
4352         Don't send any notification to b when propagating from c -> b.
4353         If setting a grab on window, don't set prev_window.
4354         (handle_mouse_input): Send enter/leave events to the window the
4355         mouse is over, not the grabbed one.
4356         
4357 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4358
4359         * gdk/gdkregion-generic.c: Zap warning.
4360         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
4361         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
4362
4363 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
4364
4365         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4366         The cursor should be hidden if it is part of either the
4367         source or destination region. Not only if it is in both.
4368         (gdk_window_set_transient_for): Silence warnings.
4369
4370 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4371
4372         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
4373         The default mode in X is Pie Arcs, therefore that is
4374         what Gtk+ uses.
4375
4376 2000-11-28  Alexander Larsson  <alexl@redhat.com>
4377
4378         * gdk/linux-fb/gdkinput-ps2.c:
4379         Implement correct EnterNotify/LeaveNotify:
4380         (gdk_fb_window_send_crossing_events): New function that sends
4381         all GdkCrossingEvents from the last mouse-window to the specified
4382         destination.
4383         (gdk_fb_window_visibility_crossing): Removed function.
4384         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
4385         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
4386         instead of gdk_window_get_pointer() for better readability.
4387
4388         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
4389         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
4390
4391         * gdk/linux-fb/gdkprivate-fb.h:
4392         removed gdk_fb_window_visibility_crossing, added
4393         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
4394
4395         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
4396         New function that finds the least common ancestor of two windows.
4397         (gdk_window_show, gdk_window_hide):
4398         Use gdk_fb_window_send_crossing_events.
4399         (gdk_fb_window_move_resize): Send configure events to toplevel
4400         windows. Use gdk_fb_window_send_crossing_events.
4401
4402 2000-11-27  Havoc Pennington  <hp@redhat.com>
4403
4404         * gtk/gtkprivate.h (enum): Remove a trailing comma
4405
4406 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
4407
4408         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
4409         the "changed" callback of the adjustment.  We need to redraw the
4410         spin button's arrows when the adjustment's range changes.
4411         (adjustment_changed_cb): Draw the arrows.
4412         (gtk_spin_button_value_changed): Draw the arrows.
4413
4414 2000-11-23  Alexander Larsson  <alexl@redhat.com>
4415
4416         * gdk/linux-fb/gdkselection-fb.c:
4417         Initial selection implementation.
4418
4419         * gtk/gtkselection.c:
4420         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
4421         requestor in gtk_selection_request.
4422         
4423         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
4424         Added gdk_selection_property atom.
4425
4426         * gdk/linux-fb/gdkprivate-fb.h:
4427         Export _gdk_selection_window_destroyed.
4428         Removed mask_off_x/y from GdkCursorPrivateFB.
4429         Removed hbearing, added top, left to PangoFBGlyphInfo.
4430
4431         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4432         Call _gdk_selection_window_destroyed
4433         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
4434         the root window has been created.
4435         (static_dx_hack, static_dy_hack, compare_draw_rects,
4436         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
4437         in region. They are already sorted. Instead just traverse them in
4438         reverse if draw_direction < 0.
4439         
4440         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
4441         Double-clicks must be sent after the normal button_press.
4442         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
4443         
4444         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
4445         Pass _gdk_fb_screen_gc instead of NULL.
4446
4447         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
4448         Initialize gdk_selection_property.
4449         (gdk_event_make): Remove unused code.
4450
4451         * gdk/linux-fb/gdkcursor-fb.c:
4452         Make the pixmap for the cursor the same size as the mask. Also remove
4453         the mask_off_x/y fields in GdkCursorPrivateFB and combine
4454         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
4455         Now the whole cursor is visible.
4456
4457         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4458         Fix bug where xdest+height instead of ydest+height was used
4459         to calculate if the source and dest overlapped. This fixes the
4460         redraw bug when the main window in testgtk was scrolled when
4461         partially covered by a tall window.
4462         Copy rectangles in region in order depending on draw_direction.
4463         Also moved the draw_direction flipping of start_y and end_y into
4464         the gc functions, as this might not be what all of them want.
4465         (gdk_fb_draw_lines): Support dashed lines.
4466         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
4467         so that the text is positioned correctly (was 1 pixel high).
4468
4469         gdk/linux-fb/gdkgc-fb.c:
4470         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
4471         all lines were drawn a pixel to short. Also checked the default of
4472         the rest of the values, and they're the same as X now.
4473
4474         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
4475         Clean up pixel positioning of the glyphs. Just use bgy->top and
4476         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
4477         to all divisions to get correct rounding behaviour.
4478
4479         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
4480         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
4481         Moved start_y/end_y flip into draw_drawable implementations.
4482         Flip also x rendering when draw_direction < 0.
4483         Remove unneccesary multiply with draw_direction.
4484
4485 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
4486
4487         * docs/tutorial/gtk-tut.sgml:
4488           - get rid of gtk_toggle_button_toggled FUD
4489           - start DND section - needs work - based on:
4490                 http://wolfpack.twu.net/docs/gtkdnd/
4491
4492 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4493
4494         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4495         Correct calculation of font metrics. Now GtkEntrys have sane
4496         size.
4497
4498 2000-11-22  Alexander Larsson  <alexl@redhat.com>
4499
4500         * gdk/gdktypes.h:
4501         Add new type GdkSpan
4502         
4503         * docs/reference/gdk/gdk-sections.txt,
4504         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
4505         gdk/gdkregion.h:
4506         Implement and document gdk_region_spans_intersect_foreach.
4507
4508         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
4509         Add new file gdkrender-fb.c which contains all core
4510         rendering code.
4511         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
4512         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
4513         (optimized rectangle fillers).
4514
4515         * gdk/linux-fb/gdkdrawable-fb2.c:
4516         Move all rendering code to gdkrender-fb.c.
4517         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
4518         Use the new span intersection functions in gdk_fb_fill_spans.
4519         gdk_fb_draw_rectangle() clips filled rectangles and calls
4520         gc->fill_rectangle with the result.
4521         gdk_fb_fill_spans() gets extra argument "sorted".
4522
4523         * gdk/linux-fb/gdkevents-fb.c:
4524         Remove unused includes and defines.
4525         New function gdk_fb_get_time() to get correct time for events.
4526
4527         * gdk/linux-fb/gdkinput-ps2.c:
4528         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
4529         Make sure to set the time of all events.
4530
4531         * gdk/linux-fb/gdkmain-fb.c:
4532         Use gdk_fb_get_time ().
4533
4534         * gdk/linux-fb/gdkprivate-fb.h:
4535         New virtual GC calls: fill_span & fill_rectangle.
4536         Export gdk_fb_get_time().
4537         gdk_fb_fill_spans() gets extra argument "sorted".
4538
4539         * gdk/linux-fb/mi*.c:
4540         Use GdkSpan instead of GdkRectangle.
4541         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
4542         from XFree 4 source)
4543         
4544 2000-11-22    <jrb@redhat.com>
4545
4546         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
4547         reversing the order in an if statement will do.  Doing so managed
4548         to make the treemodelsort half work.  Other half will follow after
4549         I get the insert function fully fixed.
4550
4551 2000-11-21  Elliot Lee  <sopwith@redhat.com>
4552         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
4553         more than 2 bits. Besides, I need to implement an evil hack. :)
4554
4555 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
4556
4557         * docs/tutorial/gtk-tut.sgml: minor corrections
4558
4559 2000-11-20  Jonathan Blandford <jrb@redhat.com>
4560         * gtk/gtktreemodelsort.h: Add convertion functions to let you
4561           convert to and from relative path's and iters.
4562
4563         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
4564           testing sorting functions a bit better.  Currently broken -- will
4565           fix in morning.
4566
4567 2000-11-20  Havoc Pennington  <hp@redhat.com>
4568
4569         * gtk/gtkwidget.c: Documented a bunch of functions in here
4570         (gtk_widget_realize): Warn if you try to realize
4571         a widget with no parent that isn't a toplevel
4572         (gtk_widget_intersect): return a gboolean
4573
4574 2000-11-20  Havoc Pennington  <hp@redhat.com>
4575
4576         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
4577         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
4578         scrolling to be implemented in GDK to finish. Also, right now
4579         we just size_allocate all children on every layout change,
4580         which is pretty lame. Test commented out of testtext.c, 
4581         until it works better.
4582
4583 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
4584
4585         * gdk/linux-fb/gdkdrawable-fb2.c:
4586         Removed unused arguments from gdk_fb_drawable_get_pixel().
4587
4588         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
4589         Renamed fidur specific mouse packet data in MouseDevice to
4590         generic. Used it in ps2 mouse handling code to avoid blocking
4591         reads.
4592
4593 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
4594
4595         * demos/gtk-demo/main.c: Changed to have the list become
4596         non-italic when the demo window is destroyed through an external
4597         event (like a close button).  Doing so found three bugs in the
4598         widget.
4599
4600         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
4601
4602         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
4603         we actually set the cell.
4604
4605         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
4606
4607         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
4608         free a leaked path.  Thanks memprof.
4609
4610 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
4611
4612         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
4613         off-by-one error when destroying allocated segments
4614         on failure. (Elliot)
4615
4616 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
4617
4618         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
4619         memleaks found by Evan Martin.
4620
4621 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
4622
4623         * Released 1.3.2
4624         
4625         * NEWS: Updates for 1.3.2
4626
4627 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4628
4629         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
4630         but in general for window system specific events.
4631
4632         * gtk/gtk.def
4633         * gtk/makefile.mingw.in
4634         * gtk/makefile.msc.in: Update.
4635         
4636         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
4637
4638 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
4639
4640         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
4641         distribute gtk.immodules.
4642
4643         * gtk/Makefile.am (install-data-local): Don't install the
4644         gtk.immodules file created for the uninstalled modules;
4645         instead run gtk-query-immodules after install
4646
4647 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4648
4649         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
4650         -rpath to the right install location.
4651
4652         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
4653         -export-dynamic.
4654
4655         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
4656         properly.
4657
4658 2000-11-15  Havoc Pennington  <hp@pobox.com>
4659
4660         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
4661         patch from Mikael Hermansson to temporarily stop blinking while
4662         the user is using the keyboard to type or navigate. 
4663
4664         Also, when blinking, stay on for longer than we stay off. Also,
4665         return from start_cursor_blink if !cursor_visible, to save
4666         checking that flag all over the place before we call
4667         start_cursor_blink.
4668
4669 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
4670
4671         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
4672         only contain a "fontset" line, which is now ignored.
4673
4674         * gtk/gtkentry.c (gtk_entry_button_release): Make 
4675         double-click-to-select-word work.
4676         
4677 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
4678
4679         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
4680         Don't move back one char when we are actually at the end of the 
4681         paragraph.
4682
4683 2000-11-15  Robert Brady  <robert@suse.co.uk>
4684
4685         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
4686         'o' < 'p'.
4687         
4688         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
4689         bind_textdomain_codeset.
4690
4691         (gtk_init_check): Make the warning about translating default:LTR
4692         sterner.
4693         
4694 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
4695
4696         * **/Makefile.am : remove unecessary rules for win32-specific
4697         config-substituted targets. If you want these rules, use
4698         --enable-maintainer-mode (called automatically by autogen.sh).
4699         Stops a lot of unneccessary make-time warnings.
4700
4701         * gtk/gtktext{layout,display}.c: Factor in total width as
4702         well as screen when figuring alignment for word-wrap as well as
4703         no wrap; this is necessary to handle lines that cannot be wrapped
4704         at all.
4705
4706 2000-11-15  Havoc Pennington  <hp@redhat.com>
4707
4708         * gtk/testtext.c: Implement essential color cycling feature
4709
4710 2000-11-15  Havoc Pennington  <hp@redhat.com>
4711
4712         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
4713         when we invalidate the main window.
4714
4715         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
4716         GtkTextView will now invalidate the side windows for us when text
4717         changes.
4718
4719 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
4720
4721         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
4722         unconditionally, since we may need to update the horizontal
4723         scrollbars even if the height didn't change.
4724
4725         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
4726         the extra attrs, since some of them affect size.
4727
4728         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
4729         x_offset correctly.
4730
4731 2000-11-15  Havoc Pennington  <hp@redhat.com>
4732
4733         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
4734         don't move the first line out into the margin, instead move the
4735         whole paragraph in order to make space for the first line within 
4736         the margin
4737
4738 2000-11-15  Havoc Pennington  <hp@redhat.com>
4739
4740         * gtk/gtktextview.c (changed_handler): offset redraw rect by
4741         xoffset in addition to yoffset, so horizontal scrolling doesn't
4742         break redraws
4743
4744 2000-11-15  Havoc Pennington  <hp@redhat.com>
4745
4746         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
4747         from the cursor
4748         (render_layout_line): fix reversed test that caused weird
4749         underlines to get drawn
4750
4751 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4752
4753         * gdk/linux-fb/gdkprivate-fb.h:
4754         Fix debug macros.
4755         
4756 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
4757
4758         * gdk/linux-fb/gdkprivate-fb.h:
4759         Added virtual functions set_pixel, get_color,
4760         fill_span and draw_drawable to the GC.
4761         Added global _gdk_fb_screen_gc to use instead of
4762         NULL when drawing to the screen.
4763         Added _gdk_fb_gc_calc_state() prototype.
4764
4765         * gdk/linux-fb/gdkgc-fb.c:
4766         Call _gdk_fb_gc_calc_state() on any gc state change.
4767
4768         * gdk/linux-fb/gdkglobals-fb.c:
4769         Add _gdk_fb_screen_gc
4770                 
4771         * gdk/linux-fb/gdkdrawable-fb2.c:
4772         _gdk_fb_gc_calc_state() calculates best functions
4773         for the GC state and depth.
4774         Moved bpp specialized code to separate functions.
4775         Added optimized 24 bpp AA draw_drawable.
4776
4777         * gdk/linux-fb/gdkevents-fb.c:
4778         Silence gcc warning.
4779
4780         * gdk/linux-fb/gdkimage-fb.c:
4781         Use _gdk_fb_screen_gc
4782
4783         * gdk/linux-fb/gdkwindow-fb.c:
4784         Init and use _gdk_fb_screen_gc
4785
4786         * gdk/linux-fb/mitypes.h:
4787         Remove unused types.
4788
4789 2000-11-14  Havoc Pennington  <hp@pobox.com>
4790
4791         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
4792         to pixels
4793
4794 2000-11-14  Havoc Pennington  <hp@pobox.com>
4795
4796         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
4797
4798         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
4799         unknown char, no real reason we were using a variable. 
4800         Remove gtk_text_unknown_char variable. Fix all the text widget
4801         files accordingly.
4802
4803         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
4804         since the Unicode spec seems to prefer that character for our
4805         purposes.
4806
4807 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
4808
4809         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
4810         value of g_getenv() isn't freeable, so g_strdup it.
4811
4812         * modules/input/inuktitut.c: Inuktitut input method.
4813
4814         * modules/input/Makefile.am: Build this.
4815         
4816 2000-11-14  Elliot Lee  <sopwith@redhat.com>
4817
4818         * gtk/Makefile.am: Install gtk.immodules, needed for operation
4819         of gtk programs.
4820
4821 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
4822
4823         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
4824         reversed > that was causing Home to go to end of previous line.
4825
4826         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
4827         modified-keypresses (leave for bindings.)
4828
4829         * modules/input/Makefile.am: Remove useless -export-dynamic
4830         from module LDFLAGS.
4831
4832 2000-11-14  Havoc Pennington  <hp@redhat.com>
4833
4834         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
4835         higher.
4836
4837         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
4838         account. Also, render rise, underline, background, etc. for
4839         pixbufs as well as text. Also, draw underlines one pixel higher.
4840
4841         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
4842         PangoAttribute for the rise, so it gets drawn properly. Also,
4843         add the GtkTextAppearance attribute for pixbuf/widget segments
4844         as well; we should go ahead and have rise, underline, background,
4845         stipple work for those
4846
4847         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
4848         Pango
4849
4850 2000-11-15  Tor Lillqvist  <tml@iki.fi>
4851
4852         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
4853
4854         * gtk/gtk.def: Update.
4855
4856         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
4857         included.
4858         (gtk_rc_get_im_module_file): Use run-time installation directory
4859         on Win32.
4860
4861         * gdk/win32/rc/gdk.rc: Remove.
4862         * gdk/win32/rc/gdk.rc.in: New file.
4863         * gdk/win32/rc/Makefile.am: New file
4864         * gdk/win32/Makefile.am: Corresponding changes.
4865
4866         * gtk/gtk.rc: Remove.
4867         * gtk/gtk-win32.rc.in: New file.
4868         * gtk/Makefile.am: Corresponding changes.
4869
4870         * configure.in: Corresponding changes.
4871
4872         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4873         has a built gtkcompat.h. Developers using CVS code on Win32 can
4874         hand-edit it from gtkcompat.h.in.
4875
4876         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4877         gtkcompat.h from gtkcompat.h.win32.
4878
4879 2000-11-14  Havoc Pennington  <hp@redhat.com>
4880
4881         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4882         to default to GDK_ACTION_MOVE if the drag is within a single
4883         widget. Defaults to GDK_ACTION_COPY between widgets.
4884
4885 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4886
4887         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4888
4889         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4890
4891         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4892         srcdir != builddir
4893
4894         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4895
4896         * configure.in (GTK_VERSION): Up to 1.3.2
4897
4898         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4899         gtkimcontextxim.h
4900
4901         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4902         missing doc comment.
4903
4904 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4905
4906         * modules/linux-fb/basic.c:
4907         Use the glib iconv wrappers.
4908
4909 2000-11-13  Havoc Pennington  <hp@pobox.com>
4910
4911         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4912         still more bugs.
4913
4914         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4915         scroll the GdkWindows before realization.
4916
4917 2000-11-13  Havoc Pennington  <hp@redhat.com>
4918
4919         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4920         where GC didn't always get updated properly
4921
4922         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4923         of fonts instead of setting the entire font
4924
4925         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4926         setting entire font
4927
4928         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4929
4930         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4931         a bunch of individually-settable font attributes. You can still 
4932         use the "font" and "font_desc" args, they just set all the font
4933         attributes at once.
4934
4935 2000-11-13 Elliot Lee <sopwith@redhat.com>
4936
4937         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4938
4939 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4940
4941         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4942         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4943
4944         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4945         work better.
4946
4947 2000-11-13  Havoc Pennington  <hp@redhat.com>
4948
4949         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4950         the module file.
4951
4952         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4953         dest->language
4954
4955         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4956         settings
4957
4958         * gtk/gtktextview.c: Implement object args and setters/getters for
4959         all the aspects of the GtkTextAttributes that are not set from
4960         GtkWidget attributes. This is spacing, justification, margins,
4961         etc.
4962
4963         (gtk_text_view_set_arg)
4964         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4965         args
4966         (gtk_text_view_class_init): Add args for justify, left_margin,
4967         right_margin, indent, and tabs
4968         
4969
4970         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4971         attribute properly
4972
4973         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4974         replace with indent attribute
4975
4976         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4977         PANGO_SCALE
4978
4979         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4980         rearranging code to do that
4981         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4982         i.e. don't subtract the top_margin first, just to keep
4983         all margin-futzing in one place.
4984
4985         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4986
4987         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4988         special case of last line, Pango now handles this itself.
4989         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4990         Y coordinate
4991         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4992         (find_display_line_above): wasn't moving the byte index as it
4993         iterated over lines, so always returned byte 0. Also, port to use
4994         PangoLayoutIter.
4995         (find_display_line_below): same problem as
4996         find_display_line_above. Also, port to use PangoLayoutIter.
4997
4998 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4999
5000         * gdk/linux-fb/*.[ch]:
5001         Massive reindent to gtk+ standard. My hands hurt.
5002
5003         * gdk/linux-fb/gdkcolor-fb.c:
5004         Move GdkColorPrivateFB from inherited to windowing_data
5005
5006         * gdk/linux-fb/gdkcursor-fb.c:
5007         _gdk_cursor_new_from_pixmap made static
5008
5009         * gdk/linux-fb/gdkdnd-fb.c:
5010         GdkDragContextPrivate moved to windowing_data
5011
5012         * gdk/linux-fb/gdkdrawable-fb2.c:
5013         Removed endian.h, use glib endianness macros instead
5014         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5015         and GDK_DRAWABLE_IMPL_FBDATA
5016
5017         * gdk/linux-fb/gdkfont-fb.c:
5018         Add empty gdk_font_load(). Needed for linking of Gtk+.
5019
5020         * gdk/linux-fb/gdkimage-fb.c:
5021         Removed endian.h, use glib endianness macros instead
5022         Moved GdkImagePrivateFB to windowing_data
5023         gdk_image_new_bitmap didn't always allocate enough
5024         memory.
5025
5026         * gdk/linux-fb/gdkinput-ps2.c:
5027         Added semi-working support for MS serial mice.
5028
5029         * gdk/linux-fb/gdkprivate-fb.h:
5030         s/GdkWindowPrivate/GdkWindowObject/
5031         Removed GdkWindowPrivate typedef
5032         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5033         Removed GDK_DRAWABLE_P
5034         Move GdkColorPrivateFB from inherited to windowing_data
5035         Moved GdkImagePrivateFB to windowing_data
5036
5037         * gdk/linux-fb/gdkvisual-fb.c:
5038         Removed some unused debug code.
5039
5040         * gdk/linux-fb/gdkwindow-fb.c:
5041         Use stock cursors instead of including X headers.
5042         s/GdkWindowPrivate/GdkWindowObject/
5043
5044         * gdk/linux-fb/mitypes.h:
5045         Removed unused types.
5046
5047         * modules/linux-fb/basic.c:
5048         Use the pango fribidi wrappers.
5049
5050 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5051
5052         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5053         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5054         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5055         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5056         GEqualFunc where applicable.
5057         
5058         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5059         pango_font_description_equal as changed in pango.
5060         
5061         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5062
5063         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5064
5065         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5066
5067         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5068
5069         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5070
5071         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5072
5073         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5074         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5075
5076         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5077         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5078
5079 2000-11-12  Havoc Pennington  <hp@pobox.com>
5080
5081         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5082         dir to datadir/gtk+-2.0/demo
5083
5084         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5085         sorts of text widget and Pango font bugs. Urgh.
5086
5087         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5088
5089         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5090         tree that you should double click to see the demo. Fix 
5091         types of variables to reflect changed return values from 
5092         GtkTreeStore and GtkTreeViewColumn constructors.
5093
5094         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5095         newly-created buffer to prepare for GObject semantics
5096
5097         * gtk/testtext.c: don't leak the buffer with GObject semantics
5098
5099         * gtk/testtextbuffer.c: ditto
5100         
5101 2000-11-12  Havoc Pennington  <hp@pobox.com>
5102
5103         Rename this testgtk to gtk-demo to avoid confusion, and 
5104         install it so people can use it as a supplement to 
5105         the documentation.
5106         
5107         * demos/gtk-demo: Moved from demos/testgtk
5108
5109         * demos/testgtk: Removed
5110
5111         * configure.in: make Makefile in gtk-demo
5112         
5113         * demos/gtk-demo/Makefile.am: Install sample source to 
5114         datadir/gtk-demo (maybe there's a better place?), and 
5115         rename the binary to gtk-demo
5116         
5117         * demos/gtk-demo/main.c (load_file): Load installed sample
5118         source if source isn't found in pwd.
5119
5120 2000-11-09  Havoc Pennington  <hp@pobox.com>
5121
5122         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5123         argument to set the char displayed when visibility == FALSE
5124         (gtk_entry_create_layout): If !entry->visible, replace 
5125         all chars with the "invisible char"
5126
5127         * gtk/testgtk.c: Test the invisible_char deal
5128         
5129 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5130
5131         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5132         can't get a native font in the right encoding.
5133
5134 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5135
5136         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5137         respectively.
5138
5139 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5140
5141         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5142         Fix warning when moving between paragraphs.
5143
5144         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5145         delete => delete_from_cursor, insert => insert_at_cursor
5146
5147 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5148
5149         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5150
5151         * modules/input/imthai-broken.c: A Thai input method for use if
5152         Thai keys are really generating Latin1 keysyms.
5153
5154         * modules/input/Makefile.am: Build these.
5155
5156 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5157
5158         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5159         g_filename_{to,from}_utf8 now takes an extra parameter.
5160
5161         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5162         strftime into UTF-8.
5163
5164         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5165         calendars.
5166
5167         (gtk_calendar_paint_day_names): Draw day names in the right 
5168         place.
5169         
5170 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5171
5172         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5173         problem with using result of g_get_charset() backwards -
5174         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
5175
5176         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
5177         negative min_width/height and max_width/height to
5178         mean "requisition"; this allows setting a window
5179         to be user-resizable in only one direction easily.
5180
5181         * gtk/testgtk.c (create_main_window): Remove hard-coded
5182         usize - set a default size in the vertical direction.
5183
5184 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
5185
5186         * gtk/gtkrange.c: Add some missing casts. Support 
5187         2 and 3 button clicks on the arrows to mean 
5188         "move by pages" and "jump to end". (Like gtkspinbutton)
5189
5190 2000-11-12 Hans Breuer <Hans@Breuer.Org>
5191
5192         * gdk/win32/makefile.msc : reflect build module changes
5193
5194         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
5195         from GdkPixmap*, cast implementation member instead.
5196
5197         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
5198         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
5199         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
5200         more Gdi functions return value checking. 
5201         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
5202         GdkImagePrivateWin32 *.
5203
5204         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
5205         menus useable again. Add #pragma message to keep reminded on this issue.
5206         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
5207         windows. This allows to enable backing store on Win32!
5208
5209         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
5210         in drawable is of impl type. Correct specific type checks appropriate.
5211  
5212         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
5213         GDK_WINDOW_DESTROYED before allocating new resources.
5214
5215         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
5216
5217         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
5218         (gdk_window_foreign_new) initialize parent handle.
5219         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
5220
5221         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
5222         Let the GDI invalidate the window on MoveWindow call to fix scrolling
5223         problems (e.g. main buttons in testgtk). 
5224
5225 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
5226
5227         * gtk/gtkentry.c (gtk_entry_key_press): Call 
5228         gtk_widget_activate for GDK_Return.
5229
5230         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
5231         of preedit cursor position.
5232
5233 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
5234
5235         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
5236         static.
5237
5238 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
5239
5240         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
5241         out support for multiple locales; that simple doesn't
5242         work reliably with current Xlib
5243
5244         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
5245         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
5246         Add support for positioning the cursor within the preedit string.
5247
5248 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
5249
5250         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
5251         at XIM input method module.
5252
5253         * gtk/gtktextview.c: Check for bindings after passing
5254         events to im context filter.
5255
5256 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
5257
5258         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
5259         empty attribute lists properly.
5260
5261 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
5262
5263         * gtk/queryimmodules.c (main): Return non-zero exit
5264         status if errors were encountered querying any
5265         modules.
5266
5267         * modules/input/Makefile.am (moduledir): remove
5268         leftover bin program target.
5269
5270         * docs/make-todo: Fix typo in error message.
5271
5272 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
5273
5274         * configure.in: Add modules/input/Makefile
5275
5276 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
5277
5278         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
5279         don't include gtkthemes.h.
5280
5281         * gtk/testgtk.c gtk/testtext.c: Set environment variables
5282         to point
5283
5284         * gtk/Makefile.am: Add new .c and .h files, build 
5285         gtk-query-immodules and use it to create a gtk.immodules
5286         file for use of test programs.
5287
5288         * gtk/gtkpreview.c: remove extra blank line.
5289
5290 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
5291
5292         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
5293         Add the ability to add extra tables beyond the default
5294         one, and also the ability to have compose sequences 
5295         that are prefixes of other compose sequences. 
5296
5297         * gtk/gtkimcontextsimple.c: Export a preedit string which
5298         consists of possible candidates for keystrokes that have
5299         been entered but not yet committed.
5300
5301         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
5302         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
5303
5304         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
5305         Add a function to add input-method switching menu items
5306         to a menu.
5307
5308         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
5309         when switching input methods.
5310
5311         * gtk/gtkimcontextsimple.[ch]: Change the format of
5312         the compose table to allow compose tables of different
5313         lengths / sequence.
5314
5315 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
5316
5317         * gtk/gtkimmodule.[ch]: Support routines for loading
5318         GtkIMContext implementations dynamically at runtime.
5319
5320         * modules/input/imcyrillic-translit.c: A sample input
5321         method (based on GtkIMContextSimple with an extra table),
5322         which demonstrates preedit strings and the module
5323         system for input modules
5324
5325         * gtk/queryimmodules.c: Program to query the available
5326         input modules and write the results into a file.
5327          
5328         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
5329         extra config options "im_module_file" (cache file for
5330         input method modules), and "im_module_path" - path
5331         to look for modules when generating cache file.
5332
5333         This doesn't scale.
5334
5335 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
5336
5337         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
5338         generic code from gtkthemes into a new abstraction
5339         GtkModule which has the logic for implementing
5340         a loadable module which implements a number of 
5341         GObject types.
5342
5343 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
5344
5345         * gtk/gtkeditable.[ch]: Convert GtkEditable from
5346         a class into an interface  
5347         
5348         * gtk/gtkoldeditable.[ch]: Move the old editable
5349         implementation into here, so legacy widgets can
5350         still rely on the implemenation. GtkOldEditable
5351         exports GtkEditable. Make selection handling
5352         code use new text conversion functions (and
5353         handle UTF-8 as a side-effect). Use GtkClipboard
5354         for CLIPBOARD.
5355
5356         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
5357         Adopt to match above changes.
5358
5359         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
5360         avoid GtkOldEditable implementation. Restructure
5361         to reduce number of places that modify state directly.
5362         Move to GtkBindingSet. Display the preedit string.
5363         Queue recomputation of PangoLayout and scroll position
5364         to improve effiency of doing complex changes naively.
5365         Add a menu with cut/copy/paste and input method selection.
5366
5367 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
5368
5369         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
5370         to set preedit string and attributes; display preedit string by
5371         inserting string and attributes at cursor when creating the
5372         GtkTextLineDisplay.
5373
5374         * gtk/gtktextlayout.c: Move all conversions between byte
5375         positions in PangoLayout and GtkTextIter into new functions
5376         line_display_iter_to_index/index_to_iter that properly
5377         handle the preedit string.
5378
5379         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
5380         it to return const char * (eventually will end up
5381         as GCONST char *, most likely.)
5382
5383         * gtk/gtktextview.[ch]: Handle the preedit string, call
5384         gtk_im_context_reset() as necessary, add a menu to switch
5385         input methods.
5386         
5387         * gtk/gtktextlayout.[ch]: Remove useless
5388         gtk_text_layout_get_log_attrs() function.
5389
5390 2000-11-11  Tor Lillqvist  <tml@iki.fi>
5391
5392         * gdk/gdk.def
5393         * gtk/gtk.def: Update.
5394
5395         * gdk/win32/*.c: Add last argument to g_type_register_static()
5396         calls.
5397
5398         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
5399
5400         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
5401         generated by older wheel mouse drivers. Get the correct y
5402         coordinate from WM_MOUSEWHEEL messages.
5403
5404         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
5405         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
5406         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
5407         Debugging functions.
5408
5409         * gdk/win32/gdkprivate-win32.h: Declare them.
5410
5411         * gdk/win32/gdkinput-win32.h: Add declaration for
5412         gdk_input_window_destroy().
5413
5414         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
5415
5416 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
5417
5418         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
5419         function to help handle keeping things in sync.
5420
5421 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
5422
5423         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
5424         BOXED marshallers.
5425
5426         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
5427         (gtk_list_store_class_init): use the new BOXED marshallers.
5428
5429         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
5430         new_with_values to new_with_types.
5431         (gtk_tree_store_get_column_type): add this.
5432         (gtk_tree_store_class_init): use the new BOXED marshallers.
5433
5434         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
5435         mirror some POINTER marshallers.
5436
5437 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
5438
5439         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
5440         allow more interesting iterators.  Also, made the lifecycle of
5441         iterators more explicit.
5442
5443         * gtk/gtktreemodelsort.[ch]: New model for sorting.
5444
5445         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
5446         types.
5447
5448 2000-11-09  Alexander Larsson  <alexl@redhat.com>
5449
5450         * demos/testgtk/menus.c:
5451         Changes to make the new testgtk compile after
5452         gtk_menu_append was removed.
5453
5454         * gdk/linux-fb/gdkdrawable-fb2.c
5455         (gdk_fb_get_depth, gdk_fb_get_visual,
5456         gdk_drawable_impl_fb_class_init): Implement
5457         these drawable functions. Now GtkImages work again.
5458
5459         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
5460
5461         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
5462         
5463         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
5464         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
5465         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
5466         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
5467
5468 2000-11-08  Havoc Pennington  <hp@pobox.com>
5469
5470         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
5471         visible_set args, don't know where these had gone, I thought they
5472         used to be there
5473
5474         * gtk/testtext.c: Add a menu item to apply invisibility tag;
5475         now we can test the feature and see that it's totally broken.
5476
5477 2000-11-08  Havoc Pennington  <hp@pobox.com>
5478
5479         Make DND copy pixbufs and tags when source and target share a 
5480         tag table.
5481         
5482         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
5483         in-process GTK_TEXT_BUFFER_CONTENTS target
5484         (gtk_text_view_drag_data_received): Paste from
5485         GTK_TEXT_BUFFER_CONTENTS if we receive it.
5486
5487 2000-11-08  Alexander Larsson  <alexl@redhat.com>
5488
5489         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
5490         API changes.
5491
5492         * gtk/gtkmenu.c: Add support for scrolling menus.
5493         Remove gtk_menu_append/prepend/insert, these have been moved to
5494         gtkcompat.h as #defines.
5495
5496         * gtk/gtkcompat.h.in:
5497         Add compatibility #defines for gtk_menu_append/prepend/insert
5498
5499         * gtk/gtkmenu.h: Add data needed for scrolling menus.
5500         GtkMenuPositionFunc gets an extra argument push_in.
5501         gtk_menu_append/prepend/insert removed.
5502         
5503         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
5504         positioning behaviour to fit to scrolling menus.
5505
5506         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
5507         into menuitem->submeny. That is wrong, and broke torn
5508         off submenus of torn off menus, since they were unrealized
5509         when the first menu was unrealized.
5510
5511         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
5512         gtk_menu_shell_select_item() since these need to be overridden in
5513         GtkMenu.
5514
5515         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
5516         positioning behaviour to fit to scrolling menus.
5517         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
5518         the current item so that it is prelighted when the menu pops up.
5519         This is a workaround to the fact that the menu doesn't get the
5520         initial enter event (due to grabs).
5521
5522         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
5523         s/gtk_menu_append/gtk_menu_shell_append/
5524
5525         * gtk/gtknotebook.c:
5526         s/gtk_menu_insert/gtk_menu_shell_insert/
5527
5528         * gtk/testgtk.c (create_menu, create_menus):
5529         Create the first menu with 50 items so that menu scrolling
5530         can be tested.
5531         
5532         
5533         Patch from Jonathan Blandford  <jrb@redhat.com>
5534
5535         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
5536         system to handle size requests.  First, we ask what the size of
5537         the toggle is.  Then, when allocating the size, we allocate the
5538         toggle_size first.  This way we can have multiple menu-item
5539         classes w/o needing a seperate class for each.
5540
5541         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
5542         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
5543
5544         * gtk/gtkcheckmenuitem.c
5545         (gtk_check_menu_item_toggle_size_request): New function to handle
5546         the toggle size-request.
5547
5548 2000-11-07  Havoc Pennington  <hp@redhat.com>
5549
5550         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
5551         Half-ass somewhat fix this function, so that scrolling to the
5552         insertion point works. Pango hacking is in the future to really
5553         fix it.
5554
5555         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
5556         length of data, no longer used.
5557
5558         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
5559         method contents in here, get rid of destroy method
5560         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
5561         that were backward. Remove debug spew.
5562         (cut_or_copy): Make the clipboard work with insert_range to
5563         preserve tags and pixbufs, not just the primary selection.
5564
5565 2000-11-07  Havoc Pennington  <hp@redhat.com>
5566
5567         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
5568         to gtk_text_mark_get_visible
5569
5570         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
5571         bug that was generating an invalid iterator
5572
5573         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
5574         ensure_char_offsets() in front of code placing the iter in an
5575         invalid state.
5576
5577         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
5578         make override_location arg const
5579         (paste): Replace the selection if we paste into the 
5580         current selection
5581
5582         * gtk/gtkselection.h: Remove "GtkSelectioData"
5583         (struct _GtkSelectionData): move the definition here.
5584
5585         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
5586         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
5587
5588         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
5589
5590         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
5591         (gtk_text_buffer_insert_range_interactive): implement
5592         (gtk_text_buffer_get_tags): Remove, replaced by
5593         gtk_text_iter_get_tags()
5594
5595         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
5596         limit parameter, to avoid infinite linear scan.
5597         (gtk_text_iter_backward_search): Add search limit
5598         (gtk_text_iter_forward_find_char): Add search limit
5599         (gtk_text_iter_backward_find_char): Add search limit
5600
5601 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
5602
5603         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5604         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
5605         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
5606         gdk/linux-fb/gdkwindow-fb.c:
5607         use g_object_new() instead of g_type_create_instance() which
5608         is a private function for fundamental type implementations.
5609
5610         * gdk/linux-fb/gdkinput-ps2.c:
5611         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
5612         instead just store the current modifier state. Add a (somewhat broken)
5613         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
5614         Rename exported function gdk_input_ps2_get_mouseinfo to
5615         gdk_input_get_mouseinfo.
5616
5617         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
5618         gdk/linux-fb/gdkwindow-fb.c:
5619         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
5620         
5621
5622 2000-11-02  Havoc Pennington  <hp@redhat.com>
5623
5624         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
5625         use stock buttons. Should be 100% source compatible, appropriate
5626         filesel fields now point to dialog->vbox and dialog->action_area.
5627         On the bizarre side, dialog->action_area and filesel->action_area
5628         are not the same widget.
5629         (gtk_file_selection_init): Put some padding around the selection
5630         entry, so it isn't touching the GtkDialog separator.    
5631
5632         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
5633         use stock buttons, etc. Should also be source compatible.
5634         Set the dialog default title in _init not _new().
5635         
5636         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
5637         Use stock buttons; don't put a button box inside the existing
5638         dialog button box. Don't bother with push/pop colormap anymore.
5639
5640         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
5641         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
5642         for message dialog, and necessary for the font selection and color
5643         selection with help and apply buttons.
5644         
5645         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
5646         to the created button widget. Set GTK_CAN_DEFAULT on the button.
5647         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
5648         between buttons, put less padding around the action area.
5649         (gtk_dialog_run): Exit on unmap rather than on destroy. 
5650         This will also exit the loop if the widget is hidden.
5651         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
5652         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
5653         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
5654         special-case delete event.
5655
5656         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
5657         formatting
5658         
5659 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
5660
5661         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
5662         button to temporarily disable position recording in the
5663         "saved position" test.
5664
5665 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
5666
5667         * gtk/gtkthemes.c: added compat code that temporarily implements
5668         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
5669         going to be revamped by owen's upcoming GtkModule patches, but
5670         untill then people want gtk to build, right? ;)
5671
5672 2000-11-04  Havoc Pennington  <hp@pobox.com>
5673
5674         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
5675         list
5676
5677         * docs/Changes-2.0.txt: Add note about
5678         gtk_container_get_toplevels()
5679
5680         * gtk/gtktextview.h: formatting
5681         
5682         * gtk/gtktextview.c: don't start descriptions with "Returns",
5683         confuses gtk-doc
5684
5685 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
5686
5687         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
5688         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
5689
5690 2000-11-03  Havoc Pennington  <hp@redhat.com>
5691
5692         * gtk/gtktexttagtable.c: Docs
5693         (gtk_text_tag_table_size): return a signed int
5694
5695         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
5696         (gtk_text_tag_event): make the event_object a GObject
5697
5698         * gtk/gtktextview.c: Write API docs for all functions.
5699
5700         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
5701         for gtk_text_view_get_window_type() called on one of the private
5702         windows.
5703
5704         * gtk/gtktextview.c: Instead of accessing text_view->buffer
5705         directly, call get_buffer() which demand-creates a default
5706         buffer. So gtk_text_view_new() can be used to create a view with a
5707         default buffer in it, if you just want an empty text box users can
5708         put data in. Useful for GUI builders also.
5709
5710 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
5711
5712         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
5713         the charset encodign portion MUST be in lowercase.
5714         * gtk/gtkrc.az: added file for Azeri language
5715
5716 2000-11-03  Havoc Pennington  <hp@redhat.com>
5717
5718         Get widgets working on the btree/buffer side. Display of them 
5719         still doesn't work.
5720         
5721         * gtk/gtktextview.c: start implementing child widget stuff
5722
5723         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
5724
5725         * gtk/gtktextlayout.c: handle embedded widgets
5726
5727         * gtk/gtktextdisplay.c: handle embedded widgets
5728
5729         * gtk/gtktextchild.c: Implement all the child anchor goo
5730
5731         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
5732         function
5733
5734         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
5735         (insert_pixbuf_or_widget_segment): abstract out common portions of 
5736         creating a child anchor or a pixbuf segment.
5737         (gtk_text_btree_create_child_anchor): new function
5738         (gtk_text_btree_unregister_child_anchor): new function
5739
5740         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
5741         allocate_child signal on GtkTextLayout
5742
5743         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
5744         values
5745         (gtk_text_iter_get_child_anchor): new function
5746
5747         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
5748         default handler for the changed signal, which calls
5749         gtk_text_buffer_set_modified(), instead of just always emitting
5750         changed then calling set_modified() manually. I guess this is
5751         maybe more flexible. It seems logical.
5752
5753 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
5754
5755         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
5756         now.
5757
5758         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
5759
5760 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
5761
5762         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
5763         been marked static.
5764
5765 2000-11-02  Havoc Pennington  <hp@redhat.com>
5766
5767         * gtk/testgtk.c (create_labels): had a test backward
5768
5769         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
5770         fields, so the dest GC ends up with the correct clip origin, 
5771         etc. Fixes a bug where colored labels didn't redraw 
5772         properly.
5773
5774 2000-11-02  Alexander Larsson  <alexl@redhat.com>
5775
5776         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
5777         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
5778         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
5779         Add last argument to t_type_register_static call.
5780         
5781         * gdk/linux-fb/gdkdrawable-fb2.c:
5782         Add last argument to t_type_register_static call.
5783         export the get_image drawable virtual function.
5784
5785         * gdk/linux-fb/gdkimage-fb.c:
5786         Add last argument to t_type_register_static call.
5787         rename gtk_image_get to _gdk_fb_get_image and
5788         export it for use by gdkdrawable-fb2.
5789
5790         * gdk/linux-fb/gdkprivate-fb.h:
5791         export _gdk_fb_get_image.
5792
5793         * gdk/linux-fb/gdkselection-fb.c:
5794         Add new api call stubs.
5795
5796         * gtk/Makefile.am:
5797         Missing ( in linux-fb part.
5798
5799         * modules/linux-fb/Makefile.am:
5800         Must link with gdk_pixbuf or get unresolved symbol.
5801
5802 2000-11-01  Havoc Pennington  <hp@pobox.com>
5803
5804         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
5805         GTK_TYPE_TEXT_ITER and BOXED marshallers
5806
5807         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
5808
5809         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
5810         
5811         * gtk/gtk-boxed.defs: add GtkTextIter
5812
5813         * gtk/gtkmarshal.list: Add marshallers for text widget that 
5814         properly use OBJECT and BOXED
5815
5816 2000-11-01  Havoc Pennington  <hp@redhat.com>
5817
5818         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
5819
5820         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
5821         before returning it. 
5822         
5823 2000-11-01  Havoc Pennington  <hp@redhat.com>
5824
5825         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5826         Clip the rectangle to be rendered to the drawable, since
5827         get_from_drawable() requires a region within the drawable
5828
5829 2000-11-01  Havoc Pennington  <hp@redhat.com>
5830
5831         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
5832         from coordinates.
5833
5834 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
5835
5836         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
5837         it isn't NULL.
5838
5839 2000-11-01  Havoc Pennington  <hp@pobox.com>
5840
5841         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
5842         on a label
5843         (gtk_label_finalize): unref the attr list if any.
5844
5845         * gtk/testgtk.c (create_get_image): close test on second click
5846         (make_message_dialog): close dialog if it exists
5847
5848         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
5849
5850         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
5851         gdk-pixbuf
5852
5853         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
5854         from Pango markup format
5855         (gtk_label_set_markup_with_accel): ditto but with accelerator
5856         parsing
5857
5858         * gtk/gtkimage.c (gtk_image_expose): reformatting.
5859
5860         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
5861         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
5862         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
5863         call gdk_window_get_origin().
5864
5865         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
5866         implement GDK_PIXBUF_ALPHA_FULL
5867         
5868 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
5869
5870         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5871         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5872         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5873         multiple handlers respectively, instead of only treating the
5874         first handler found (bug reported by owen).
5875
5876 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5877
5878         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5879
5880         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5881
5882         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5883         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5884         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5885
5886         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5887         widget.  Needs writing someday.
5888
5889         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5890         the docs.
5891
5892 2000-10-30  Havoc Pennington  <hp@redhat.com>
5893
5894         * gtk/gtktextview.h, gtk/gtktextview.c:
5895         Rename delete_at_cursor delete_from_cursor, and 
5896         move to move_cursor.
5897
5898 2000-10-30  Havoc Pennington  <hp@redhat.com>
5899
5900         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5901         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5902         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5903         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5904         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5905         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5906         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5907         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5908         gtktexttypes.h, gtktextview.c, gtktextview.h:
5909
5910         Massive reindentation and reformatting. Arg alignment and comments
5911         still need fixing in various places.
5912
5913 2000-10-30  Havoc Pennington  <hp@redhat.com>
5914
5915         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5916         to be named insert_at_cursor and delete_at_cursor so C++ can
5917         handle them.
5918
5919 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5920
5921         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5922         to get a double directory separator in case the home directory
5923         ends with one. This would cause trouble especially on Windows,
5924         where the path will be confused with the syntax for an an UNC
5925         (network share) path \\server\share\path.
5926         (gtk_rc_add_initial_default_files): Ditto.
5927
5928 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5929
5930         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5931
5932         * gtk/gtktextview.c: Use correct marshallers.
5933
5934 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5935
5936         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5937         use new iter stuff, and added all the appropriate signals et al.
5938
5939         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5940         code is internal to gtk only.
5941
5942 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5943
5944         * gtk/gtk.def
5945         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5946         glib-genmarshal etc.
5947
5948 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5949
5950         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5951         parallel builds.
5952
5953 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5954
5955         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5956
5957 2000-10-27  Robert Brady  <robert@suse.co.uk>
5958
5959         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5960         en_GB (British), ia (Interlingua).
5961
5962 2000-10-26  Havoc Pennington  <hp@redhat.com>
5963
5964         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5965
5966         Fixed output of:
5967         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5968         
5969         * gtk/gtktextsegment.c (char_segment_new): rename
5970         (_char_segment_new_from_two_strings): rename
5971         (_toggle_segment_new): rename
5972         
5973         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5974         (make_clipboard_widget): make it static
5975         (text_get_func): static
5976         (text_clear_func): static
5977
5978         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5979         static
5980         (hex_changed): make it static
5981         (hsv_changed): make it static
5982         (opacity_entry_changed): make it static
5983
5984         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5985         (toggle_segment_check_func): rename with _gtk
5986
5987         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5988         (_widget_segment_new): rename
5989         (_widget_segment_add): rename
5990         (_widget_segment_remove): rename
5991         (_widget_segment_ref): rename
5992         (_widget_segment_unref): rename
5993
5994         * gtk/gtktextmark.c (_mark_segment_new): Rename
5995         _gtk_mark_segment_new   
5996
5997 2000-10-26  Havoc Pennington  <hp@redhat.com>
5998
5999         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6000         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6001         types
6002
6003         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6004         marshaller types
6005
6006         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6007         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6008         license on these files.
6009
6010         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6011         work.
6012
6013         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6014         runtime random number different for each tree, instead of 
6015         a constant I made up.
6016
6017 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6018
6019         * gtk/Makefile.am: buncha cleanups, kludged build sources
6020         dependencies with a Makefile: oldest-source-stamp dependancy
6021         for the moment. automake is really fighting us here, with
6022         intentionally not allowing user-defined rules or dependancies
6023         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6024
6025         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6026         to public headers. tehy have a comment stating that they are
6027         "semi-public" aren't included by gtk.h and if enums popup there,
6028         they can be /*< skip >*/-ed.
6029
6030         * gtk/gtktextlayout.h: 
6031         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6032         added LGPL... <SIGH>
6033
6034 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6035
6036         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6037         GtkTreeIter.  Added iterators everywhere.
6038
6039         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6040
6041         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6042
6043         * gtk/gtktreestore.c: Changed to use the iterators.
6044
6045         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6046         iterators tomorrow.
6047
6048         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6049         iterators tomorrow.
6050
6051         * gtk/treestoretest.c: Changed to use iterators.
6052
6053         * demos/testgtk/main.c: Moved to use the new iterator system.
6054
6055 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6056
6057         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6058         localization misbehaviour.
6059
6060         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6061         a useless type without copy/free.
6062
6063         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6064         of GTK_TYPE_CTREE_NODE.
6065
6066 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6067
6068         * gtk/gtksignal.c:
6069         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6070         applicable.
6071
6072         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6073         gtk_selection_data_copy and gtk_selection_data_free
6074         do GtkSelectionData work as params in signals.
6075
6076 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6077
6078         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6079         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6080         couldn't they at least give it a non-standard name?
6081         
6082         * gtk/gtktextlayout.c: arg! yet another implementation of
6083         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6084
6085         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6086         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6087         home. now i know this _is_ a conspiracy.
6088
6089         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6090         ::state-changed.
6091
6092         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6093         (gtk_accel_group_create_add): marshaller signature fixups.
6094
6095         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6096         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6097
6098         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6099         anymore.
6100
6101 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6102
6103         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6104         due to the signal system changes, it wouldn't build currently. to
6105         be fixed soon.
6106
6107         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6108
6109         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6110         so it needs gtk_marshal_VOID__ENUM() instead of
6111         gtk_marshal_NONE__UINT().
6112
6113         * gdk/gdk*.c: adapted type registration functions.
6114
6115         * gtk/gtkbindings.c:
6116         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6117         gone.
6118
6119         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6120
6121         * gtk/gtkobject.c:
6122         (gtk_object_destroy):
6123         (gtk_object_shutdown): fixed recursion guards. basically we have to
6124         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6125         is called during ::destroy, and avoid recursion there.
6126
6127         * gtk/gtktypeutils.c:
6128         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6129         boxed_copy/boxed_free. this needs a more general solution based on a
6130         publically installed code-generator utility.
6131
6132         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6133         glib's gobject has support for that now.
6134         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6135
6136 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6137
6138         * gtk/gtksignal.[hc]:
6139         * gtk/gtkmarshal.[hc]:
6140         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6141         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6142         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6143         care of that.
6144
6145         * *.c: marshaller name fixups.
6146
6147         * gtk/gtkmarshal.list: added a comment briefing the format.
6148
6149 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6150
6151         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6152         compatibility macros here now. more specifically, most of
6153         the API is preserved (yes, _most_, nonwithstanding the
6154         following exceptions listed, the API is stil lHUGE ;)
6155         things that got removed completely:
6156         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6157         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6158         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6159         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6160         gtk_signal_remove_emission_hook().
6161         non-functional functions variants:
6162         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6163         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6164         not supported anymore.
6165         (gtk_signal_compat_matched): new internal function to aid
6166         implementation of the compatibility macros, it  provides
6167         functionality to block/unblock/disconnect handlers based
6168         on func/data.
6169
6170         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6171
6172         * *.c: adaptions to new type registration API signatures.
6173
6174 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
6175
6176         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
6177
6178 2000-10-25  Robert Brady  <robert@suse.co.uk>
6179
6180         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
6181         gdk_property_delete): If window == NULL, assume the root window.
6182         (restoring the behaviour that was in 1.2).
6183         
6184         * gtk/testtext.c (save_buffer): Allow creation of new files when
6185         saving.
6186
6187         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
6188         calls to read().
6189
6190 2000-10-25  Tor Lillqvist  <tml@iki.fi>
6191
6192         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
6193
6194         * gdk/win32/gdkdrawable-win32.c
6195         * gdk/win32/gdkimage-win32.c
6196         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
6197         X11 backend.
6198
6199         * gdk/win32/gdkcc-win32.c
6200         * gdk/win32/gdkcolor-win32.c
6201         * gdk/win32/gdkfont-win32.c
6202         * gdk/win32/gdkinput-win32.c
6203         * gdk/win32/gdkmain-win32.c
6204         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
6205
6206 2000-10-24  Havoc Pennington  <hp@redhat.com>
6207
6208         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
6209         it a static function
6210
6211         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
6212         redraw text when a tag is applied to it.
6213
6214         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
6215         (gtk_text_tag_affects_nonsize_appearance): private functions to
6216         see if a tag requires various kinds of redraw/layout to be queued
6217         up.
6218
6219         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
6220
6221         * gtk/testtext.c (fill_example_buffer): Put the cursor 
6222         at the start of the buffer, so search works by default
6223
6224         * gtk/gtktextiter.c (lines_match): init match_start always
6225
6226         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
6227         function, get iter at a line + a byte index
6228
6229         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
6230         to set byte position within a line
6231         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
6232
6233 2000-10-23  Havoc Pennington  <hp@redhat.com>
6234
6235         * gtk/testtext.c: Re-enable the "find" dialog
6236
6237         * gtk/testgtk.c: Add test for gdk_drawable_get_image
6238         
6239         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
6240         the arguments to gdk_draw_drawable were in the wrong order
6241         (gdk_window_paint_init_bg): This function was ignoring the
6242         init_region, instead of clipping to it, so the entire backing
6243         pixmap was cleared on every begin_paint()
6244         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
6245         was in here again, the loop kept using the same GtkWindowPaint
6246         over and over.
6247         (gdk_window_begin_paint_region): Fix a bug where we had two
6248         x_offset instead of x_offset and y_offset
6249
6250         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
6251         before we get the image.
6252         (gdk_draw_drawable): get the composite before we draw the drawable.
6253         (gdk_drawable_real_get_composite_drawable): default
6254         get_composite_drawable implementation that returns the drawable 
6255         itself
6256
6257         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
6258         get_composite_drawable virtual function
6259
6260         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
6261         list-walking bug
6262
6263         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
6264         make this work if the source drawable is a GdkDrawableImplX11
6265         instead of a public drawable type. This is really broken; the
6266         problem is that GdkDrawable needs a virtual method get_xid(), but
6267         of course that doesn't work in practice. Enter RTTI.
6268
6269         Also, improve mismatched depth message.
6270
6271         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
6272         GdkPixmap
6273
6274         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
6275         install _gdk_x11_get_image as our implementation of get_image
6276         
6277         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
6278         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
6279
6280         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
6281         gdk_drawable_get_image
6282
6283         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
6284
6285         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
6286         get_image
6287
6288         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
6289         trailing semicolon after for loop
6290
6291 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
6292
6293         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
6294         where font_desc for widget's context lagged widget's font_desc by
6295         one step.
6296
6297 2000-10-22  Tor Lillqvist  <tml@iki.fi>
6298
6299         * gdk/win32/gdkgc-win32.c
6300         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
6301
6302         * gtk/makefile.mingw.in
6303         * gtk/gtk.def: Updates.
6304
6305         * gtk/testgtk.c: sleep() is called _sleep in MS's C
6306         library.
6307
6308         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
6309
6310         * gtk/makefile.msc: Remove
6311
6312         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
6313
6314         * gtk/Makefile.am: Add it.
6315
6316         * configure.in: Generate it.
6317
6318         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
6319         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
6320         something even if not implemented, to satisfy picky MSVC.
6321
6322         Patches by Hans Breuer:
6323         
6324         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
6325         SetBkMode() and SetTextAlign() before calling
6326         pango_win32_render().
6327
6328         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
6329         Set hcliprgn to NULL after destroying it.
6330         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
6331
6332         * gdk/win32/gdkgeometry-win32.c
6333         (_gdk_windowing_window_queue_antiexpose): More effective
6334         implementation.
6335
6336         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
6337         depth as default, not the visual's.
6338
6339         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
6340         against empty title.
6341
6342         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
6343         IMAGE_PRIVATE_DATA.
6344
6345         * gdk/win32/gdkimage-win32.c: Use it.
6346
6347 2000-10-22  Robert Brady  <robert@suse.co.uk>
6348
6349         * configure.in: Check for bind_textdomain_codeset
6350
6351         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
6352         present, make use of it.
6353
6354         Add a translatable string "default:LTR" which, if translated
6355         to "default:RTL", will cause the default direction to be
6356         Right-to-Left.
6357
6358         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
6359         direction if marked as flippable.
6360
6361         * gtk/gtkhscale.c: Mark widget as flippable.
6362         
6363 2000-10-04  Havoc Pennington  <hp@redhat.com>
6364
6365         * gtk/testgtk.c (create_buttons): create some stock buttons
6366         with the default accel group
6367         (create_image): test some new GtkImage features
6368         (make_message_dialog): test GtkMessageDialog
6369         (create_modal_window): fix someone's bizzarro indentation
6370
6371         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
6372         GTK_WIN_POS_CENTER_ON_PARENT. 
6373         Add "destroy with parent" setting, which means the window goes
6374         away with its transient parent.
6375         (gtk_window_get_default_accel_group): get the default accel group
6376         for the window.
6377         (gtk_window_set_destroy_with_parent): set/unset destroy with
6378         parent flag
6379         (gtk_window_read_rcfiles): invalidate icon set caches
6380         after reloading rcfiles 
6381
6382         * gtk/gtkenums.h (GtkWindowPosition): add
6383         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
6384         on its parent window when the dialog is mapped for the first time.
6385
6386         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
6387         a simple message dialog class
6388         
6389         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
6390         handler to emit response signal, and maybe later it would
6391         honor a hide_on_delete flag - though that isn't there yet.
6392         Set border width on the vbox to 2, so we get some padding.      
6393         Use a button box for the action area.
6394         (gtk_dialog_key_press): synthesize a delete event if Esc
6395         is pressed and the GtkWidget key press handler didn't 
6396         handle the escape key.
6397         (gtk_dialog_new_with_buttons): new function creates a dialog
6398         with some default buttons in it.
6399         (gtk_dialog_add_action_widget): add an activatable widget
6400         as a button in the dialog - you can also add a non-activatable
6401         widget by accessing the action area directly.
6402         (gtk_dialog_add_button): add a simple button - stock ID or 
6403         label - to the action area
6404         (gtk_dialog_response): emit response signal
6405         (gtk_dialog_run): block waiting for the dialog, return 
6406         the response. Override normal delete_event behavior, so that 
6407         delete_event does nothing inside gtk_dialog_run().
6408
6409         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
6410         emitted when an action widget is clicked or the dialog gets
6411         delete_event
6412
6413         * gtk/gtk.h: add gtkmessagedialog.h
6414
6415         * gtk/Makefile.am: add gtkmessagedialog.[hc]
6416
6417 2000-10-18  Havoc Pennington  <hp@redhat.com>
6418
6419         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
6420         where any number of empty lines would get skipped
6421
6422         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
6423         edge.
6424
6425         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
6426         warning about invalid iterators (explain more thoroughly)
6427         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
6428
6429         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
6430         big
6431
6432         * demos/*.c: Add error handling
6433
6434         * gtk/gtktextbuffer.c: don't modify const iterators
6435
6436         * gtk/gdk-pixbuf-loader.c: Add full error handling here
6437
6438         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
6439         on file load
6440
6441         * gtk/gtkiconfactory.c: Update to reflect addition of error
6442         handling to gdk-pixbuf loaders
6443
6444 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
6445
6446         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
6447         move to new modularized testgtk.
6448
6449 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
6450
6451         * gtk/gtktreeview.c: Draw the arrows correctly.
6452
6453         * gtk/gtktreemodel.c: Added user docs.
6454
6455         * gtk/gtk.h: remove gtktreedatalist.h.
6456
6457         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
6458         parent when generating my type.
6459
6460         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
6461         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
6462
6463 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6464
6465         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
6466         GtkTreeModel from object to interface.
6467
6468 2000-10-16  Havoc Pennington  <hp@redhat.com>
6469
6470         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
6471         compilation
6472
6473 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
6474
6475         * gtk/gtktreeselection.c: Add API documentation to all public
6476         functions.
6477
6478         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
6479         functions.
6480
6481 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
6482
6483         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
6484         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
6485         docs to all public functions.
6486
6487         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
6488         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
6489         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
6490         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
6491         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
6492         issue.
6493
6494 2000-10-14  Robert Brady  <robert@suse.co.uk>
6495
6496         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
6497
6498 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
6499
6500         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
6501         values other then G_TYPE_STRING.
6502         * gtk/gtktreeselection.c: Minor commenting updates.
6503         * gtk/gtktreeview.c: Format updates.
6504
6505 2000-10-09  Tor Lillqvist  <tml@iki.fi>
6506
6507         * README.win32: Update.
6508
6509         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
6510         lines that had been deleted by mistake (?).
6511
6512         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
6513         also the case fg==white and bg==black (but still not randomly
6514         coloured cursors). Thanks to Wolfgang Sourdeau.
6515
6516         * gdk/win32/*.c: Silence gcc -Wall.
6517
6518         * gtk/gtk.def: Add missing entry points.
6519
6520         Fixes by Hans Breuer:
6521
6522         * gdk/makefile.msc
6523         * gdk/win32/makefile.msc: Update.
6524
6525         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
6526         some MSVC thing, presumably), cause breakpoint on failures. Add
6527         GDK_NOR case. Call g_log_set_always_fatal.
6528
6529         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
6530         should be pased by reference.
6531         
6532         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
6533         
6534         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
6535
6536         * gdk/win32/gdkevents-win32.c
6537         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
6538
6539         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
6540         implementation object.
6541
6542         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
6543         not just windows.
6544         
6545         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
6546         Use the wrapper object.
6547         
6548 2000-10-06  Havoc Pennington  <hp@redhat.com>
6549
6550         * Makefile.am (SRC_SUBDIRS): contrib subdir
6551
6552         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
6553         so it can be used in Xlib version
6554
6555         * demos/testpixbuf.c (update_timeout): error checking from 1.0
6556         tree
6557
6558         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
6559         change from 1.0 tree that returns first frame of animation
6560         if the loaded file is an animation.
6561
6562         * contrib: add new directory to hold stuff that comes with GTK+
6563         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
6564         
6565         * configure.in: add contrib/*
6566
6567 2000-10-05  Havoc Pennington  <hp@redhat.com>
6568
6569         * demos/testpixbuf-save.c: add pixbuf save test
6570
6571         * demos/Makefile.am: add testpixbuf-save.c
6572
6573 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
6574
6575         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
6576         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
6577         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
6578         * gtk/gtktreeselection.[ch]: Replaced
6579         "node_selected"/"node_unselected" signal with "selection_changed"
6580         signal.
6581
6582 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6583
6584         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
6585         tree widget.
6586
6587 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
6588
6589         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
6590         drawing.
6591
6592 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
6593
6594         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
6595         Move list pointer forwards before removing item from
6596         list. (Crash reported by Salmaso Raffaele)
6597
6598         * gdk/gdkwindow.h: Remove spurious trailing ,
6599
6600         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
6601         dependencies on uninstalled libraries, sorry folks.
6602
6603 2000-10-04  Havoc Pennington  <hp@redhat.com>
6604
6605         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
6606         gtk/gtkiconfactory.c: Fix copyrights    
6607
6608         * demos/testpixbuf.c: add inline pixbuf test
6609         
6610 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
6611
6612         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
6613         Add gdk_window_iconify.
6614
6615         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
6616         (gdk_window_set_geometry_hints): Add win_gravity
6617         to geometry structure.
6618
6619         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
6620         Implement _NET_WM_PING.
6621
6622         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
6623         Set _NET_WM_PID on the client leader.
6624
6625         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
6626         Handle UTF-8 better.
6627
6628         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
6629         UTF-8 better, set _NET_WM_NAME as well. Only set
6630         icon name if it hasn't previously been explicitely 
6631         set.
6632
6633 2000-10-03  Havoc Pennington  <hp@redhat.com>
6634
6635         * gtk/testtextbuffer.c: clean up trailing whitespace,
6636         add extensive tests for tag toggle iteration.
6637         
6638         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
6639         distance
6640
6641         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
6642         optimize case where the tag root is on level 1
6643         (gtk_text_line_previous_could_contain_tag): attempt to implement
6644         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
6645         functionality
6646
6647         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
6648         Implement this, though not very efficiently.
6649
6650         * gtk/gtktextiterprivate.h: reformat
6651
6652         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
6653         iterator
6654
6655         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
6656         this to properly revalidate the iterators.
6657
6658         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
6659         properly at the end of the line (and therefore on empty lines)
6660
6661         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
6662         maybe we should return a value...
6663
6664 2000-10-03  Tor Lillqvist  <tml@iki.fi>
6665
6666         * config.h.win32: Guard definition of alloca(). glib.h now handles
6667         that.
6668
6669         * gdk/gdk.def
6670         * gtk/gtk.def: Add new entry points.
6671
6672         Changes just to make GTK+ build without errors on Win32. No hope
6673         of it working in its current state, though...:
6674         
6675         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
6676         some functions from the X11 backend, just to make GTK+ build.
6677
6678         * gdk/makefile.mingw.in
6679         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
6680         number. Add new object files.
6681
6682         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
6683         GetMessageTime to get timestamp (where on X11 uses
6684         gdk_x11_get_server_time()).
6685
6686 2000-10-02  Havoc Pennington  <hp@pobox.com>
6687
6688         * gtk/gtktextview.c: text_window_* weren't static and should have
6689         been.
6690         Start work on child widgets; not yet complete, syncing to 
6691         office computer.
6692
6693         * gtk/gtktextchild.h: change this to contain a public interface,
6694         starting work on child interfaces.
6695         * gtk/gtktextchildprivate.h: move private interfaces here
6696
6697         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
6698
6699         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
6700         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
6701         gtk/gtktextmark.c: copyright notices
6702
6703         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
6704         internal functions      
6705
6706         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
6707         internal function
6708
6709         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6710         Reformatting    
6711
6712 2000-09-30  Havoc Pennington  <hp@pobox.com>
6713
6714         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
6715         NULL start/end pointers
6716
6717         * gtk/gtktextbuffer.c: Write some docs
6718         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
6719         NULL, so you can just check whether there's a selection.        
6720
6721         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
6722         cleanup_line or segments_changed ourselves, it gets done 
6723         in unlink_segment
6724
6725         * gtk/gtktextmark.h:
6726         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
6727         
6728         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
6729
6730         * gtk/gtktextmark.c: delete some more old Tk cruft
6731
6732         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
6733         mark before removing it, so we can emit MARK_DELETED with a valid
6734         pointer.
6735         (gtk_text_buffer_mark_set): hold ref across signal emission
6736
6737         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
6738         whining about attempts to delete special marks
6739
6740         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
6741         underscore, since it's internal.
6742
6743         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
6744         now implemented in terms of iterators in gtktextiter.h
6745
6746         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
6747         New function, destructively sets contents of buffer. Also 
6748         a convenient way to clear the buffer by setting text to ""
6749
6750         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
6751         multiline string literal
6752
6753         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
6754         text changes.
6755
6756         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
6757         is not dereferenceable
6758         (gtk_text_iter_forward_lines): fix return value
6759
6760 2000-09-29  Havoc Pennington  <hp@redhat.com>
6761
6762         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
6763
6764         * gtk/gtktextview.c: Implement drag thresholding; change functions 
6765         that set border window size to have nicer name
6766         (gtk_text_view_mark_set_handler):  Fix this to have the 
6767         right signature.
6768
6769         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
6770
6771         * gtk/testtext.c: Update with API changes, put line numbers on 
6772         both sides.
6773         
6774         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
6775         with this
6776
6777         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
6778         pixbuf; delete a big block of #if 0 Tk code
6779
6780         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
6781         insert_pixmap with insert_pixbuf
6782
6783 2000-09-29  Martin Baulig  <baulig@suse.de>
6784
6785         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
6786         confusion with the GdkPixbuf of the GNOME 1.x platform.
6787
6788 2000-09-29  Havoc Pennington  <hp@pobox.com>
6789
6790         * gtk/gtktextview.c: Implement the side windows.
6791
6792         * gtk/testtext.c: Implement simple line numbering in the 
6793         left side window; seems to make scrolling sloooow. Oops.
6794         Also, cursor blink is for some reason causing redraws
6795         of the line numbers. Should investigate...
6796
6797 2000-09-28  Havoc Pennington  <hp@redhat.com>
6798
6799         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
6800         scrolling child windows, and draw focus rectangle properly.
6801         
6802         (gtk_text_view_buffer_to_window_coords):
6803         Coordinate transformation to deal with all these freaking windows
6804         and offsets
6805         (gtk_text_view_window_to_buffer_coords): transform the other way
6806
6807         * gtk/testtext.c (create_buffer): Update to match Pango API change
6808
6809         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
6810         anonymous tags
6811         (foreach_unref): don't emit remove signal from finalize, just
6812         set tag's parent to NULL
6813
6814 2000-09-26  Havoc Pennington  <hp@redhat.com>
6815
6816         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
6817         Fix some warnings       
6818
6819 2000-09-26  Havoc Pennington  <hp@redhat.com>
6820
6821         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
6822         headers into the private header list
6823
6824         * Makefile.am (pkgconfig_DATA): install pkg-config files
6825
6826         * configure.in: add pkg-config files
6827
6828         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
6829
6830         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
6831         outstanding icon caches on theme change.
6832
6833         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
6834         important types:
6835
6836         (GtkIconSource): Specification for creating a pixbuf 
6837         appropriate for a direction/state/size triplet from 
6838         a source pixbuf or filename
6839
6840         (GtkIconSet): List of GtkIconSource objects that are used to
6841         create the "same" icon (e.g. an OK button icon), and cache for
6842         rendered icons
6843
6844         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
6845         up the icon set for a given stock ID.  GTK maintains a stack of
6846         GtkIconFactory to search, and applications or libraries can add
6847         additional icon factories on top of the stack
6848         
6849         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
6850         the set of GtkIconSource specified for a given stock ID into 
6851         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
6852         RcStyle, under the specified stock ID.
6853
6854         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
6855         render_icon used to derive a GdkPixbuf from a GtkIconSource.
6856         This allows people to theme how prelight, insensitive, etc. are
6857         done.
6858
6859         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
6860         icon factories for a style, and return the resulting 
6861         icon set if any.
6862
6863         (gtk_style_render_icon): Render an icon using the render_icon 
6864         method in the GtkStyleClass.
6865
6866         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
6867         Use the style for a given widget to look up a stock ID, get the
6868         icon set, and render an icon using the render_icon method 
6869         of the style
6870
6871         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6872         (contains information about a stock item), the built-in stock item
6873         IDs, and functions to add/lookup stock items.
6874
6875         * gtk/stock-icons/*: Stock icons that come with GTK
6876
6877         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6878         a button based on a GtkStockItem
6879         (gtk_button_new_accel): Takes a uline string and accel group, and
6880         installs the accelerator.
6881
6882         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6883         image-display widget.
6884
6885 2000-09-25  Havoc Pennington  <hp@redhat.com>
6886
6887         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6888
6889         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6890         Fix a bug when removing node data, we didn't properly 
6891         re-splice the linked list after removing the data.
6892
6893         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6894         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6895
6896         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6897
6898         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6899         for the layout from the GtkTextTag.
6900
6901         * gtk/gtktexttypes.h: delete tab and search cruft, 
6902         remove g_convert() in favor of GLib version
6903
6904         * gtk/gtktexttypes.c: remove tab implementation from here,
6905         move to Pango
6906
6907         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6908         tab stuff using new PangoTabArray from Pango
6909
6910         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6911         unused border_width stuff
6912
6913 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6914
6915         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6916         glib) and now useless utf_to_latin1() latin1_to_utf()
6917
6918         * gtk/gtktextview.[ch]: Change ::move_insert and
6919         ::delete_text action signals to ::move and ::delete;
6920         create the signals with the right enumeration type,
6921         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6922         C-v bindings, change Home, End to move to beginning/end
6923         of line, Add C-Home C-End to move to beginning/end
6924         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6925         combine ::scroll_text into ::move; use new GtkSelectionData
6926         functions to simplify DND text handling.
6927         
6928         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6929         deletion enumerations here, rename enumeration values to 
6930         be consistently plural.
6931
6932         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6933         for cut/copy/paste and primary selection.
6934
6935         * gtk/gtktextbuffer.[ch]: Remove excess time and
6936         'interactive' arguments from cut/copy/paste;
6937         rename cut to cut_clipboard, etc; remove
6938         gtk_text_buffer_get_clipboard_contents().
6939
6940         * gtk/gtktextlayout.[ch]: Add 
6941         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6942         line ends.
6943
6944         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6945         Functions to set or get a UTF-8 string on the selection
6946         data.
6947
6948         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6949         interfaces.
6950
6951         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6952         created widgets - one of these is useless if we don't.
6953
6954         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6955         a public function clear all targets registered for the
6956         widget.
6957
6958         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6959         Never call gtk_widget_realize() - that was just asking
6960         for bizarre side-effects.
6961
6962         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6963         gdk_selection_owner_set even if the widget is the
6964         same so that we reliably update the timestamp on
6965         the server.
6966
6967         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6968         gdk_x11_get_server_time() function.
6969         
6970         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6971         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6972         Add some tricky filtering on serial numbers for
6973         selection clear events to fix up long-standard
6974         race condition FIXME's in gtkselection.c.
6975
6976         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6977         routines to convert from utf8 to compound text or
6978         STRING and from a text property to UTF-8.
6979
6980         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6981         a convenience function gdk_get_current_event_time().
6982
6983         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6984         and free selection_data->data properly
6985
6986 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6987
6988         * gtk/gtkthemes.c: Remove some unecessary includes.
6989
6990 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6991
6992         * gtk/gtktextdisplay.c
6993         * gtk/gtktextlayout.c
6994         * gtk/gtktexttag.c
6995         * gtk/gtktexttag.h
6996         * gtk/testtext.c: Change the overstrike property to strikethrough,
6997         to closer match pango.
6998
6999 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7000
7001         * gtk/gtktextview.c: Fix up visibility so that focus,
7002         cursor_visible and blink interact properly.  Reenable cursor blink
7003         which had been roughly disabled. Make blink and focus
7004         properly per-view.
7005
7006         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7007         Add a flag for whether to display insertion cursor and
7008         a function to set the flag.
7009
7010         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7011         get_line_y() to get_line_yrange(), to be a bit more generally
7012         useful.
7013
7014 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7015
7016         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7017           do stop_navigating_submenu, to clear last timeout properly.
7018           Also in gtk_menu_motion_notify move ignore_enter above
7019           the conditional to make it always happen as suggested by Owen
7020
7021 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7022
7023         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7024
7025         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7026         w32api headers.
7027
7028         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7029         declarations.
7030
7031         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7032         (gdk_win32_get_colormap): A line had been deleted by mistake.
7033
7034         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7035         (gdk_event_translate): Handle more virtual keycodes to be able to
7036         generate GDK events for Control-comma, Control-period, etc.
7037
7038         * gtk/gtk.def: Add some missing entry points.
7039
7040 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7041
7042         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7043         Doc comment fixing. (Mostly non-matching parameter names.)
7044
7045         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7046         comments a little to avoid looking like a doc comment.
7047
7048         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7049         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7050         conversions be changed to GError?)
7051
7052         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7053         Move private #defines into .c file.
7054
7055         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7056         order of argument addition, remove duplicates.
7057
7058         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7059         parent class is FrameClass, not BinClass.
7060
7061         * gtk/gtk.h: Add gtkinvisible, which was missing.
7062         (It's occasionalyl useful for client apps, if seldom.)
7063
7064         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7065         #define.
7066
7067 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7068
7069         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7070         coordinates when creating window, instead of GDK-space
7071         coordinates. (Avoid BadValue on too large windows.)
7072
7073 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7074
7075         * configure.in (use_mmx_asm): Remove conftest* after use along the
7076         lines of AC_TRY_COMPILE.        
7077         
7078         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7079         of g_dirname, which is deprecated.
7080         (gtk_rc_parse_any): Removed calls to
7081         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7082
7083         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7084         Removed calls to g_hash_table_{freeze,thaw}, as they are
7085         deprecated now.
7086
7087         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7088         instead of g_basename.
7089         
7090 2000-09-04 Elliot Lee <sopwith@redhat.com>
7091         
7092         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7093         ANSI warning.
7094
7095 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7096
7097         * gtk/gtkwidget.h:  Add some documenting comments about 
7098           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7099           just as owen said on irc.
7100
7101         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7102           set HAS_DEFAULT.  Only set it if there isn't another window
7103           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7104           it if the widget is not the focused window with RECEIVES_DEFAULT.
7105           This fixes weird double default bugs in dialogs which has things
7106           call gtk_window_set_default at times.
7107
7108 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7109
7110         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7111         Nils Barth and David Santiago to improve submenu
7112         navigation. The patch does this by creating a triangular
7113         region from the point where the pointer leaves the
7114         menu to the submenu.  While the pointer is in
7115         that region and a timeout has not expired, events 
7116         that would cause the active submenu to change are
7117         ignored.
7118
7119 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7120
7121         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7122         moving a toplevel window immediately after sizing it would
7123         result in it being sized back to the old size since 
7124         impl->width, impl->height aren't updated until we hear
7125         back from the server. There is still a (longstanding) bug
7126         here that gdk_window_get_size() will give the wrong size
7127         until we do hear back.
7128
7129 2000-08-31  Havoc Pennington  <hp@redhat.com>
7130
7131         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7132         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7133         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7134         Rename GtkTextStyleValues to GtkTextAttributes
7135
7136 2000-08-31  Havoc Pennington  <hp@pobox.com>
7137
7138         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7139         for rapid testing whether an iterator is the end iterator
7140         (gtk_text_btree_new): init end line cache
7141         (gtk_text_line_is_last): use fast cached line to 
7142         see if we're the last line.
7143         (get_last_line): use cached line here too, should 
7144         speed up some random unrelated code.
7145         
7146 2000-08-30  Havoc Pennington  <hp@pobox.com>
7147
7148         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7149         signals.
7150
7151         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7152         delete_text signals. This allows the signals to be used for
7153         implementing undo.
7154
7155         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7156         provide "interactive" argument when emitting insert_text or
7157         delete_text signal.
7158         
7159 2000-08-30  Havoc Pennington  <hp@pobox.com>
7160
7161         * gtk/gtktextbuffer.c: Docs
7162
7163 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7164
7165         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7166         from switch statements, since Tor removed the enumeration
7167         value.
7168         
7169         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7170         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7171
7172 2000-08-29 Elliot Lee <sopwith@redhat.com>
7173         * */*.h: Use G_GNUC_CONST.
7174
7175 2000-08-27  Havoc Pennington  <hp@pobox.com>
7176
7177         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
7178         minor indentation fixes, inserted some FIXME about stuff I
7179         realized was broken while documenting it.
7180         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
7181         GTK convention  
7182
7183 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
7184
7185         * gtk/testgtk.c (create_styles): Fix double free of
7186         font desc.
7187
7188 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7189
7190         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
7191         
7192         * gtk/testgtk.c (create_styles): Add a test for modifying
7193         the style through gtk_widget_modify_*.
7194
7195         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
7196         a function to get the current modifier style.
7197
7198         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
7199         of the passed in GtkRcStyle instead of ref'ing it.
7200
7201         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
7202
7203 2000-08-20  Tor Lillqvist  <tml@iki.fi>
7204
7205         * gdk/gdkimage.h
7206         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
7207         shared memory image+pixmap GdkImage type, or
7208         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
7209         I am dropping that.
7210
7211         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
7212         actually call gtk_init_abi_check(), passing also
7213         sizeof(GtkWindow). Ditto for gtk_init_check(). 
7214
7215         * gtk/gtk.def
7216         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
7217         New functions, used to check that the GTK+-using code has been
7218         compiled using the correct compiler and switches. In particular,
7219         with gcc one has to use the -fnative-struct switch as GTK+ is
7220         compiled with that.
7221
7222 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
7223
7224         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
7225         ->prev fields when merging lists. (Found simultaneously
7226         by Pawel Salek and Jakub Jelinek)
7227
7228 2000-08-12  Tor Lillqvist  <tml@iki.fi>
7229
7230         * gdk/gdk.def
7231         * gtk/gtk.def: Add missing entries.
7232
7233         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
7234         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
7235
7236         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
7237         function. Dummy implementation at this point.
7238
7239         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
7240         rules. Undefine GTK_COMPILATION when compiling the test programs.
7241         
7242         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
7243
7244 2000-08-11  Tor Lillqvist  <tml@iki.fi>
7245
7246         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
7247         to convert back and forth from UTF-8 and the "system" (or "current
7248         locale") charset when necessary. Indentation/spacing cleanup.
7249
7250 2000-08-10  Havoc Pennington  <hp@redhat.com>
7251
7252         * Makefile.am (snapshot): Change the format of the snapshot
7253         version to match glib
7254
7255         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
7256         from EXTRA_DIST since it doesn't seem to exist
7257
7258 2000-08-10  Tor Lillqvist  <tml@iki.fi>
7259
7260         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
7261         version of the directory name (not the UTF-8 one) when building
7262         the path name to stat().
7263
7264 2000-08-03  Elliot Lee  <sopwith@redhat.com>
7265
7266         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
7267         PANGO_ATTR_SHAPE set.
7268
7269 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
7270
7271         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
7272         Peter Osterlund to simplify the code while keeping the
7273         functionality the same.
7274
7275 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
7276
7277         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
7278         is_viewable() test further inside the function, since removing the 
7279         window from the redraw list without clearing ->update_area
7280         was also very broken.
7281
7282 2000-08-02  Tor Lillqvist  <tml@iki.fi>
7283
7284         * configure.in: Check for <unistd.h>.
7285
7286 2000-08-01  Martin Baulig  <baulig@suse.de>
7287
7288         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
7289         to display the message that this is a development version of GTK+.
7290
7291 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
7292
7293         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
7294         was depending on widget->allocation instead of the width of text_area,
7295         which was incorrect for subclasses like GtkSpinButton.
7296
7297         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
7298         with width == 1 tests that should be width == -1.
7299
7300 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
7301
7302         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
7303         (broken, Elliot, every single window blank on X) custom code with call
7304         to gdk_window_is_viewable() which a) prevents code duplicate and
7305         b) works. 
7306
7307 2000-07-31  Elliot Lee  <sopwith@redhat.com>
7308
7309         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
7310         to get the GDK_PARENT_ROOT() macro to work.
7311         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
7312         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
7313         of, windows that aren't shown.
7314         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
7315         pointer grab stuff.
7316
7317 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
7318
7319         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
7320           s/gtk_main_iteration/g_main_iteration/
7321
7322           Did this already in change:
7323                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7324           don't know how it got reverted.
7325
7326 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
7327
7328         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
7329         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
7330
7331         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
7332         not gdk_pixbuf.
7333
7334 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
7335
7336         * configure.in,po/{sp,sr}.po: Added Serbian files
7337
7338 2000-07-30  Tor Lillqvist  <tml@iki.fi>
7339
7340         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
7341
7342         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
7343         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
7344         GIOChannel implementation.
7345
7346         * gdk/win32/gdkinput.c
7347         * gdk/win32/gdkpango-win32.c: Update license name here, too.
7348
7349         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
7350         definition to match prototype.
7351
7352         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
7353
7354 2000-07-27  Elliot Lee  <sopwith@redhat.com>
7355
7356         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
7357         function, to allow handling image formats that cannot be detected
7358         by looking at content alone.
7359
7360 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
7361
7362         * docs/tutorial/*.gif *.jpg *.eps
7363           Update these to the same look-n-feel.
7364           Why does including images in DocBook suck so badly?
7365
7366 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
7367
7368         * gtk/gtktable.c: applied patch from Phil Thompson
7369         <phil@river-bank.demon.co.uk> that enables space settings for
7370         the last row/columns as well.
7371
7372 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
7373
7374         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
7375         updates the license headers to the GNU Lesser General Public License,
7376         as well as updating the copyright year to 2000.
7377
7378 2000-07-26  Robert Brady  <rwb197@zepler.org>
7379
7380         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
7381           and po/Makefile, was installing and looking for them under gtk20
7382           and gtk2 respectively.
7383
7384 2000-07-25  Havoc Pennington  <hp@redhat.com>
7385
7386         * gtk/testtext.c: Comment out some stuff that depends on the rest
7387         of my patches.
7388
7389 2000-07-25  Havoc Pennington  <hp@redhat.com>
7390
7391         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
7392         buffer
7393
7394 2000-07-25  Havoc Pennington  <hp@redhat.com>
7395
7396         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
7397         widget changes.
7398
7399         * gtk/gtktextview.h: To be consistent with usage of "line"
7400         throughout the API to mean "newline-terminated thingy", change
7401         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
7402         to MOVEMENT_LINE.
7403
7404         (GtkTextView): Add flags for default editability, and whether to
7405         show the cursor. Add functions to get/set that. Add 
7406
7407         (gtk_text_view_get_iter_location): new function
7408
7409         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
7410         gtktextlayout.h
7411         (g_convert): Add g_convert temporarily, will go in glib in a bit
7412         
7413         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
7414         GtkTextTagTableForeach instead of brokenly using GHFunc.
7415         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
7416
7417         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
7418         moved to public header.
7419
7420         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
7421         "invisible", since "elide" was a bad name.
7422         (gtk_text_tag_get_priority): Added
7423
7424         (GtkTextStyleValues): put this in public header, along with
7425         functions to use it.
7426
7427         * gtk/gtktextmarkprivate.h: Include more headers, since we no
7428         longer include gtktextbtree.h.
7429
7430         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
7431         gtk_text_mark_deleted
7432
7433         * gtk/gtktextlayout.h: Don't include the "really private" headers,
7434         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
7435         to make this possible. Now we only need to install
7436         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
7437         (However the Makefile.am isn't changed yet because of the
7438         logistics of merging gtk-hp-patches piecemeal)
7439
7440         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
7441         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
7442         gtk_text_iter_get_line is now used in the public API for a
7443         different purpose.
7444
7445         * gtk/gtktextiter.h: Clean up function names to be more
7446         consistent. Always call char offset "offset" and byte index
7447         "index". A "line" is always a line number. 
7448
7449         (gtk_text_iter_is_last): new function, more efficient than 
7450         the existing way to check
7451         (gtk_text_iter_is_first): new function, also more efficient
7452
7453         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
7454
7455         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
7456         gtk_text_iter_forward_char, etc.
7457
7458         (gtk_text_iter_forward_to_tag_toggle): Renamed from
7459         forward_find_tag_toggle, since this isn't a linear search
7460
7461         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
7462
7463         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
7464         New functions, search for a buffer substring.
7465
7466         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
7467         interactive and default editable (since we need to store that info
7468         until we receive the selection data).
7469
7470         Remove all the _at_char and at_line etc. versions of functions;
7471         only have iterator versions.
7472
7473         Add _interactive() versions of functions, that consider the
7474         editability of text. (FIXME add interactive flag to the 
7475         insert/delete signals per Darin's suggestion)
7476
7477         (gtk_text_buffer_get_tag_table): new function, demand-creates the
7478         tag table if necessary
7479
7480         Remove declaration of gtk_text_buffer_get_iter_from_string
7481
7482         (_gtk_text_buffer_get_btree): private/internal function, added.
7483         
7484
7485         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
7486         (gtk_text_line_is_last): new function
7487
7488 2000-07-25  Havoc Pennington  <hp@redhat.com>
7489
7490         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
7491         using GtkProgressBar. See Changes-2.0.txt for details.
7492
7493         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
7494         "pulse_step" which are the equivalent of
7495         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
7496         Implement new API.
7497         
7498         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
7499         (use_text_format) to mark whether text set on the progress bar is
7500         a format string. Deprecate entire GtkProgress interface.
7501
7502         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
7503         (gtk_progress_build_string): make this a no-op if use_text_format
7504         is FALSE
7505
7506         * docs/Changes-2.0.txt: Describe progress bar changes.
7507
7508 2000-07-25  Tor Lillqvist  <tml@iki.fi>
7509
7510         * Makefile.am: Include the build directory.
7511
7512         * configure.in: Generate build/Makefile, build/win32/Makefile,
7513         gdk/, gdk/win32/, and gtk/makefile.mingw.
7514
7515         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
7516         Add GETTEXT_PACKAGE.
7517         
7518         * gdk/gdk.def
7519         * gtk/gtk.def: Updates.
7520
7521         * gdk/gdkfont.h
7522         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
7523         need them any longer.
7524
7525         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
7526
7527         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
7528         PANGOWIN32_LIBS and gdk_pixbuf.
7529
7530         * gdk/win32: Compiles, but no doubt doesn't work at all.
7531
7532         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
7533
7534         * gdk/win32/gdkinput.c: New file, temporarily.
7535         
7536         * gdk/win32/gdkinput-win32.h: New file
7537
7538         * gdk/win32/gdkinputprivate.h: Remove.
7539
7540         * gdk/win32/gdkpango-win32.c: New file.
7541
7542         * gtk/makefile.mingw.in: New file
7543
7544         * gtk/makefile.cygwin: Removed
7545         
7546         * gtk/Makefile.am: Update accordingly.
7547
7548         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
7549         made externally visible.
7550
7551         * gtk/gtkmain.c: Use it.
7552         
7553         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
7554         is enough.
7555
7556         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
7557
7558 2000-07-24 Elliot Lee <sopwith@redhat.com>
7559         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
7560         individual backends already.
7561         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
7562         again. Yes, there really is a good reason for this, if you are using the gdkregion
7563         internals, and if you're not, why do you care?
7564         * gdk/gdkwindow.c: Fix inverted condition
7565         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
7566         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
7567         * gtk/gtkrange.c: Redraw trough when moving.
7568         * gtk/gtktypeutils.c: Fix warning by adding const cast.
7569         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
7570
7571 2000-07-23  Tor Lillqvist  <tml@iki.fi>
7572
7573         * configure.in: Check for mkstemp and sigsetjmp. Output
7574         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
7575
7576         More work on GDK for Win32. Still in an intermediate state.
7577
7578         * gdk/makefile.cygwin
7579         * gdk/win32/makefile.cygwin: Removed.
7580         
7581         * gdk/makefile.mingw.in
7582         * gdk/win32/makefile.mingw.in: New files.
7583
7584         * gdk/Makefile.am
7585         * gdk/win32/Makefile.am: Generate and distribute them.
7586
7587         * gdk/win32/gdkwindow-win32.h
7588         * gdk/win32/gdkdrawable-win32.h
7589         * gdk/win32/gdkpixmap-win32.h: New files.
7590
7591         * gdk/win32/gdkcolor-win32.c
7592         * gdk/win32/gdkcursor-win32.c
7593         * gdk/win32/gdkdrawable-win32.c
7594         * gdk/win32/gdkgc-win32.c
7595         * gdk/win32/gdkimage-win32.c
7596         * gdk/win32/gdkprivate-win32.h
7597         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
7598         Rename fields and variables called xcursor, xid, etc (these names
7599         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
7600
7601 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
7602
7603         * gtk/gtkentry.[ch]: Fix some problems with vertical
7604         alignment.
7605
7606         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
7607         char/byte confusion.
7608
7609 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
7610
7611         * gtk/gtktextview.c (changed_handler): Fix bug where
7612         redraw wasn't being done properly when height of
7613         dirty region changed.
7614
7615         * demos/Makefile.am: Remove various references to
7616         -lgmodule
7617
7618 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
7619
7620         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
7621         PangoAttrShape to reserve space for pixmaps, add 
7622         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
7623         in the display functions.
7624         
7625         * gtk/testgtk.c (create_layout): Set some more exotic
7626         scrolled window options
7627
7628         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
7629         Add function to set the shadow type of a window, to allow
7630         putting a shadow around widgets such as GtkLayout or GnomeCanvas
7631         which don't draw their own frame.
7632
7633 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
7634
7635         * docs/tutorial/package-db-tutorial.sh: New file for
7636           packaging DocBook format tutorial
7637
7638 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
7639
7640         * docs/tutorial/gtk-tut.sgml: Minor updates
7641
7642         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
7643
7644 2000-07-19  Tor Lillqvist  <tml@iki.fi>
7645
7646         * gtk/gtksignal.c: Fix C++ comment.
7647
7648         * gtk/gtkimmulticontext.c
7649         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
7650         don't return value from void functions.
7651
7652         * gtk/gtk.def: Add gtk_rc_style_unref.
7653
7654 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7655
7656         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
7657         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
7658         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
7659         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
7660         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
7661         gtk/gtktypeutils.h: Include files outside of the extern "C"
7662         block. Makes some C++ compiler happy. Reported by Denis Vakatov
7663         <vakatov@peony.nlm.nih.gov>.
7664
7665 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
7666
7667         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
7668           Completes first pass. Hurrah!
7669
7670 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
7671
7672         * docs/tutorial/gtk-tut.sgml: More clean ups.
7673
7674 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
7675
7676         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
7677         paint the background of the text area which was accidentally
7678         removed at some point.
7679
7680         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
7681           
7682          - Move most of the functionality from the theme vtable
7683            into GtkRcStyleClass and GtkStyleClass. The moved
7684            vtable functions were changed a bit in the move to
7685            work better in their new home.
7686
7687          - Get rid of the engine and engine_data fields from
7688            GtkRcStyle and GtkStyle; instead the theme
7689            engine derives theme-specific subclasses of GtkRcStyle
7690            and GtkStyle
7691
7692          - Add extra dlsym() found entry point to themes,
7693            theme_create_rc_style().
7694
7695         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
7696         in gtk_style_real_copy.
7697
7698         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
7699         to register a type associated with an engine. (The engine
7700         won't be unloaded as there is an instance of the type.)
7701
7702
7703 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
7704
7705         * docs/tutorial/gtk-tut.sgml: Clean ups.
7706
7707 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
7708
7709         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
7710           of cleaning up to do.
7711
7712 2000-07-15  Tor Lillqvist  <tml@iki.fi>
7713
7714         * gdk/testgdk.c: New file, quick hack to test backends for
7715         pixel-by-pixel correctness of the most simple graphic operations.
7716
7717 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
7718
7719         * Really release 1.3.1
7720         
7721         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
7722         include structure.
7723
7724 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
7725
7726         * Released 1.3.1
7727
7728 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
7729
7730         * gtk/gtktextlayout.c: use FALSE for size_only most
7731         of the time when calling gtk_text_layout_get_line_display()
7732         to avoid causing double reshapes when a redraw follows
7733         immediately after.
7734
7735 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
7736
7737         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
7738         appropriate region and gdk_window_process_updates() so trough
7739         updating doesn't lag behind the window being scrolled.
7740
7741         * gdk/gdkgc.c: Make parent_class pointer static.
7742          
7743 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
7744
7745         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
7746         include <string.h>.
7747          
7748         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
7749         cut-and-paste error in computing memory offset for 4 channels.
7750
7751 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
7752
7753         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
7754         gtk_rc_append_default_pixmap_path(), since it wasn't
7755         adding an interesting path and we don't have a meaningful
7756         default for this value.
7757
7758 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
7759
7760         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
7761         gtk-config to gtk-config-2.0 move gtk_.m4 to
7762         gtk-2.0.m4
7763
7764         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7765         gdk/Makefile.am demos/Makefile.am: Change 
7766         library names to libgtk-1.3.la, etc, so that we
7767         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
7768
7769         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
7770         gdk/Makefile.am gdk/x11/Makfile.am
7771         Move include files into /usr/include/gtk-2.0, 
7772         /usr/lib/gtk-2.0/include/
7773          
7774         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
7775         gtk/gtkintl.h: Change package for gettext from 
7776         gtk+ to gtk20. Put hack in autogen.sh to modify
7777         po/Makefile.in.in after gettextize to make this
7778         possible.
7779
7780         * gtk+.spec: Some updates, not tested.
7781
7782         * gdk-pixbuf/Makefile.am: Move loaders into
7783         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
7784
7785         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
7786         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
7787         to THEMENAME/gtk-2.0/. Move engine directory  to
7788         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
7789         
7790 2000-07-12  Tor Lillqvist  <tml@iki.fi>
7791
7792         Win32 changes, still doesn't build though.
7793
7794         * gdk/makefile.cygwin
7795         * gdk/win32/makefile.cygwin
7796         * gtk/makefile.cygwin: Updates.
7797
7798         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
7799         default values for fg and bg pixel as X11 does (0 and 1), not
7800         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
7801         Use 0 for pen width by default (treated as 1 anyway later, but for
7802         apps that might check the value in the GdkGC).
7803         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
7804         interface to gdk_gc_predraw and _postdraw.
7805
7806         * gdk/win32/gdkwin32.h
7807         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
7808
7809         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
7810         extraneous semicolon.
7811
7812         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
7813
7814         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
7815         not the Win32 bitspixel value.
7816
7817         * gdk/win32/gdkcc-win32.c:
7818         * gdk/win32/gdkcolor-win32.c 
7819         * gdk/win32/gdkprivate-win32.h
7820         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
7821         GDK object structure.
7822
7823 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
7824
7825         * docs/tutorial/gtk_tut_12.es.sgml (name): 
7826         * docs/tutorial/gtk_tut_it.sgml (name): 
7827         * docs/tutorial/gtk_tut_fr.sgml (name): 
7828         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
7829         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
7830
7831 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
7832
7833         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
7834           small changes.
7835
7836 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
7837
7838         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
7839         a bug here, never been here and never fixed anything ;(
7840         (don't segfault if tree->root_tree is NULL, which happens prior
7841         to widget realization, but puke instead).
7842
7843 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
7844
7845         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
7846         add the necessary tokens.
7847
7848         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
7849         (gtk_rc_style_to_style): copy thicknesses.
7850         (gtk_rc_init_style): apply thicknesses.
7851         (gtk_rc_parse_style): parse xthickness and ythickness.
7852
7853         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
7854
7855         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
7856         (gdk_window_new): 
7857         (_gdk_windowing_window_init): 
7858         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
7859         (gdk_pixmap_create_from_data): 
7860         (gdk_bitmap_create_from_data): 
7861         (gdk_pixmap_new): 
7862         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7863         (gdk_image_new): 
7864         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
7865         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
7866         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
7867         (gdk_colormap_get_system): 
7868         (gdk_colormap_new): 
7869         * gdk/gdkwindow.c (gdk_window_init): 
7870         * gtk/gtkstyle.c (gtk_style_new):
7871         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7872         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7873         * gtk/gtkrc.c (gtk_rc_style_new):
7874         use g_object_new() instead of g_type_create_instance() which
7875         is a private function for fundamental type implementations.
7876
7877 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7878
7879         * configure.in: Add check for db2html
7880
7881 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7882
7883         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7884         hack to set glib_debug_objects based on gtk_debug_flags.
7885
7886 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7887
7888         * INSTALL.in: Update the Prerequisites section.
7889
7890         * Makefile.am demos/Makefile.am docs/Makefile.am
7891         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7892         gdk/linux-fb/Makefile.am: Dist fixes
7893
7894 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7895
7896         * NEWS: 10,000 foot view of 1.3.1 changes.
7897
7898 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7899
7900         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7901         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7902         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7903         gdk/x11/gdkmain-x11.c: 
7904
7905         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7906         as a return value of gdk_*_grab(). Previously, we just
7907         returned the X11 values directly.
7908
7909 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7910
7911         * gdk/x11/Makefile.am: Patch from George Lebl to 
7912         install all the headers in the right place.
7913
7914 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7915
7916         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7917           initial conversion to DocBook.
7918
7919 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7920
7921         * README.win32: Improve a bit.
7922
7923         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7924         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7925         Alt+0nnn on the numpad (used to enter characters by numeric code
7926         from current DOS or ANSI codepage) working correctly, as in other
7927         Windows apps.
7928
7929         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7930         same argument validity tests as in X11 version.
7931         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7932
7933         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7934         definitions in case missing from headers.
7935
7936         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7937         destroy the window-specific cursor.
7938         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7939         calling GetModuleHandle(NULL).
7940         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7941         with CopyCursor before setting it as the window-specific
7942         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7943         also its Windows cursor) after calling this function. Destroy any
7944         previous window-specific cursor.
7945
7946 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7947
7948         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7949         font charset is iso8859-1, not iso-8859-1.
7950
7951 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7952
7953         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7954         Use g_get_charset() instead of g_get_codeset().
7955
7956         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7957         Comment out some strdup'ing functions to keep timj
7958         happy until we finish fighting this out.
7959
7960 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7961
7962         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7963         <= width or height.
7964
7965         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7966         from 1.2 for parent/child states.
7967
7968         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7969         of typos.
7970
7971         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7972         event structures, replace with a generic axes field. Replace 
7973         deviceid/sourec with GdkDevice *device.
7974
7975         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7976         to extract particular axis use value from event. (Also
7977         can be used for normal X/Y.)
7978
7979         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7980         allow for arbitrary number of axes, namespace everything
7981         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7982         everywhere.
7983
7984         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7985         Get rid of the gdk_input_vtable setup if favor of simply
7986         defining the functions in gdkinput-none/gxi/xfree.c in
7987         a similar fashion to the way that the port structure is 
7988         done.
7989
7990         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7991         for new event structures. 
7992
7993         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7994         new device interfaces.
7995
7996 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7997
7998         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7999         set the initial text.
8000
8001         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8002         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8003         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8004         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8005
8006         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8007         pango_layout_set_font_description to simplify.
8008
8009 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8010
8011         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8012         pango_layout_set_font_description to simplify.
8013
8014 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8015
8016         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8017         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8018         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8019
8020         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8021         PANGO_PIXELS() macro.
8022
8023 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8024
8025         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8026         that returns a PangoContext owned by the widget and updated to
8027         match future changes in the widget. Also, make 
8028         gtk_widget_create_pango_layout() use this context. If we ever
8029         add a ::changed signal to PangoContext, this will make things
8030         much more convenient. 
8031
8032         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8033         in the appropriate places instead of destroying the layouts and
8034         creating new ones.
8035
8036         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8037         in a few strategic places.
8038
8039 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8040
8041         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8042         gtk_widget_size_request() on reparented child, if one. Otherwise,
8043         queue_resize() on the child never results in it getting size-requested
8044         at all.
8045
8046         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8047         in option menus, so that (with luck) people won't copy it into
8048         their apps in the future.
8049
8050         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8051         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8052         a lot of problems with changing the size of the menu's menu
8053         items after adding it to the option menu.
8054
8055         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8056
8057         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8058         the text direction for a widget changes.
8059
8060         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8061         ::direction_changed to get rid of various hacks.
8062
8063 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8064
8065         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8066         name.
8067
8068 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8069
8070         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8071         flag to the structure. Do not call XFreePixmap on pixmaps created
8072         by gdk_pixmap_foreign_new().
8073
8074 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8075
8076         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8077         value using GdkRGB functionality given GdkColormap and GdkColor.
8078         (name not final, waiting for inspiration.)
8079         
8080         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8081         set the foreground/background of a GC using the GC's colormap
8082         and GdkRGB. (name not final, waiting for inspiration.)
8083
8084         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8085         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8086
8087         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8088         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8089         purely a function of the corresponding colormap. Make
8090         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8091
8092         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8093         gdk_pixbuf_*create_from_xpm_* in terms of
8094         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8095         code.
8096
8097         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8098         advantage of the new draw_rgb_32_image_dithalign.
8099
8100         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8101
8102         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8103         on each created GC.
8104
8105         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8106
8107         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8108         which we initialize from the drawable when the GC is created,
8109         if the drawable has a colormap.
8110
8111         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8112
8113         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8114
8115         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8116
8117 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8118
8119         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8120         actually returning expose events, make sure to set
8121         the count field properly.
8122
8123         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8124         accidentally reintroced bug which always cleared
8125         the graphics_exposures value. 
8126
8127 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8128
8129         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8130
8131 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8132
8133         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8134
8135 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8136
8137         * docs/faq/gtk-faq.sgml: Start of Section 6.
8138
8139 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8140
8141         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8142         
8143         (Fixes problem with drawing childless frames. Pointed out
8144         by and a first patch from Anders)
8145         
8146         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8147         compute a child_allocation, even if we don't have a child.
8148
8149         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8150         Always chain to the parent's impl, even if we don't have a child.
8151
8152 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8153
8154         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8155         use multiple parts of it instead of creating a bunch of separate
8156         segments, since the maximum number of segments per system is not
8157         large. (This might be worth backporting to GTK+-1.2.x if we make a
8158         new release )
8159
8160         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8161         structure in preparation for per-colormap GdkRGB.
8162
8163         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8164         to False when we get EINVAL from shmget so that the caller of
8165         gdk_image_new can retry with a smaller segment size.
8166
8167 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8168
8169         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8170
8171 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8172
8173         * configure.in: make the current version number 1.3.1 (binary age 0,
8174         interface age 0).
8175         
8176         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
8177         gtkcompat.h is all we want.
8178
8179         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
8180         GLib primitive types. fixed g_type_register_fundamental() argument
8181         ordering.
8182
8183         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
8184         compiles.
8185
8186         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
8187         object code cleanup, comment trigraph fixes, etc...
8188
8189 2000-06-23  Havoc Pennington  <hp@redhat.com>
8190
8191         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
8192         instead of making up a bogus name for first_para_mark
8193
8194         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
8195         0 as a context ID
8196
8197 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
8198
8199         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
8200
8201 2000-06-21  Havoc Pennington  <hp@pobox.com>
8202
8203         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
8204         we didn't check window->bg_pixmap != GDK_NO_BG.
8205
8206         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
8207         gdk-pixbuf
8208
8209 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
8210
8211         * docs/faq/gtk-faq.sgm: Move file to here.
8212           TODO: Update Makfile.am 
8213
8214 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
8215
8216         * docs/gtk-faq.sgm: Add Section 2
8217
8218 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
8219
8220         * docs/gtk-faq.sgm: New file. Start of DocBook
8221           version of the FAQ.
8222
8223 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
8224
8225         * configure.in (GDK_PIXBUF_MAJOR): Define version
8226         numbers for GDK_PIXBUF_*, as they get substituted
8227         into a header file. Need to consider versioning
8228         for gdk-pixbuf more carefully later.
8229
8230 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
8231
8232         Work with srcdir != builddir.   
8233         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
8234         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
8235         * demos/testpixbuf.c: Likewise.
8236         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
8237         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
8238         <gdk/x11/gdkx.h>.
8239         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
8240         "gdk-pixbuf.h".
8241         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
8242
8243 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
8244
8245         * TODO.xml: Change 1.4 version numbers to 2.0.
8246
8247 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
8248
8249         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
8250         fixups to GTK+ standard.
8251
8252 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
8253
8254         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
8255         gdk-pixbuf.
8256
8257         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
8258         fixups for GObject.
8259
8260         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
8261         gdk-pixbuf with GDK dependencies moved into GDK.
8262         
8263         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
8264         move gdk-pixbuf-loader here until GObject has signals.
8265
8266         * demos/: New directory of demos. Move demos from
8267         gdk-pixbuf here.
8268
8269         * demos/pixbuf-init.c: Small bit of code to check for
8270         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
8271         set GDK_PIXBUF_MODULEDIR appropriately.
8272
8273         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
8274         define which no longer makes sense.
8275
8276 2000-06-21  Havoc Pennington  <hp@redhat.com>
8277
8278         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
8279         gtk_get_default_language
8280
8281         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
8282         new function to get the default language
8283
8284         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
8285         s/gtk_text_view_style_values/gtk_text_style_values/
8286
8287         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
8288         Add a "language" field to tags.
8289
8290         (gtk_text_tag_set_arg): Fix bug in setting
8291         "bg_full_height_set" tag.
8292
8293 2000-06-21  Havoc Pennington  <hp@redhat.com>
8294
8295         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
8296         in the interfaces
8297
8298         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
8299         stuff instead when possible.
8300
8301         * gtk/gtktexttypes.h: Delete some unused constants
8302
8303         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
8304         testtextbuffer.c: use glib instead of custom unicode routines
8305
8306 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
8307
8308         * docs/es/: Removed mistakenly added generated sgml
8309
8310         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
8311         Remove outdated info files.
8312
8313         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
8314         Moved tutorial files into subdir
8315
8316         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
8317         subdir.
8318
8319         * docs/man/gtk_button.pod: Remove. (contents will be
8320         integrated into gtk-reference button page.)
8321
8322         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
8323         docs/faq/Makefile.am: Adjust for new organization
8324
8325 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
8326
8327         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
8328         not $(MKINSTALLDIRS)
8329
8330 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
8331
8332         * gtk/testgtk.c (create_text): Finish the job Elliot started
8333         of removing font setting test for text widget. (Since text widget
8334         and GdkFont are not deprecated, and cause portability problems.)
8335
8336 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
8337
8338         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
8339         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
8340         Remove use of libunicode in favor of new GLib functions.
8341
8342         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
8343         nano-x, framebuffer. The X11 include is just a hack until we get
8344         the necessary functions in gdkcolor.h, so there is no reason to
8345         add other includes of platforms.
8346
8347         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
8348         window bigger than the screen change.
8349
8350         * gtk/testgtk.c: Revert some random changes from Elliot
8351         that had no particular point and were causing testgtkrc
8352         not to function correctly.
8353         
8354         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
8355         because GdkSegment and GdkRegionBox have the same fields,
8356         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
8357         results in clearer code.
8358
8359         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
8360         gdk_input_translate_coordinates): Fix missed GdkObjectification
8361
8362 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8363
8364         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
8365         * gtk/gtk{plug,socket}.h: Missed commits from previous.
8366
8367 2000-06-20  Havoc Pennington  <hp@redhat.com>
8368
8369         * modules/linux-fb/Makefile.am: Make this compile
8370         without framebuffer enabled
8371
8372         * gdk/linux-fb/Makefile.am: Add conditional to not build
8373         framebuffer unless specified in configure
8374
8375         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
8376         the size of the target instead of source if -1 was passed for
8377         width/height
8378
8379         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
8380         width/height confusion.
8381
8382 2000-06-19  Havoc Pennington  <hp@redhat.com>
8383
8384         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
8385         GDK_DRAWABLE_XID. In the future, we probably want to make it
8386         faster with G_DISABLE_CHECKS turned on.
8387
8388 2000-06-14  Havoc Pennington  <hp@redhat.com>
8389
8390         * gdk/Makefile.am: add gdkpixmap.c
8391
8392         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
8393         s/gdk_image_init/_gdk_windowing_image_init
8394
8395         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
8396         ref/unref
8397
8398         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
8399
8400         * gdk/gdkcompat.h: remove GdkWindowType compat, since
8401         GdkWindowType is now non-deprecated; 
8402         change gdk_window_get_type() compat to be
8403         gdk_window_get_window_type().
8404
8405         * gdk/gdkdnd.h: make GdkDragContext a GObject.
8406
8407         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
8408         virtual GObject. Make all functions call into the vtable.
8409         Move gdk_image_put() guts in here. Remove GdkDrawableType
8410         and gdk_drawable_get_type(), these are now GdkWindow-specific.
8411         draw_image, get_depth, get_size, set_colormap, get_colormap,
8412         get_visual added to the vtable.
8413         
8414         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
8415         GObject. Virtualize everything. 
8416         (gdk_gc_new_with_values): remove check for destroyed window,
8417         because now GdkWindow::create_gc will check this.
8418         (gdk_gc_set_values): New function to set GC values, this 
8419         was already implemented but wasn't in the header
8420
8421         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
8422
8423         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
8424         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
8425         remove _gdk_window_class; add _gdk_window_impl_get_type() and
8426         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
8427         _gdk_windowing_window_init, rename gdk_image_init to
8428         _gdk_windowing_image_init.
8429         
8430         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
8431         (gdk_draw_layout): Remove check for destroyed window, 
8432         because all the drawable methods already check it.
8433         
8434         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
8435         Add gdkpixmap.c which contains implementation of GdkDrawable
8436         virtual table (by chaining to a platform-specific implementation
8437         object).
8438         
8439         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
8440         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
8441         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
8442         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
8443         GdkColormapPrivate. 
8444
8445         * gdk/gdktypes.h: #include <glib-object.h>
8446
8447         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
8448         Move most functionality to platform-specific implementation
8449         object. GdkWindow itself now handles the backing store, then
8450         chains to the platform-specific implementation.
8451         (gdk_window_get_window_type): return GdkWindowType of the window.
8452         (gdk_window_peek_children): New routine, returns the children of 
8453         a GdkWindow
8454         (gdk_window_get_children): Was in X11-specific code and did 
8455         XQueryTree. Changed to simply return a copy of window->children; 
8456         so it can go in cross-platform code.
8457         
8458         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
8459
8460         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
8461         GdkColormap; just changed to use the new private data instead
8462         of casting to GdkColormapPrivate.
8463
8464         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
8465         gdk_cursor_new().
8466
8467         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
8468         (private data member in the GObject). 
8469         (xdnd_manager_source_filter): Function had broken 
8470         error handling, fix it (use gdk_error_trap_push).
8471
8472         * gdk/x11/gdkdrawable-x11.c: This file now implements
8473         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
8474         base class is purely for the convenience of the X port,
8475         and not part of the interface to cross-platform GDK.
8476
8477         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
8478         
8479         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
8480         specific to X, and returned by the create_gc virtual method
8481         of GdkDrawableImplX11. 
8482         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
8483         rather than gchar, this was also changed in the GdkGC vtable.
8484         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
8485         mask is 0, return immediately, instead of checking every flag.
8486         This is faster, and keeps us from segfaulting if values is NULL
8487         and the mask contains some nonzero flags.
8488
8489         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
8490         GdkWindow.
8491
8492         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
8493         GdkWindowPrivate is gone.
8494
8495         * gdk/x11/gdkim-x11.c: rename things that got renamed.
8496
8497         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
8498         remove the image_put stuff that got transferred to GdkDrawable.
8499         
8500         * gdk/x11/gdkinput.c: renamings
8501
8502         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
8503
8504         * gdk/x11/gdkpixmap-x11.c: GObject conversion
8505
8506         * gdk/x11/gdkprivate-x11.h: indentation fixes
8507
8508         * gdk/x11/gdkproperty-x11.c: renamings
8509
8510         * gdk/x11/gdkselection-x11.c: renamings
8511
8512         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
8513         implements the platform-specific "impl" object.
8514         Moved gdk_window_get_children to gdk/gdkwindow.c
8515
8516         * gdk/x11/gdkx.h: Remove all the private structs and private datas
8517         that no longer exist. Add declaration of GdkGCX11 object here.
8518         Fix all the macros to still work. 
8519
8520         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
8521         GdkDragContext from the boxed types since they are now GObjects.
8522
8523         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
8524         moved xthickness/ythickness into the instance. GtkStyleClass
8525         functions are now in the standard vtable for GtkStyle, so you have
8526         to create a GObject subclass to write a theme engine.
8527         (gtk_style_copy): fixed a leaked PangoFontDescription
8528         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
8529         can be the standard GObject function.
8530         
8531         * Throughout GTK:
8532         s/style->klass->[xy]thickness/style->[xy]thickness
8533         s/pango_layout_unref/g_object_unref/
8534
8535         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
8536         
8537         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
8538         accessing GDK internals.
8539
8540         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
8541         accessing GDK internals.
8542
8543 2000-06-18  Elliot Lee  <sopwith@redhat.com>
8544
8545         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
8546
8547         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
8548         problem by calculating event position relative to the trough
8549         rather than the slider.
8550         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
8551
8552         * gdk/gdkgc.h: Add GDK_NOR.
8553
8554         * configure.in, Makefile.am: Add modules top level dir
8555         * configure.in: Only use pangox library if building x11 target.
8556         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
8557
8558 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8559
8560         * gtk/gtkcolorsel.c: Change private class member to be named
8561         private_data throughout the file.
8562
8563         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
8564         private_data to avoid clashing with keyword.
8565
8566 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
8567
8568         * gdk/gdkdnd.h: Add comment to remove warning.
8569
8570 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
8571
8572         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
8573         Byelorussian language; changed the Makefile and file names 
8574         to reflect that.
8575
8576 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
8577
8578         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
8579         rather than gdk_window_hide; this makes things work
8580         correctly if the window is programmatically hidden while
8581         iconified.
8582
8583 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
8584
8585         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
8586         cut and paste typo where wrong pixmap was being
8587         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
8588
8589 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
8590
8591         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
8592         Add helper function to compute format / bytes 
8593         relationship. Use in a couple places to fix up
8594         errors which assume 8 * format.
8595
8596         * gtk/gtkselection.c (gtk_selection_request): Use 32
8597         rather than 8 * sizeof (GdkAtom), to work correctly
8598         on Alpha.
8599
8600 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
8601
8602         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
8603         libgtk.la
8604         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
8605         versions
8606
8607         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
8608         checking macros return NULL since the function has a return value.
8609
8610 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
8611
8612         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
8613         GTK+ from building at all.
8614
8615         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
8616
8617 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
8618
8619         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
8620         gtk/Makefile.am: make it possible to configure gtk for different
8621         targets on the same platform. The library name is now 
8622         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
8623         flag. Only the x11 target compiles right now.
8624         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
8625         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
8626         * gdk/nanox/gdk*generic*: delete generic region code.
8627         * gdk/linux-fb/gdk*generic*: delete generic region code.
8628         * README.nanox: update information.
8629         
8630 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
8631
8632         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
8633         prepend not append. (Pointed out by Brett Hall.)
8634
8635 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
8636
8637         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
8638
8639 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
8640
8641         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
8642         need this later, and this makes sure that the atexit for
8643         glib gets called after that for GDK, so atexits are
8644         properly ordered for object leak checking.
8645
8646         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
8647
8648         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
8649         pango_x_shutdown_display()
8650
8651         * gtk/simple.c (main): Close window on destroy.
8652
8653 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
8654
8655         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
8656         to treat initial creation different from setting with 
8657         regards to the graphics-exposures parameter, so add a parameter
8658         indicating whether this is initial or not.
8659
8660 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
8661
8662         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
8663         to sort of work by adding an extra return_exposes arg
8664         to gdk_event_translate() - it might be better to simply
8665         deprecate the function altogether and force people to rewrite
8666         without it. gdk_window_scroll() handles most of it, and where
8667         gdk_window_scroll() doesn't work, simply redrawing more does.
8668
8669         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
8670         assertion.
8671
8672         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
8673
8674         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
8675         bunch of pretty much useless /* Print debugging info */ comments 
8676         which had drifted away from the code they were commenting.
8677
8678 2000-06-02  Havoc Pennington  <hp@pobox.com>
8679
8680         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
8681         is in working order.
8682         
8683         * gtk/testtext.c: Change to reflect anonymous mark API
8684
8685         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
8686
8687         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
8688         field, which was unused.
8689
8690         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
8691         saves some typing.
8692
8693         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
8694
8695         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
8696         flag on the insertion point and selection bound
8697
8698         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
8699         make mark-manipulation functions take a GtkTextMark* instead of a
8700         mark name.
8701         
8702         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
8703         GtkTextMarkBody; will be used to detect attempts to delete
8704         the permanent marks (insert and selection bound)
8705
8706         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
8707
8708 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
8709
8710         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
8711         flag to on.
8712
8713         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
8714         Honor DOUBLE_BUFFRED_FLAG
8715
8716         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
8717         function to set the DOUBLE_BUFFERED flag.
8718
8719         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
8720         or not exposes done on the widget should be double-buffered.
8721
8722         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
8723         to be what would be expected. (Fixes problem with a
8724         g_return_if_fail() validating a TextDirection enumeration)
8725
8726 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
8727
8728         * gtk/gtkwidget.c: Remove all references to 
8729         offscreen flag which was no longer used.
8730
8731         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
8732
8733         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
8734         for non-null label_widget->parent.
8735
8736         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
8737         which no longer was used.
8738
8739         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
8740
8741         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
8742         for null arguments.
8743
8744         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
8745         check for destroyed windows.
8746
8747 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
8748
8749         * gtk/gtkimmulticontext.c: Add a finalize method and unref
8750         the slave context there.
8751
8752         * gtk/gtkinvisible.[ch]: Make reference counting behavior
8753         identical to GtkWindow.
8754
8755 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
8756
8757         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
8758         pangox to here, so we can write them independent of rendering
8759         system, using GDK primitives.
8760
8761         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
8762         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
8763         since we have a rendering-system independent implementation in
8764         terms of draw_glyphs().
8765         
8766         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
8767         function to render a single line.
8768
8769         * gdk/x11/gdkpango.c: Move the guts of this file mostly
8770         into ../gdkpango.c, which simplifies things, since we
8771         don't have to deal with raw X gc's.
8772
8773 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
8774
8775         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
8776         get the logical attributes for a given GtkTextLine.
8777
8778 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
8779
8780         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
8781         g_locale_get_codeset() to g_get_codeset() change.
8782
8783 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
8784
8785         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
8786         descriptions.
8787
8788         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
8789         the entry.
8790
8791         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
8792         redoing (vastly simplifying) for Pango. Still needs quite
8793         a bit of work. (Size selection is currently poor. List of 
8794         predefined sizes is not a good idea, since all of these
8795         sizes won't necessarily be distinct.)
8796
8797 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
8798
8799         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
8800         CODESET results for LANG=C.
8801
8802 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
8803
8804         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
8805         which takes a stringized pango font description;
8806         ignore the older 'font' and 'fontset' declarations.
8807
8808         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
8809         field with a GdkFont derived via gdk_font_from_description(),
8810         for compatibility. (Should we just remove it entirely?
8811         Probably too much compatibility breakage, but people
8812         should be migrating to the new Pango stuff as quickly
8813         as possible.)
8814
8815 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
8816
8817         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
8818
8819 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
8820
8821         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
8822         redoing; there are some bugs in size allocation right
8823         now, the semi-existant distinction between header / day
8824         fonts was removed, but, with Pango, could actually
8825         be made functional in a nice way.
8826         
8827         * gtk/testcalender: Move calender from examples into this
8828         directory as a test program. (We really need to restrcture
8829         testgtk into a whole directory full of tests for every
8830         widget or functionality group, separated into multiple .c
8831         files.)
8832
8833 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
8834
8835         * gtk/testgtk.c (file_exists): Fix stupid typo that
8836         was keeping RC file from being loaded.
8837
8838         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
8839         RC file font code.
8840
8841 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
8842
8843         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
8844         Add function to load a GdkFont from a PangoFontDescription.
8845
8846 2000-05-29  Tor Lillqvist  <tml@iki.fi>
8847
8848         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
8849         variable should be of type GdkEventPrivate.
8850
8851 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
8852
8853         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
8854         to have any widget for the label, use a GtkLabel widget
8855         to display the text. (Based partially on a patch from
8856         Anders Carlson.)
8857
8858         (Quite a bit of code reorganization - strip 90% of the
8859         guts out of gtkaspectframe and add a single virtual
8860         func to GtkFrameClass - compute_child_allocation.)
8861
8862 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
8863
8864         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
8865         (Removed clist->row_center_offset field because caching
8866         it wasn't saving time or code, added private function
8867         _gtk_clist_create_cell_layout()).
8868
8869 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
8870
8871         * gtk/gtkaccellabel.c: Pangoized.
8872
8873         * gtk/[hv]ruler.c: Pangoized
8874
8875 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8876
8877         * gtk/gtkfilesel.c (gtk_file_selection_init):
8878         Use gtk_clist_set_column_auto_resize() to remove need
8879         need for manual column width computations.
8880
8881 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8882
8883         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8884         ensuring Pango correctness, and considerably simplifying the
8885         code.
8886         
8887         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8888
8889         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8890         getting of numbers of lines.
8891
8892         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8893         to the actual requested width of the lable, not to the wrap
8894         width we set.
8895
8896         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8897
8898         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8899           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8900
8901         * gtk/gtktextview.c: Fix structure inheritance.
8902
8903         * gtk/gtkprogressbar.c: Pangoize.
8904
8905 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8906
8907         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8908         in a function.
8909
8910         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8911         bug with computing line tops.
8912
8913         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8914
8915 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8916
8917         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8918         and y_offset coordinates to do what we need now. (The offset between
8919         buffer and layout coordinates has been reintroduced, but is a 
8920         bit different than before.)
8921
8922         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8923         handle the adjustments ourselves, and scroll as necessary using
8924         the new gdk_window_scroll().
8925         
8926         The advantage of this is that when we are incrementally revalidating,
8927         we are essentially rearranging things around the visible portion
8928         of the screen. With the old setup, the visible portion of the
8929         screen was moved around in the layout, so scrolling and redrawing
8930         to track that caused jumping of the display. Since we now
8931         control the scrolling ourselves, we can suppress this and
8932         only redraw when things actually change.
8933
8934 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8935
8936         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8937         the region not just redisplay it after-all, since we store the
8938         cursors in the LineDisplay. (Ugly interactions here between
8939         GtkLayout and GtkTextBTree here.)
8940         
8941         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8942
8943 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8944
8945         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8946         Added function to scroll contents of a window while keeping the
8947         window constant. Works by XCopyArea or guffaw-scrolling depending
8948         on the details of how the window is set up. (guffaw-scrolling
8949         still needs to be filled in.)
8950
8951 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8952
8953         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8954         move the debugging that was tied to a global variable
8955         to that.
8956
8957         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8958
8959         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8960         validated flag, in line data instead of setting height/width to
8961         -1. This allows us to perform operations with partially invalid
8962         buffer (using the old size for invalid lines) and thus to do
8963         incremental vaidation. Keep height/width aggregates up to date
8964         when deleting text and rebalancing the tree.
8965
8966         * gtk/gtktextbtree.[ch]: Add functions validate a line
8967         (gtk_text_btree_validate_line), and to validate up
8968         to a number of pixels (gtk_text_btree_validate).
8969
8970         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8971         that indicates that something is changed and a revalidation
8972         pass is needed. Change ::need_repaint to ::changed, and
8973         make it take old and new yranges instead of a rectangle.
8974
8975         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8976         the line_data_destroy() function from 
8977         gtk_text_btree_add_view() to a virtual function in 
8978         GtkTextLayout
8979
8980         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8981         since we are handling partial repaints in a different fashion
8982         now.
8983
8984         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8985         of the selection instead of queueing a repaint on the
8986         entire widget.
8987
8988         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8989         get_selection_bounds() down to btree, make the function
8990         in buffer a wrapper around the btree function.
8991
8992         * gtk/gtktextlayout.[ch]: Add functions to check if the
8993         layout is valid and to recompute either a range of pixels
8994         aroudn a line or a certain total number of pixels.
8995
8996         * gtk/gtktextlayout.[ch]: Cache a single line display;
8997         now that we only redraw the needed portions, the hit rate
8998         for this cache is quite high.
8999         
9000         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9001         on the screen so that when re-laying-out the buffer, we can
9002         keep the same place. This requires connecting to ::value_changed
9003         on the adjustments
9004
9005         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9006         the buffer after we receive an ::invalidated signal.
9007         
9008 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9009
9010         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9011         to max of allocation and layout size, not just to the
9012         layout size.
9013
9014         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9015         Invalidate window so it gets redrawn properly.
9016
9017         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9018         to mean the entire window.
9019
9020         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9021         into public header.
9022
9023 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9024
9025         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9026         to get the name of a mark.
9027
9028         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9029         to find the paragraph from a y position.
9030
9031 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9032
9033         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9034         nodes have width/height >= 0, not > 0.
9035
9036 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9037
9038         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9039         Add a size_only flag, so when we only need the size, we don't create
9040         useless appearance attributes.
9041
9042         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9043         duplicate setting of font description.
9044
9045         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9046
9047 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9048
9049         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9050         EXTRA_DIST. It does not work well when the file that
9051         everything depends on is not in the tarball.
9052
9053 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9054
9055         * gtk/testgtk.c: Some hacks and fixes so that it basically
9056         works when not sitting in the GTK+ build tree.
9057
9058 2000-05-03  Havoc Pennington  <hp@redhat.com>
9059
9060         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9061         Properly determine the ordering of the tag root and the current
9062         line within the tree. Previous algorithm only worked if the tag
9063         root's immediate parent was the common root of both the current
9064         line and the tag root.
9065
9066 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9067
9068         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9069         alignment.
9070
9071         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9072         the widget text directional dynamically.
9073
9074         * gtk/gtktextview.[ch]: Added functions to get and set default
9075         wrap mode.
9076
9077 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9078
9079         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9080         in cursor location computation.
9081
9082 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9083
9084         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9085         vadjusment values properly when layout gets smaller.
9086
9087         * gtk/gtktextview.c (need_repaint_handler): Areas being
9088         passed in are far completely inaccurate, and sometimes
9089         too small, so, for now, just queue a redraw on the
9090         whole visible region.
9091
9092 2000-04-25  Havoc Pennington  <hp@redhat.com>
9093
9094         * gtk/gtktextbtree.c (summary_destroy): new function to 
9095         destroy tag summary nodes
9096         (gtk_text_line_next_could_contain_tag): this function was 
9097         totally broken if the line passed in wasn't below the tag
9098         root. Fix it.
9099         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9100         "wildcard" case, we have to do a linear scan. Blah.
9101         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9102         we have to do the linear scan
9103         (tag_removed_cb): When a tag is removed from the tag table, 
9104         remove the GtkTextTagInfo node from the btree.
9105         (gtk_text_btree_spew): Implement the spew function, for 
9106         our debugging pleasure.
9107
9108 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9109
9110         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9111         a problem with referring to the wrong buffer.
9112
9113         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9114
9115         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9116         font description to gtk_style_new() - otherwise things
9117         don't work without a .gtkrc file.
9118
9119         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9120         tags table if we create it ourself, too.
9121
9122         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9123         it was conflicting with XKB modifiers.
9124
9125         * gtk/gtktextview.[ch]: Add simple support for 
9126         GtkIMContext.
9127
9128 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9129
9130         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9131         with deletion from last commit.
9132
9133 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9134
9135         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9136         in the context from the current locale.
9137         
9138         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9139         context, not hardcoded value.
9140
9141         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9142         not logical.
9143
9144 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9145
9146         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9147         attributes - that doesn't handle partial-glyph selection
9148         properly. Instead use new pango_layout_line_get_x_ranges()
9149         functionality to draw the selection.
9150
9151         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9152         now properly handles out-of-range coordinates.
9153
9154         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9155
9156         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9157         public.
9158
9159         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9160         for paragraphs opposite to the base direction of the widget.
9161
9162         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9163
9164         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9165         causes Arabic words to reshape as you cursor through.
9166
9167         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9168         cursor position when moving vertically with the arrow keys and
9169         scrolling with page-up/page-down. (Arrow keys save only the X,
9170         scrolling saves both X and Y.)
9171
9172         This means you can line-up / line-down or page-up / page-down
9173         without losing your place, and also that moving vertically
9174         with the cursor keys keeps the same X position, not the same
9175         character count:
9176
9177         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
9178         arrow keys move by display lines, not paragraphs.
9179
9180 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9181
9182         * gtk/gtklayout.c: Make sure that the bin window is at least
9183         as big as the allocation. (Should we also make sure that the
9184         bin window is big enough to completely cover widget->window?)
9185
9186         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
9187         function to get the onscreen rectangle.
9188
9189         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
9190         for offsets in window coordinates.
9191
9192 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
9193
9194         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
9195         confusion.
9196
9197         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
9198         from the widget direction.
9199
9200         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
9201         Add a "direction" attribute.
9202
9203         * gtk/gtktextview.c: global s/tkxt/text_view/.
9204
9205         * gtk/testtext.c: Added long block of text in Arabic, to test out
9206         the direction attributes. (Some problems with the shaping system
9207         for arabic become obvious - like the fact the cursor splits words
9208         into unjoined pieces.)
9209
9210 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
9211
9212         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
9213
9214         * gtk/gtktextlayout.c: Fix up alignment.
9215
9216         * gtk/testtext.c: Add some tests for centering, wrapping.
9217
9218 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
9219
9220         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9221         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
9222         If we wrote GTK+-specific layout-render function this could just replace
9223         the draw_layout() operation in the vtable.
9224
9225         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
9226         pango_layout_get_cursor_pos() and use that function.
9227
9228         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
9229         is a non-static symbol.
9230
9231         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
9232         with gtk_text_btree_find_line_by_y()
9233
9234         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
9235         renderer that handles GtkTextAppearance attributes.
9236
9237         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
9238
9239           - Move the values in the style that don't affect geometry into a
9240             GtkTextAppearance structure.
9241           - Change underline to take a PangoUnderline and "font" a string
9242             representation of a font description
9243           - Add a "font_desc" attribute which takes a FontDescription structure.
9244
9245         * gtk/gtktextlayout.[ch]:
9246
9247           - Get rid of the display-line list per each line. Instead, we
9248             generate, on demand, a GtkTextLineDisplay structure which]
9249             contains a PangoLayout * and other necesary information
9250             (offsets, cursor locations) for displaying a paragraph.
9251           - Get rid of the code to wrap lines, create display chunks,
9252             etc. Instead, we just go through a paragraph and convert
9253             it into the necessary inputs to a PangoLayout.
9254           - Implement a new attribute type, GtkTextAttrAppearance. This
9255             holds a GtkTextAppearance, and is used to pass colors, 
9256             stipple, etc, through from the layout to the display without
9257             having to use lots and lots of individual attributes.
9258           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
9259             in terms of PangoLayout functions.
9260         
9261         * gtk/gtktextview.c: 
9262          
9263           - Handle passing the necessary PangoContext to the layout
9264           - Some fixups in painting to deal with the automatic backing store
9265             and offsetting of GTK+-1.4
9266           - Add a style_set handler so that the default style reacts
9267             properly to theme changes.
9268         
9269         * gtk/gtktext?*.[ch]: Random code-style fixes.
9270
9271         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
9272
9273 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
9274
9275         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
9276         in original form preparatory to Pango-ization and gdkimcontext-ization.
9277
9278 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
9279
9280         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
9281         so that we can derive from gtkimcontext in language bindings properly.
9282
9283 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
9284
9285         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
9286         Add a compose table including (almost) all the compose combinations
9287         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
9288         data in the XIM implementation.
9289
9290         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
9291         Moved functions to convert keyvalues from and to unicode here from
9292         the win32 port and made them public.
9293
9294 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9295
9296         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
9297
9298 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
9299
9300         * gtk/gtkimcontext.[ch]: Base class for new input context system
9301
9302         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
9303         the real input context implementation to be loaded from modules
9304         and switched on the fly.
9305
9306         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
9307         context that just does direct keysymbol => unicode translation.
9308
9309         * gtk/gtkentry.[ch]: Start switching editing over to using
9310         GtkInputContext. (No handling of preedit yet.)
9311
9312 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
9313
9314         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
9315         many substitutions. (klass should not be subsituted.)
9316
9317 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
9318
9319         * configure.in: Add checks for Pango
9320
9321         * configure.in docs/Makefile.am: Add test for sgml2html
9322         and allow 'make dist' without building html, but print out
9323         warnings in that case. (For making snapshots)
9324
9325         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
9326         Add Pango libraries and C flags
9327
9328         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
9329         Add function (gdk_draw_layout) to draw a pango layout.
9330
9331         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
9332         for getting Pango contexts for GDK.
9333
9334         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
9335
9336         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
9337         editing.
9338
9339         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
9340         keysym => unicode translations. More languages can be added
9341         here, but real input-method support is needed.
9342
9343         * docs/Changes-1.4.txt: Added note about entry behavior.
9344         
9345         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
9346         to set the reading direction for a widget and the global direction.
9347         Add test which allows toggling the global direction. Two private
9348         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
9349
9350         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
9351           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
9352
9353         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
9354
9355         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
9356         underlining now handled by Pango.
9357
9358         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
9359         to RCStyle and Style. (Having both this and the old font name and GdkFont 
9360         is temporary.)
9361
9362         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
9363         convenience functions for creating contexts and layouts for widgets.
9364
9365         * gtk/testgtk.c: Enhance label tests with multilingual labels.
9366
9367 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
9368
9369         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
9370         titles to be active, even if they aren't visible.
9371         (gtk_clist_column_titles_passive):  Ditto.
9372
9373 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
9374
9375         * gtkmenu.c:
9376         * gtkmenu.h:
9377         * gtktypeutils.h: Spelling/grammar fixes in comments.
9378
9379 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
9380
9381         * gdk/nanox/*.h: add missing header files.
9382
9383 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
9384
9385         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
9386         send_event to TRUE.
9387         (gtk_drawing_area_size): queue a resize.
9388
9389 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
9390
9391         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
9392         the handlers, also invalidate them. bug nailed down by Karl Nelson
9393         <kenelson@ece.ucdavis.edu>.
9394
9395 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
9396
9397         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
9398         "(nil)" foundries, patch from Grigorios Magklis.
9399
9400         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
9401         on non-available fonts, based on a patch by Grigorios Magklis
9402         <maglis@cs.rochester.edu>.
9403
9404 2000-05-18  Elliot Lee  <sopwith@redhat.com>
9405
9406         * gdk/x11/gdkregion-generic.c: If a region does not have any
9407         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
9408         instead of GDK_OVERLAP_RECTANGLE_IN.
9409
9410 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
9411
9412         * gtk/gtklayout.c (gtk_layout_map): Remove references to
9413         OFFSCREEN, as it is no longer necessary.
9414
9415 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
9416
9417         * gtk/gtkcolorsel.c: Patch from David Santiago
9418         <mrcooger@cyberverse.com> to change things so that the 
9419         indicator of the active palette entry is done independently,
9420         not via the focus, since it should always be visible.
9421
9422 2000-05-17  Tor Lillqvist  <tml@iki.fi>
9423
9424         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
9425         refcount leaks as in the X11 backend.
9426
9427         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
9428         cosmetics.
9429
9430         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
9431         backend. Add _gdk_windowing_window_destroy().
9432
9433         * gtk/gtkcolorsel.c: Include correct backend-specific header.
9434         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
9435         either, but these probably do exist on nanox?)
9436         
9437         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
9438         which isn't necessarily defined by <math.h>.
9439
9440         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
9441         ancestry past GtkObject.
9442
9443         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
9444         from DLL on Win32.
9445
9446         * gtk/gtk.def: Update corresponding to recent changes.
9447
9448         * gtk/makefile.{cygwin,msc}: Updates.
9449
9450 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
9451
9452         * docs/Changes-1.4.txt: A bit of editing.
9453
9454         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
9455         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
9456         to clear the update area for the window, and clear it
9457         when hiding a window.
9458
9459         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
9460         if window destroyed.
9461
9462         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
9463
9464         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
9465         gdk_window_destroy() to the generic code, since there was a lot of 
9466         window-system-independent logic it in. Add a function:
9467         
9468          _gdk_window_destroy() 
9469
9470         to the internal API to destroy a window without unreferencing it.
9471         Add a function:
9472
9473          _gdk_windowing_window_destroy()
9474
9475         That does the windowing-system-dependent part of destroying 
9476         the window.
9477
9478 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
9479
9480         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
9481
9482 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
9483
9484         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
9485         Make gtk_widget_shape_combine_mask() keep a reference count on
9486         the pixmap since it keeps it around.
9487
9488 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
9489
9490         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
9491         leak.
9492
9493         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
9494         leak with event filters.
9495
9496 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
9497
9498         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
9499         signal handlers with the right data arguments. (Fixes
9500         some warnings when a widget was repeatedly set as a drag
9501         destination.)
9502
9503         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
9504         window so we can avoid avoid setting the DND properties on the
9505         toplevel window repeatedly.
9506
9507 2000-05-13  Tor Lillqvist  <tml@iki.fi>
9508
9509         * gdk/win32/gdkwin32.h: Define more message types missing from
9510         mingw headers.
9511
9512         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
9513         call gdk_window_destroy_notify(). It was never called. This
9514         probably meant that the GdkWindow was never freed. Thanks Owen for
9515         noticing (!).
9516
9517         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
9518         window as destroyed before calling DestroyWindow(). DestroyWindow()
9519         causes a call to the window procedure (gdk_WindowProc), which
9520         calls gdk_event_translate(), which calls
9521         gdk_window_destroy_notify(), which gets confused unless the window
9522         is set as destroyed.
9523
9524         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
9525         this function to indicate it's win32 only. Put inside #ifdef
9526         G_ENABLE_DEBUG.
9527
9528         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
9529         debugging function. (gdk_event_translate:) Add a default branch
9530         that uses the above function to print debug messages with all
9531         Windows messages symbolically.
9532
9533         * gdk/win32/gdkprivate-win32.h: Declare it, and
9534         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
9535
9536 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
9537
9538         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
9539         public header file.
9540
9541 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
9542
9543         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
9544
9545         * gtk/gtktext.c: made the adjustments no-construct args, simply
9546         provide default adjustments.
9547         (gtk_text_destroy): release adjustments.
9548
9549         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
9550         adjustment argument non-construct.
9551
9552         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
9553         instead of in finalize.
9554         (gtk_progress_get_text_from_value): 
9555         (gtk_progress_get_current_text): 
9556         (gtk_progress_set_value): 
9557         (gtk_progress_get_percentage_from_value): 
9558         (gtk_progress_get_current_percentage): 
9559         (gtk_progress_set_percentage): 
9560         (gtk_progress_configure): ensure an adjustment is present.
9561
9562 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
9563
9564         * gtk/gtkcolorsel.[hc]:
9565         * gtk/gtkcolorseldialog.[hc]:
9566         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
9567         their parent implementation, use bit fields for boolean values, don't
9568         create unused widgets, usage of glib types, braces go on their own
9569         lines, function argument alignment, #include directives etc. etc. etc..
9570
9571         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
9572
9573 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
9574
9575         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
9576
9577         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
9578         of NULL.
9579
9580         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
9581         to freed data.
9582         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
9583
9584         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
9585         to NULL when the toplevel is getting destroyed.
9586         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
9587         (gtk_menu_destroy): 
9588         (gtk_menu_init): store the information of whether we have to
9589         readd the initial child ref_count during destruction in a new
9590         GtkMenu field needs_destruction_ref_count.
9591
9592         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
9593         here, those reading: learn from my mistake! ;)
9594         in order for set_?adjustment to support a default adjustemnt if
9595         invoked with an adjustment pointer of NULL, the code read (pseudo):
9596         if (v->adjustment) unref (v->adjustment);
9597         if (!adjustment) adjustment = adjustment_new ();
9598         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
9599         now imagine the first unref to actually free the old adjustment and
9600         adjustment_new() creating a new adjustment from the very same memory
9601         portion. here, the latter comparision will unintendedly fail, and
9602         all hell breaks loose.
9603         (gtk_viewport_set_hadjustment):
9604         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
9605         after unreferencing it.
9606
9607         * gtk/gtkcontainer.[hc]: removed toplevel registration
9608         functions: gtk_container_register_toplevel(),
9609         gtk_container_unregister_toplevel() and
9610         gtk_container_get_toplevels() which had wrong semantics
9611         anyways: it didn't reference and copy the list.
9612
9613         * gtk/gtkwindow.c: we take over the container toplevel registration
9614         bussiness now. windows are registered across multiple destructions,
9615         untill they are finalized. the initial implicit reference count
9616         users are holding on windows is removed with the first destruction
9617         though.
9618         (gtk_window_init): ref & sink and set has_user_ref_count, got
9619         rid of gtk_container_register_toplevel() call. add window to
9620         toplevel_list.
9621         (gtk_window_destroy): unref the window if has_user_ref_count
9622         is still set, got rid of call to
9623         gtk_container_unregister_toplevel().
9624         (gtk_window_finalize): remove window from toplevel list.
9625         (gtk_window_list_toplevels): new function to return a newly
9626         created list with referenced toplevels.
9627         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
9628
9629         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
9630         adjustment a non-construct arg.
9631         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
9632         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
9633         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
9634
9635         * gtk/gtkrange.c: added some realized checks.
9636         (gtk_range_destroy): get rid of the h/v adjustments in the
9637         destroy handler instead of finalize. remove timer.
9638         (gtk_range_get_adjustment): demand create adjustment.
9639
9640         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
9641         we simply create them on demand now and get rid of them in
9642         the destroy handler.
9643         (gtk_viewport_destroy): get rid of the h/v adjustments in the
9644         destroy handler instead of finalize.
9645         (gtk_viewport_get_hadjustment): 
9646         (gtk_viewport_get_vadjustment): 
9647         (gtk_viewport_size_allocate): demand create h/v adjustment
9648         if required.
9649
9650         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
9651         gtk_widget_real_destroy () functionality.
9652         (gtk_widget_real_destroy): reinitialize with a new style, instead
9653         of setting widget->style to NULL.
9654
9655 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
9656
9657         * gtk/gtkcalendar.c:
9658         * gtk/gtkbutton.c: ported _get_type() implementation over to
9659         GType, either to preserve memchunks allocation facilities,
9660         or because Gtk+ 1.0 GtkTypeInfo was still being used.
9661
9662         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
9663         over. prepare for ::destroy to be emitted multiple times.
9664         removed reference tracer magic. chain into GObjectClass.shutdown()
9665         to emit ::destroy signal.
9666
9667         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
9668         fundamental.
9669
9670         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
9671         cludge.
9672
9673         * gtk/gtksocket.c:
9674         * gtk/gtkplug.c:
9675         * gtk/gtklayout.c:
9676         * gtk/gtklabel.c:
9677         * gtk/gtkargcollector.c:
9678         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
9679         not being a fundamental anymore, and to work with the new
9680         type system (nuked fundamental type varargs clutter).
9681
9682         * gtk/*.c: install finalize handlers in the GObjectClass
9683         part of the class structure.
9684         changed direct GTK_OBJECT()->klass accesses to
9685         GTK_*_GET_CLASS().
9686         changed direct object_class->type accesses to GTK_CLASS_TYPE().
9687
9688         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
9689         GType. made most of the GTK_*() type macros and Gtk* typedefs
9690         simple wrappers around macros and types provided by GType.
9691         most notably, a significant portion of the old API vanished:
9692         GTK_TYPE_MAKE(),
9693         GTK_TYPE_SEQNO(),
9694         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
9695         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
9696         GTK_TYPE_ARGS,
9697         GTK_TYPE_CALLBACK,
9698         GTK_TYPE_C_CALLBACK,
9699         GTK_TYPE_FOREIGN,
9700         GtkTypeQuery,
9701         gtk_type_query(),
9702         gtk_type_set_varargs_type(),
9703         gtk_type_get_varargs_type(),
9704         gtk_type_check_object_cast(),
9705         gtk_type_check_class_cast(),
9706         gtk_type_describe_tree(),
9707         gtk_type_describe_heritage(),
9708         gtk_type_free(),
9709         gtk_type_children_types(),
9710         gtk_type_set_chunk_alloc(),
9711         gtk_type_register_enum(),
9712         gtk_type_register_flags(),
9713         gtk_type_parent_class().
9714         replacements, where available are described in ../docs/Changes-1.4.txt.
9715         implemented compatibility functions for the remaining API.
9716
9717         * configure.in: depend on glib 1.3.1, use gobject module.
9718
9719 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
9720
9721         * TODO.xml: Various updates to current status.
9722
9723 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
9724
9725         * gtk.m4: Print out version when test succeeds.
9726
9727 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
9728
9729         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
9730         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
9731         
9732         (Original triangle color selector from Simon Budig
9733         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
9734         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
9735         Santiago <mrcooger@cyberverse.com>)
9736
9737         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
9738         out into a separate widget.
9739
9740         * gtk/testgtk.c: Add some checkbuttons for toggling palette
9741         and opacity controls.
9742
9743 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
9744
9745         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
9746         snuck in prematurely.
9747
9748 2000-05-07  Tor Lillqvist  <tml@iki.fi>
9749
9750         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
9751         had deleted a ! operator by mistake, which caused
9752         GDK_SELECTION_CLEAR events never to be generated, which caused
9753         only the first copy to the clipboard from an gtkeditable to
9754         actually cause a copy to the Windows clipboard.
9755
9756 2000-05-06  Tor Lillqvist  <tml@iki.fi>
9757
9758         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
9759         compilation, too. Current mingw gcc distributions include the
9760         necessary headers. Also the necessary IIDs are now in mingw
9761         headers/libraries, and own definitions unnecessary.
9762
9763         More hacking on OLE2 DND, still doesn't work though, and thus
9764         ifdeffed out.
9765
9766         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
9767         here, too.
9768
9769 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
9770
9771         * gdk/nanox/*: nano-X port work in progress.
9772         * gdk/simple.c: simple test for Gdk.
9773         * README.nanox: notes about the port: read this first!
9774         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
9775         with nano-X.
9776
9777 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
9778
9779         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
9780         gdk_window_clear() into common code, implement in terms of
9781         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
9782         not redirected to the backing rectangle.
9783
9784 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9785
9786         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9787         EXTRA_DIST. It does not work well when the file that
9788         everything depends on is not in the tarball.
9789
9790 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
9791
9792         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
9793         with recursion where process_updates() is called from
9794         an expose handler. (GtkTextView is highly broken in
9795         doing this, but it should work, so it is a nice test
9796         case.)
9797
9798 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9799
9800         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
9801         handle the case where updates are queued during processing of
9802         updates.
9803
9804 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
9805
9806         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
9807         window is on gdk_display - use that instead of segfaulting.
9808
9809 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
9810
9811         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
9812         broken and require an empty arg, give it to them.
9813
9814 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
9815
9816         * gtk/gtklabel.h: indentation fixes.
9817
9818 2000-05-02  Tor Lillqvist  <tml@iki.fi>
9819
9820         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
9821         draw too narrow or too low arcs, they seem to fail, at least with
9822         some display drivers.
9823
9824         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
9825
9826         Large changes to the Win32 backend, partially made necessary by
9827         the changes to the backend-independent internal
9828         structures. Attempts to implement similar backing store stuff as
9829         on X11. The current (CVS) version of the Win32 backend is *not* as
9830         stable as it was before the no-flicker branch was merged. A
9831         zipfile with that version is available from
9832         http://www.gimp.org/win32/. That should be use by "production"
9833         code until this CVS version is usable. (But note, the Win32
9834         backend has never been claimed to be "production quality".)
9835
9836         * README.win32: Add the above comment about versions.
9837
9838         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
9839
9840         * gdk/gdk.def: Update.
9841
9842         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
9843         presumably be replaced by some more better mechanism as 1.4 gets
9844         closer to release shape.
9845
9846         * gdk/makefile.{cygwin,msc}: Update.
9847
9848         * gdk/win32/*.c: Correct inclusions of the backend-specific and
9849         internal headers. Change code according to changes in these. Use
9850         gdk_drawable_*, not gdk_window_* where necessary.
9851
9852         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
9853         our old DND.
9854
9855         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
9856         to interpret single characters as UTF-8. Thanks to Hans Breuer.
9857         Use correct function name in warning messages.
9858
9859         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
9860         GSourceFuncs gdk_event_prepare and gdk_event_check.
9861         (gdk_event_get_graphics_expose): Do implement, use
9862         PeekMessage. Thanks to Hans Breuer.
9863         (event_mask_string): Debugging function to print an GdkEventMask.
9864         (gdk_pointer_grab): Use it.
9865
9866         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
9867         (old) book I used claimed was Hangul actually is CJK Unified
9868         Ideographs Extension A. Also, Hangul Syllables were missing.
9869         Improve logging.
9870
9871         * gdk/win32/gdkgc-win32.c: Largish changes.
9872
9873         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9874         g_win32_getlocale() from GLib, and not setlocale() to get current
9875         locale name.
9876
9877         * gdk/win32/gdkprivate-win32.h
9878         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9879         gdkwin32.h, similarily as in the X11 backend.
9880
9881         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9882         assignment was used instead of equals in if test. Thanks to Hans
9883         Breuer.
9884
9885         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9886         the X11 version.
9887
9888         * gdk/win32/makefile.{cygwin,msc}
9889         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9890         path to the Win32 headers that works also with the mingw compiler.
9891
9892         * gtk/gtkstyle.c: Include <string.h>.
9893
9894 2000-04-26  Havoc Pennington  <hp@redhat.com>
9895
9896         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9897         replacing the broken gtk_label_get ()
9898
9899 2000-04-15  Havoc Pennington  <hp@pobox.com>
9900
9901         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9902         this keeps scanner scripts from getting confused.
9903
9904         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9905         data, rather than void
9906
9907 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9908
9909         * gtk/gtkclist.c (gtk_clist_motion)
9910         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9911         with is_hint FALSE, get x and y from the event. They used to be
9912         used uninitialised. The Win32 backend never sends motion events
9913         marked as hints. This for instance fixes the annoying file and
9914         font selector behaviour in the Win32 version.
9915
9916 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9917
9918         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9919         gtk_private_n_signals variables, they are used by some software,
9920         sigh.
9921
9922         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9923         installation directory from the Registry, where the installer
9924         should have put it.
9925
9926 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9927
9928         * gdk/x11/Makefile.am: Fix problem with installation directory for
9929         gdkx.h
9930
9931         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9932         <mrcooger@cyberverse.com> so that when selecting menus with the
9933         mouse, the first item will not be selected, but when selecting
9934         with an accelerator, or navigating left-right on a menubar with
9935         the menus popped up, the first item will be selected.
9936
9937 2000-04-05  Dan Damian  <dand@dnttm.ro>
9938
9939         * configure.in: Added "ro" to ALL_LINGUAS.
9940
9941 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9942
9943         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9944         indentation.
9945
9946         * Makefile.am (EXTRA_DIST): Fix typo.
9947
9948         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9949         to catch gdkconfig.h
9950
9951         * gtk/gtkitemfactory.c: Added FIXME.
9952
9953 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9954
9955         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9956         s/return_if_fail/return_val_if_fail/g and add a return value.
9957
9958 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9959
9960         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9961         merge slipup.
9962
9963         * gdk/gdkinput.h: Fix missing line from merge.
9964
9965 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9966
9967         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9968         instead of gdkprivate.h.
9969
9970 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9971
9972         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9973         parent class to correctly be GtkDialogClass.
9974
9975 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9976
9977         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9978         toplevel windows and their immediate children by their parents,
9979         since the size of toplevel windows is out of our immediate
9980         control and we don't get any real benefit from trying to track
9981         this size for clipping.
9982
9983         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9984         for input_only windows.
9985
9986         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9987         to fix some hacks and make sure that we don't try to set the
9988         background of input only windows.
9989
9990 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9991
9992         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9993         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9994         stuff that we've traditionally exposed.
9995
9996         * gdk/**.c: Use gdkinternals.h where appropriate.
9997
9998         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9999         not include gdkprivate-x11.h, move all stuff of conceivable public
10000         interest into gdkx.h; keep all really private stuff in
10001         uninstalled header gdkprivate-x11.h.
10002
10003         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10004         image->image_put on windows through a new function _gdk_window_draw_image()
10005         to allow us to do backing store for images. (Sort of ugly)
10006
10007         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10008         contexts locally so that we can offset them properly when drawing 
10009         onto backing pixmaps.
10010
10011         * gdk/gdkinput.h: Reindented
10012
10013         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10014         pixmap or color for the window, so we can properly initialize
10015         our double-buffer pixmaps, and also so that we temporarily set
10016         a background of None while scrolling.
10017
10018         * gdk/gdkregion.h: Revise region boolean operators to have an
10019         interface that is actually convenient - switch from creating new
10020         regions on every op, to "methods" that modify existing regions
10021         (A = A OP B). 3 argument forms which allow dest == src, would also
10022         be possible, but the current interfaces seem to map nicely
10023         onto what needs to be done. (There is quite a lot of region
10024         code in GDK now.)
10025
10026         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10027         operator.
10028
10029         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10030         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10031         to 32 bit coordinates, modify it to be mostly GTK+ style
10032         and to have interfaces that match gdkregion.h.
10033
10034         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10035         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10036         create a backing pixmap and redirect all drawing to
10037         that backing pixmap until a matching gdk_window_end_paint().
10038
10039         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10040         Create a special drawable class for GtkWindow's that 
10041         redirects the drawing to the backing pixmap as necessary
10042         and then calls the real operations in _gdk_windowing_window_class.
10043
10044         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10045         Store invalid region for each window. Generate expose events for invalid
10046         region in an idle. This replaces both the expose compression
10047         and the redrawing queuing in GTK+. It is both more efficient and
10048         simpler than either one individually and far more so then the
10049         combination.
10050
10051         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10052         Emulate 32 bit coordinates for windows with 16 bit coordinates
10053         by offsetting drawing, guffaw scrolling techniques and
10054         mapping/unmapping child windows as necessary.
10055
10056         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10057         where, when invalid regions are processed, the region is stored,
10058         and if expose events come in that are detectably duplicate
10059         the processed exposes (by comparison of event serial numbers),
10060         the stored region is subtracted out of those exposes.
10061
10062         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10063         regions newly exposed when scrolling or resizing windows.
10064         This, combined with forcing processesing of queued invalidated
10065         regions, gives nice flicker-free scrolling.
10066
10067         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10068         invalidated regions after every scroll.
10069
10070         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10071         emulation in GDK. Its, for all practical purposes just a
10072         GtkViewport/GtkFixed hybrid now.
10073
10074         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10075         (16-bit) structures as necessary instead of just casting.
10076
10077         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10078         in terms of the structures from gdkregion-generic.c, using appropriate
10079         offsets from GDK to X11 coordinates. Cache clip mask and
10080         origin and ts origin locally and only flush to the server
10081         when drawing, to avoid constantly setting and resetting these
10082         values when offsetting GC's for scrolling and backing pixmaps.
10083
10084         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10085
10086         * gtk/gtkcontainer.c: Call process_all_updates at end
10087         of resizing to reduce flicker. (Avoids having redraw
10088         lag arbitrarily behind resize under some circumstances)
10089
10090         * gtk/gtkentry.c: Remove old backing store code, and simply take
10091         advantage of the new backing store capabilities of GDK.
10092
10093         * gtk/gtkmain.c: Simple implementation of widget backing
10094         store - simply push a paint while handling each expose.
10095         (Should really be configurable widget for widget.)
10096         
10097         * gtk/gtkwidget.c: Remove all the old complicated redraw
10098         code, and simply invalidate the GDK windows from
10099         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10100         debugged complexity ... gone to the winds.)
10101
10102         Remove all the code for suppressing expose events while
10103         resizes are pending; this isn't needed since the invalid
10104         areas won't be processed until after the resizes are
10105         processed, since they are in a lower priority idle.
10106
10107 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10108
10109         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10110         and height of dest rectangle for non-intersecting rectangles.
10111
10112 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10113
10114         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10115         for GdkRectangle.
10116
10117 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10118
10119         * gdk/gdk{events,image,private,types,window}.h
10120          gdk/x11/gdkinputprivate.h: Change all coordinates
10121          from int16 to int. Also, Change width and height from
10122          unsigned to signed to avoid all the stupid C 
10123          signedness bugs.
10124
10125 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10126
10127         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10128         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10129         Add some more detailed checking.
10130
10131         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10132         New function to retrieve the depth of a drawable.
10133
10134         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10135         field, reorder fields to save memory. 
10136
10137 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10138
10139         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10140         of the background image instead of scaling the background down to
10141         a line.
10142
10143         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10144         which temporarily set slider to wrong size.
10145
10146         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10147         queue_clear().
10148
10149 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10150
10151 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10152
10153         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10154
10155 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10156
10157         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10158         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10159
10160         * gdk/win32/gdkfont-win32.c
10161         * gdk/win32/gdkproperty-win32.c
10162         * gdk/win32/gdkselection-win32.c
10163         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10164         now declared such.
10165
10166 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10167
10168         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10169
10170 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10171
10172         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10173         is called without trapping X errors.
10174
10175 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
10176
10177         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
10178         way into the fontset lists.
10179
10180 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
10181
10182         * gtk/gtkthemes.h: add extern "C" scope.
10183
10184 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
10185
10186         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
10187         to make appends to the list constant. (gtk-guy-990901-0.patch)
10188
10189 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
10190
10191         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
10192         for the typename hash table.
10193
10194 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
10195
10196         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
10197         to make sure we never divide by zero. 
10198         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
10199
10200 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
10201
10202         * gtk/gtkfontsel.c: Apply patch from
10203         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
10204         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
10205
10206         Also, some cleanups in atom handling.
10207
10208 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
10209
10210         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10211         not GtkWidget.
10212
10213 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
10214
10215         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
10216         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
10217         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
10218         more guint wrap-around bugs before going to bed.
10219
10220 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
10221
10222         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
10223         guint wrap arounds in allocation.width.
10224
10225         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
10226         process untill we fit the allocation given.
10227
10228 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
10229
10230         * gtk/gtkwidget.c:
10231         (gtk_widget_unrealize): guard widget access with ref/unref
10232         around signal emission.
10233         (gtk_widget_hide): same here, but also check its destroyed
10234         state before queueing a resize.
10235
10236 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
10237
10238         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
10239         of gtk_default_insensitive_bg as insensitive base color.
10240
10241         * gtk/gtktext.c (gtk_text_style_set): set the background color according
10242         to the widget's state.
10243         (gtk_text_realize): same here.
10244         (gtk_text_state_changed): same here.
10245         (draw_bg_rect): compare background color against base[] from
10246         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
10247
10248 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
10249
10250         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
10251         grabs are active, unless a delete event is send to the toplevel
10252         of the currently grab holding widget.
10253
10254 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
10255
10256         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
10257         debugging g_print's.
10258
10259 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
10260
10261         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
10262         ever make the scrolled-window requisition ever depend on the 
10263         visibility state of the scrollbars for the AUTOMATIC policy. 
10264         This breaks the GTK+ requisition model, and causes loops.
10265
10266 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
10267
10268         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
10269         the default font to avoid problems with XFree86-4.0 where the
10270         default charset is iso10646-1, not iso8859-1.
10271
10272 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
10273
10274         * acinclude.m4
10275         * config.guess
10276         * config.sub
10277         * ltconfig
10278         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
10279
10280         * gtk/Makefile.am: minor cosmetic consistency tweak
10281
10282 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
10283
10284         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
10285         the activate_time to 0, so that we handle a quick
10286         press/release press/release properly and don't suppress
10287         the second release. (Red Hat bug #7545)
10288
10289 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
10290
10291         * gtk/gtkctree.c (row_delete):
10292         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
10293         bugs with destruction notifier, *always* update internal
10294         structures *before* calling user code.
10295
10296 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
10297
10298         A few more fixes for bug #5487, #2051, #2677.
10299         * gtk/gtkclist.c : 
10300         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
10301         not GDK_BUTTON_PRESS.
10302         (resync_selection): resync only if selection_mode is
10303         GTK_SELECTION_EXTENDED
10304         * gtk/gtkctree.c (resync_selection): same here
10305
10306 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
10307
10308         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
10309         gdk_drag_get_selection() and gtk_menu_detach().
10310
10311         [ From Jeroen Ruigrok/Asmodai ]
10312
10313 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
10314
10315         * gtk/gtknotebook.c (gtk_notebook_size_request): 
10316         page->tab_label can be NULL.
10317
10318 2000-01-25  Havoc Pennington  <hp@pobox.com>
10319         
10320         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
10321         arg is boolean
10322
10323         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
10324
10325         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
10326
10327         * gdk/gdkproperty.c (gdk_property_get): return boolean
10328
10329         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
10330
10331         * gdk/gdkim.c (gdk_im_ready): return boolean
10332
10333         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
10334
10335         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
10336         glib clash, should fix glib)
10337
10338         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
10339         (gdk_get_show_events): return gboolean, and canonicalize 
10340         to TRUE/FALSE
10341
10342         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
10343         colormap is private
10344         (gdk_colors_alloc): gboolean whether to be contiguous
10345         (gdk_color_equal): return gboolean since we are a predicate
10346         and not a qsort() (this looks semi-wrong due to glib breakage,
10347         IMO glib should be fixed)
10348         
10349         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
10350         (gdk_get_use_xshm): return gboolean
10351         (gdk_pointer_is_grabbed): return gboolean
10352
10353         * gdk/gdk.h: Change prototypes to match all the above changes,
10354         and re-run egtk-format-protos as required.
10355
10356 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
10357
10358         * gtk/gtkctree.c (resync_selection): 
10359         * gtk/gtkclist.c (resync_selection):
10360
10361         Return immediately if clist->drag_pos < 0. This is a workaround
10362         for the corrupt state that the clist gets into when a
10363         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
10364
10365         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
10366         
10367         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
10368         variable from recent commit.
10369
10370 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
10371
10372         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
10373
10374 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
10375
10376         * gtk/Makefile.am: prefix all autogenerated source that get build in
10377         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
10378         in builddir. since we subsequently cd into srcdir for autogeneration,
10379         the paths have to be stripped from the target file names, thusly we
10380         use $(@F) as target names now.
10381         put a comment about configure.in's --disable-rebuilds option,
10382         which can be used for non-writable source directories, for development
10383         setups though, srcdir has to be *writable*.
10384
10385 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
10386
10387         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
10388           Finish the job of allowing event to be NULL.
10389           (Fixes bug #4283, reported by Chris Blizzard)
10390
10391         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
10392           things so that the cursor appears on screen, properly
10393           take into account INNER_BORDER.
10394           (Fixes bug #4754, reported by Antonio Campos)
10395
10396 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
10397
10398         * gtk/gtknotebook.c (gtk_notebook_map): Don't
10399           show the tab_label unless it itself is visible.
10400
10401           gtk/gtknotebook.c (gtk_notebook_size_request):
10402           Do a better job of making sure that the visibility
10403           of the tab label corresponds to whether it should
10404           be mapped or not.
10405
10406 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
10407
10408         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
10409           Use the requisition, not the allocation, since the
10410           allocation has not necessarily been computed yet.
10411           (Pointed out by Eugene Osintsev)
10412
10413 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
10414
10415         * gtk/gtkstyle.c (gtk_style_new): Dont' set
10416           style/base[GTK_STATE_INSENSITIVE] both to
10417           gtk_default_insensitive_bg!
10418           (Bug #2187, reported by Jonathan Blandford)
10419
10420         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
10421           Add Alt_L, Alt_R to list of invalid accelerators.
10422           (Bug #3736, reported by Vlad Harchev)
10423
10424 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
10425
10426         * gtk/gtkfilesel.c (open_ref_dir): Fix several
10427         bugs which occured after an attempt to open 
10428         invalid home directory left cmpl_state->reference_dir == NULL.
10429
10430          - completion on files in home directory didn't work
10431          - completion on an empty string caused  segfault
10432
10433          (Bug #3678, reported by Steve Ratcliffe)
10434
10435         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
10436         cut and paste error that was causing scales to
10437         be incorrectly positioned.
10438         (Bug #2956,
10439          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
10440
10441 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
10442
10443         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
10444         when checking for dcgettext, if we've found we needed
10445         it for dgettext.
10446 +
10447 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
10448
10449         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10450         queue_clear on NO_WINDOW widgets during a reparent,
10451         since at that point the window and widget heirarchies
10452         are out of sync. This stops crashing in some cases
10453         (the scrolled window reparent test, for instance), and
10454         _probably_ won't cause drawing errors.
10455
10456         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
10457         test do what it was supposed to do and be robust against
10458         window closings, etc. (Bug #2443)
10459
10460 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
10461
10462         * gtk/gtkentry.c: Fix return values on mouse events.
10463         (Bug #2686, Sky <seb_sky@yahoo.com>)
10464
10465         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
10466         (pointed out by George Lebl)
10467
10468         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
10469         (From Ettore Perazzoli  <ettore@helixcode.com>)
10470  
10471 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
10472
10473         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
10474         clicks between rows or outside calender area correctly.
10475         (Patch from Damon Chaplin)
10476
10477         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
10478         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
10479           Call destroy function when overwriting existing data. 
10480           (Pointed out by Damon Chaplin)
10481
10482 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
10483
10484         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
10485           which was causing problems on various systems with Xmu.
10486           This hasn't been needed for a very long time.
10487           (Fixes #1185 3167)
10488
10489 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
10490
10491         * gdk/gdki18n.h: Include <ctype.h> when defining
10492           gdk_isw* in terms of is* as a fallback.
10493           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
10494
10495 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
10496
10497         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
10498           realize the widget when it is size allocated!
10499           (old, old bug)
10500
10501         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
10502           Removed unused call to gdk_window_get_size() that
10503           showed up when the above was fixed.
10504
10505 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
10506
10507         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
10508           fix up widget->window when the widget is a
10509           NO_WINDOW container widget.
10510
10511 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
10512
10513         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
10514           to account for the fact that feof() does _not_ 
10515           return TRUE on errors, and thus avoid infinite loops
10516           when trying to use gdk_pixmap_create_from_xpm()
10517           on unreadable values.
10518
10519 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
10520
10521         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
10522
10523 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
10524
10525         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
10526           gdk_gc_set_dashes to take gint8 instead of gchar to
10527           make it clearer that it is _not_ a NULL terminated string.
10528
10529         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
10530           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
10531           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
10532           arguments.
10533
10534 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
10535
10536         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
10537         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
10538         background size relative to our allocation, guard against small
10539         allocations, we may have not yet been size allocated.
10540
10541 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
10542
10543         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
10544         not just version == 3. We implement all 3 + most of 4 - 
10545         (we don't support matching text/plain;charset=iso-8859-1
10546         to a dest that expects text/plain). We'll still advertise
10547         3 to be safe, but any client implementing version >= 3
10548         must interoperate with 3.
10549         
10550 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10551
10552         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
10553         background and gc members, add a warning in gtk_tooltips_set_color()
10554         indicating that this function is deprecated.
10555
10556 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
10557
10558         * docs/gtkfaq.sgml: FAQ Update:
10559           - Minor cleanups (Emmanuel, me)
10560           - New questions:
10561                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
10562                 How can I retrieve the text from a GtkMenuItem? (timj)
10563                 How do I validate/limit/filter the input to a GtkEntry? (me)
10564                 Memory does not seem to be released when I free the list
10565                         nodes I've allocated (timj)
10566
10567 2000-03-07  Tor Lillqvist  <tml@iki.fi>
10568
10569         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
10570         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
10571         for which it is no use to call GetLastError onWin9x.
10572         (gdk_other_api_failed) New function, for general error
10573         reporting without calling GetLastError.
10574         (gdk_win32_api_failed) OTOH, this function always calls
10575         GetLastError. (gdk_win32_last_error_string) Remove this function,
10576         GLib has the equivalent now.
10577
10578         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
10579         call them with function name, file name and line number in the
10580         arguments.
10581
10582         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
10583         functions.
10584         
10585         * gtk/gtk.def: Add some missing entry points.
10586
10587         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10588         gtk_paned_set_gutter_size, which don't exist any longer, as void.
10589         
10590         Fixes by Hans Breuer:
10591
10592         * gdk/makefile.msc: Update for debugging.
10593
10594         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
10595         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
10596         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
10597         in the dash_list.
10598
10599         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
10600         the x11 backend.
10601
10602         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
10603
10604         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
10605
10606 2000-03-04  Tor Lillqvist  <tml@iki.fi>
10607
10608         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
10609         just pixel value of background colour.
10610
10611         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
10612         containing code snippet previously duplicated in a couple of
10613         places.
10614         
10615         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
10616         gdk_colormap_color.
10617
10618         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
10619         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
10620         events for autorepeated Shift, Control and Alt keys. Use
10621         gdk_colormap_color.
10622
10623         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
10624         pointer is inside the window the cursor of which we are setting,
10625         call SetCursor immediately.
10626
10627         * gdk/win32/makefile.cygwin
10628         * gtk/makefile.cygwin: If we don't have the build number stamp
10629         file, use zero.
10630
10631         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
10632         gtk_paned_set_gutter_size as empty.
10633
10634         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
10635         
10636 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
10637
10638         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
10639           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
10640           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
10641           docs/gtk_tut.sgml docs/gtk.texi TODO:
10642
10643           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
10644
10645 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
10646
10647         * gtk/gtkcalendar.c: Implement num_marked_dates,
10648           and don't emit mutiple day_selected signals on
10649           month_prev.
10650
10651 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
10652
10653         * docs/make-todo (lineno): let title and logo be configurable so
10654         that GNOME can use this script too.
10655
10656         * TODO.xml: added logourl and a title
10657
10658 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
10659
10660         * TODO.xml: Added some UI items, and an explanatory
10661         comment at the top of the file.
10662
10663 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
10664
10665         * TODO.xml: some updates, added abunch of new entries.
10666         a note for those fiddeling with this file, when done
10667         with it, invoke:
10668         $ ./docs/make-todo TODO.xml >/dev/null
10669         and correct output errors before comitting changes.
10670
10671 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
10672
10673         * TODO.xml: Added XML-structured TODO file.
10674         * docs/make-todo: python script to turn TODO.xml into
10675           pretty XML output. 
10676
10677 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
10678
10679         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
10680         the function to let it draw the seven dots, instead of the old,
10681         much maligned, method.
10682         (draw_dot): New function to draw a dot.
10683
10684         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
10685         to draw the handle inside the border width as opposed to outside.
10686         Use paint function instead of gdk_draw_point.
10687
10688         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
10689         to draw the handle inside the border width as opposed to outside.
10690         Use paint function instead of gdk_draw_point.
10691
10692         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
10693         Change indenting to be more GTK like.
10694
10695 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
10696
10697         * docs/gtk_tut.sgml: New section on GtkCalendar
10698         * examples/calendar: Update example code
10699
10700 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
10701
10702         * docs/gtkfaq.sgml: FAQ Update
10703
10704 2000-02-19  Anders Carlsson  <andersca@gnu.org>
10705
10706         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
10707         to prevent the scroll event to be propagated upwards.
10708
10709 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10710
10711         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
10712         OwnerGrabButtonMask from button entries for
10713         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
10714
10715         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
10716         to the event mask (which will result in button/press release
10717         being added to the event mask on Unix) so scrolling works
10718         for layouts in scroll windows.
10719
10720         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
10721
10722         Patch from Anders Carlsson  <andersca@gnu.org> to add
10723         a scroll event.
10724
10725         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
10726         scrolling to the "Test Scrolling" part of testgtk.
10727  
10728         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
10729  
10730         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
10731         it against GDK_SCROLL.
10732  
10733         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
10734         way of mouse wheel scrolling.
10735  
10736         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
10737  
10738         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
10739  
10740         * gtk/gtkmain.c: Removed previous mouse wheel hack.
10741  
10742         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
10743         gdk_event_mask_table.
10744  
10745         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
10746         GdkEventScroll handler.
10747  
10748         * gdk/gdkevents.h: Added GdkEventScroll structure.
10749  
10750 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
10751
10752         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
10753         and Anders Carlsson to change the Paned widgets so that they
10754         can be dragged from anywhere along the length. Also change
10755         the way that this is drawn to make this apparent.
10756
10757         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
10758         from George Lebl to check that option_menu->menu is present
10759         before getting history.
10760
10761 2000-02-14  Tor Lillqvist  <tml@iki.fi>
10762
10763         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
10764         before the assertion for non-NULL segment list.
10765
10766         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
10767         Seems that pattern brushes *must* be 8x8 pixels! At least on my
10768         machine, but it might be display driver dependent. Sigh, so make
10769         sure the stipple is that size. Does Windows suck or what?
10770
10771         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
10772         places.
10773
10774 2000-02-13  Havoc Pennington  <hp@pobox.com>
10775
10776         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
10777         refcount to 1
10778         (gdk_cursor_new): init refcount to 1
10779
10780         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
10781
10782 2000-02-13  Tor Lillqvist  <tml@iki.fi>
10783
10784         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
10785         so that we don't have to do unnecessary settings to the HDC.
10786
10787         * gdk/win32/gdkdrawable-win32.c
10788         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
10789         gdk_gc_predraw.
10790
10791         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
10792         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
10793         GDI paths, call WidenPath to get the outline of the stroken path,
10794         and then fill the outline (with the brush that was built from the
10795         stipple).
10796
10797         * gdk/win32/gdkgc-win32.c: Factor out common code from
10798         _gdk_win32_gc_new and gdk_win32_gc_set_values into
10799         gdk_win32_gc_values_to_win32values. Use correct colour for
10800         SetBkColor() (Until now the code actually used a random colour in
10801         the call to SetBkColor()... but that didn't show up as not many
10802         GDI APIs use the background colour. Pattern (opaque stippled)
10803         brushes do.)
10804
10805         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
10806         gdk_win32_api_failed): New functions for error logging.
10807
10808         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
10809         WIN32_API_FAILED to call them, passing function or file name and
10810         line number.
10811
10812         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
10813
10814         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
10815         GdkColor for foreground and background in GdkGCWin32Data.
10816
10817         * gdk/makefile.cygwin: Link in the resource object separately.
10818
10819         * gdk/win32/rc/gdk.rc
10820         * gtk/gtk.rc (New file)
10821         * gdk/win32/makefile.cygwin
10822         * gtk/makefile.cygwin: Update build number in DLLs automatically,
10823         as in GLib.
10824
10825 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
10826
10827         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
10828         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
10829         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
10830         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
10831         parameters given and cursor->ref_count. coding style fixups.
10832
10833         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
10834         not GtkWidget.
10835         
10836         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
10837         fix up widget macros and add _GET_CLASS() variant.
10838         
10839         * gtk/*.c: some GtkType fixups.
10840
10841 2000-02-09  Tor Lillqvist  <tml@iki.fi>
10842
10843         * gdk/win32/gdkproperty-win32.c
10844         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
10845         were reversed.
10846
10847 2000-02-04  Tor Lillqvist  <tml@iki.fi>
10848
10849         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
10850         g_filename_to_utf8 to convert the font names Windows gives us from
10851         whatever is the default codepage to UTF-8.
10852         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
10853         in the other direction.
10854
10855         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
10856         error in debugging output.
10857
10858 2000-02-02  Tor Lillqvist  <tml@iki.fi>
10859
10860         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
10861         and height parameters to gdk_window_clear_area(). Not minus one.
10862
10863 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
10864
10865         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
10866         checks if the widget passed to gtk_drag_get_data() was not the
10867         dest widget.
10868
10869 2000-02-01  Tor Lillqvist  <tml@iki.fi>
10870
10871         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10872         g_filename_from_utf8 functions (which were added a moment ago to
10873         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10874         size buffers.
10875
10876         gtk_file_selection_get_filename returns the filename in the C
10877         runtime encoding. It calls g_filename_from_utf8, but copies the
10878         returned string to a static buffer, which is returned. I think
10879         this is better than returning the result from g_filename_from_utf8
10880         directly, which would mean all apps that use it would have to free
10881         the return value. Or should this function care about this issue at
10882         all? Maybe a new function with clearly defined semantics.
10883
10884         * gtk/gtkfilesel.h: Add comment about
10885         gtk_file_selection_get_filename returning the filename in the C
10886         runtime's encoding.
10887
10888         * README.win32
10889         * gdk/gdk.def
10890         * gdk/makefile.{cygwin,msc}
10891         * gtk/gtk.def: Updates.
10892
10893         * gdk/gdkcursor-win32.c: Initialise refcount.
10894
10895 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10896
10897         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10898
10899 2000-01-30  Havoc Pennington  <hp@pobox.com>
10900
10901         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10902         destroy
10903
10904         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10905
10906         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10907         implemented in platform-specific code
10908
10909         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10910
10911         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10912         underscore in front
10913
10914         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10915         put an underscore in front
10916
10917         * gdk/gdkcursor.c: new file, implements
10918         gdk_cursor_ref/gdk_cursor_unref
10919
10920         * gdk/gdkcursor.h: Refcount GdkCursor
10921
10922         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10923
10924 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10925
10926         * gdk/gdkwindow.h
10927         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10928
10929 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10930
10931         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10932         structures to properly inherit from GtkWidget not GtkBin.
10933
10934 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10935
10936         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10937         (bug #5178 - Peter Wainright)
10938         
10939         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10940         so that it will be installed.
10941         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10942
10943 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10944
10945         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10946         for the GtkStyleClass vtable const.
10947
10948         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10949         take a const string argument like GtkTranslateFunc. This will
10950         require changes in use code.
10951
10952 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10953
10954         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10955         semantics (to mimic the X11 backend, which just calls XClearArea)
10956         is to check for zero width (and height), and in that case use the
10957         window's width minus x (height minus y). This fixes for instance
10958         some redraw problems with gtkclist, which were easily noticeable
10959         in the gtk file selection widget.
10960
10961         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10962         windows.
10963
10964 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10965
10966         * configure.in
10967         * gdk/Makefile.am
10968         * gdk/x11/Makefile.am
10969         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10970         (bug #5177).
10971         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10972         out later.
10973
10974 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10975
10976         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10977         WM_MOVE for iconified or invisible windows. This fixes various
10978         problems when minimising windows. Thanks to Bernd Herd.
10979
10980 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10981
10982         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10983         backend's draw_lines method, not draw_points.
10984
10985 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10986
10987         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10988         before Owen's reorganisation: Don't have queued_events and
10989         queued_tail statics in this file, but use gdk_queued_events and
10990         gdk_queued_tail. This makes exposure event compression work again.
10991
10992         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10993         seem to be needed?
10994
10995 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10996
10997         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10998         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10999         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11000         doesn't do anything.
11001
11002         * gdk/gdk.def: Add gdk_xid_table_insert.
11003
11004         * gdk/win32/gdkprivate-win32.h
11005         * gdk/win32/gdkevents-win32.c
11006         * gdk/win32/gdkinput-win32.c
11007         
11008         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11009         extension_events field in the GdkWindowWin32Data struct. Use only
11010         the extension_events field in GdkWindowPrivate. Previously one was
11011         set, and the other one tested, which broke tablet
11012         functionality. Thanks to Keishi Suenaga for pointing this out.
11013
11014 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11015
11016         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11017         When handling a single character (text length == 1), don't handle
11018         it as if it was UTF-8.
11019
11020 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11021
11022         * Makefile.am: Distribute README.win32.
11023         
11024         * gdk/Makefile.am
11025         * gdk/win32/Makefile.am: Distribute Win32 files.
11026
11027         * gdk/makefile.msc: New file.
11028
11029         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11030         after label).
11031
11032         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11033         gdk_error_code as GDKVAR, as they are referred outside GDK.
11034
11035         * gdk/win32/makefile.msc: Update.
11036
11037         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11038         tweaks. Check only if at least one of those Unicode subrange bits
11039         we care for is set. If no code page bits are set, guess (wildly)
11040         based on the charset.
11041
11042         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11043
11044         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11045         non-NULL.
11046
11047         * gtk/gtkdnd.c
11048         * gtk/gtklayout.c
11049         * gtk/gtkplug.c
11050         * gtk/gtkselection.c
11051         * gtk/gtksocket.c
11052         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11053         appropriate. There must be a cleaner way to handle this?
11054
11055         * gtk/gtkrc.c: Must include windows.h on Win32.
11056
11057         * gtk/testgtk.c: No need to include gdkx.h.
11058
11059         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11060
11061 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11062
11063         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11064         the rbearing is set to the same as the width, but this should be
11065         fixed.
11066
11067 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11068
11069         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11070         function. If Windows doesn't tell us what Unicode subranges a font
11071         covers, guesstimate based on the codepages it covers. This will
11072         hopefully help those Windows versions or fonts that don't give us
11073         any useful Unicode subrange information with GetTextCharsetInfo.
11074         Call this function in gdk_font_load_internal.
11075
11076         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11077         minor changes.
11078
11079 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11080
11081         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11082         New function, long needed.
11083
11084 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11085
11086         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11087         only_if_exists argument of gdk_atom_intern to
11088         bool.
11089
11090 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11091
11092         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11093         Fix two copy&paste errors.
11094
11095         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11096         win32 has changed.
11097
11098         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11099         GdkWin32SingleFont struct.
11100
11101         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11102         subranges of loaded fonts. Clear font signature first, in case
11103         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11104         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11105
11106         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11107         Unoffset clip region.
11108
11109 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11110
11111         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11112         event->any.window before calling filter functions.
11113
11114 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11115
11116         * gtk/gtkgamma.h: Adapt cast macros to standard.
11117
11118 [ Merges from 1.2 ]
11119
11120 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11121
11122         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11123         If translation does not include a '/', use entire
11124         translation instead of crashing.
11125
11126 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11127
11128         * docs/gtk_tut.sgml:
11129         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11130
11131 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11132
11133         * gtk/gtkselection.c (gtk_target_list_remove): Use
11134         g_list_remove_link, not g_list_remove.
11135
11136         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11137         
11138 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11139
11140         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11141         statement upon unselection (how the heck did that slip in?).
11142
11143 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11144
11145         * gtk/gtktext.c (gtk_text_freeze): 
11146         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11147         in frozen state (and aparently crashes). patch provided by Anders
11148         Melchiorsen <and@kampsax.dtu.dk>.
11149
11150 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11151
11152         * fix insensitive default/focus widget activation,
11153         reported by Matt Goodall <mgg@isotek.co.uk>.
11154
11155         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11156         (gtk_window_activate_default):
11157         (gtk_window_activate_focus):
11158         return handled=FALSE for actiavtion of insensitive default
11159         widgets. return handled=TRUE for activation of insensitive
11160         focus widgets. don't activate in either case.
11161
11162 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11163
11164         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11165         and $glib_cflags to match library order and in the
11166         theory that an old version of GLib is more likely to
11167         be in the include directory for X then vice-versa.
11168         (Bug #2776)
11169
11170 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11171
11172         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11173         to determine the locale for fontsets, not LC_MESSAGES;
11174         the user may want English messages with a handling
11175         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
11176         will still be broken) (Bug #2891)
11177
11178 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11179
11180         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
11181
11182 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
11183
11184         * gtk/gtkrc.ko: Changed the Korean default fontset.
11185
11186 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
11187
11188         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
11189         where when scrolling to the left or top double exposes
11190         were done, causing major slowdowns.
11191
11192 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
11193
11194         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
11195         names to lowercase and alphanumeric, before looking
11196         them up.
11197
11198         * gtk/Makefile.am: Install codeset variant gtkrc files
11199         with normalized names.
11200
11201 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
11202
11203         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
11204         popup menus when the menu is already visible, but its parent
11205         is still hidden, (happens after tornoff window got hidden).
11206
11207 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
11208
11209         * gtk/Makefile.am (install-data-local): Fix
11210         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
11211         deleted, causing error messages on install.
11212
11213 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
11214
11215         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
11216         the handle as well, since we now sometimes ignore
11217         exposes on the handle while resizing.
11218
11219 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
11220
11221         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
11222         extra g_free introduced in one of the last one or two 
11223         commits.
11224
11225 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
11226
11227         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
11228         consistent, put each style that a gtkrc.* file creates
11229         in a unique namespace, remove old files before installing.
11230
11231 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
11232
11233         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
11234         gtk_rc_init is called multiple times. (Yes, people who
11235         do that have bugs in their code.)
11236
11237 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
11238
11239         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
11240         Remove it since it's generated by the Makefile anyway
11241
11242 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
11243
11244         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
11245         device->info.axes for core pointer.
11246
11247 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
11248
11249         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
11250         idle_id, to deal with obsolete, broken C libraries.
11251
11252 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
11253
11254         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
11255         allocation->x/y twice!
11256
11257         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
11258         consistent with gtk_vscale_pos_trough().
11259
11260 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
11261
11262         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
11263         be queueing a resize on a toplevel container between
11264         the time we show it and when we map it. So, we need
11265         to test GTK_WIDGET_VISIBLE() for toplevels, and only
11266         use GTK_WIDGET_DRAWABLE() for child windows.
11267
11268 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
11269
11270         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
11271         (fixes bug #2144)
11272
11273 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
11274
11275         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
11276         container DRAWABLE (instead of VISIBLE), so we don't queue
11277         resizes on non-toplevel containers.
11278
11279 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
11280
11281         * gtk/gtkselection.[ch]: Make the data argument
11282         const guchar *.
11283
11284 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
11285
11286         * gtk/gtkwindow.c: Try to behave sensibly if 
11287         the focus widget is the window itself. (Should
11288         we allow this at all?)
11289
11290 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11291
11292         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
11293         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
11294         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
11295         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
11296         in prototypes and implementations consistent (Tomas Ogren).
11297
11298         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
11299         before the widget is unparented (reported by damon).
11300
11301         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
11302         since we provide unsigned data anyways.
11303
11304 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
11305
11306         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
11307         the call to gtk_tooltips_layout_text() until later.
11308
11309         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
11310         Call gtk_widget_ensure_style() before using the style.
11311
11312 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
11313
11314         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
11315         for old widgets that don't propagate draws to all
11316         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
11317
11318 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
11319
11320         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
11321         for a redraw but just the widget that requested the resize.
11322
11323 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
11324
11325         * gtk/gtkcontainer.c: added new widget level method
11326         gtk_container_set_reallocate_redraws() and a GtkContainer flag
11327         reallocate_redraws : 1 to reflect the setting, exported this through
11328         the argument system as a boolean ::reallocate_redraws.
11329
11330         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
11331         on the widget because the allocation changes, do so as well for
11332         widget->parent if the parent has reallocate_redraws set to TRUE.
11333         with that containers requesting reallocation redraws get automatically
11334         redrawn if their children changed allocation (this unfortunately
11335         affects also other children that didn't change allocation, but we
11336         cannot work around that before 1.3).
11337
11338 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11339
11340         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
11341         _and_ height are >0 (not _or_).
11342
11343         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
11344         instead of gtk_container_queue_resize(), which is a core gtk internal
11345         function (must have been on crack when i queued that).
11346
11347         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
11348         we can check more reliably if we want to discard expose events.
11349         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
11350         flag.
11351         
11352         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
11353         we simply trust these events. for deciding whether to discard exposes,
11354         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
11355         
11356 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
11357
11358         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11359         queues of areas that are completely off screen.
11360
11361         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
11362         logic for handleboxes.
11363
11364         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
11365         check on width/height.
11366
11367 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
11368
11369         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
11370         we are fine with using $@ the way we do (if we actually encounter
11371         brokeness with $@ in VPATH builds because of additional path prefixes,
11372         we need to use $(@F) actually).
11373
11374 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
11375
11376         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
11377         short lived bugs, that would allow language bindings to do surgeries
11378         to our guts.
11379
11380 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
11381
11382         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
11383         where comparison was being done against an uninitialized
11384         value causing intermittant results depending on
11385         compiler flags. Also make it clearer that we aren't
11386         ever initializing the child as 0x0 (though this will
11387         be caught in gtk_widget_size_allocate())
11388
11389 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
11390
11391         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
11392         gtk_window_unset_transient_for() call after we do checks
11393         involving the old transient parent.
11394         [ From Lance Capser <lmc@cyberhighway.net> ]
11395
11396 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
11397
11398         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
11399         an empty file.
11400
11401 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
11402
11403         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
11404         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
11405
11406 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
11407
11408         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
11409         `$@' is valid only in the build dir, not after we've done 
11410         `cd $srcdir'.  Also use `test -f' instead of less portable
11411         `test -e'.
11412
11413 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
11414
11415         * gtk/gtktext.c (correct_cache_insert): Rewrite
11416          for simplicity, and hopefully correctness.
11417          (Fixes bug #1322, which was a segfault when
11418           on some insertions with the properties around
11419           the insertion set up just wrong.)
11420
11421         * gtk/gtktext.c (gtk_text_adjustment): When we receive
11422          a "changed" signal, clamp the new value to the adjustment
11423          bounds to avoid segfaulting if someone tries to change
11424          the adjustment to a bogus value. (Bug #1795)
11425
11426 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11427
11428         * gtk/gtkmain.c: Ignore unexpected destroy notifies
11429         for children, for toplevel windows handle them
11430         like delete_event.
11431
11432         * gtk/gtkplug.c: Add an unrealize handler so that
11433         we unref plug->socket_window when we are done
11434         with it.
11435
11436 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
11437
11438         * gtk/gtktext.c (clear_area): Fix stupid signedness
11439          problem that was causing background to sometimes
11440          be misaligned.
11441
11442 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
11443
11444         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
11445         
11446         * gtk/gtkmenu.c (gtk_menu_position): Make
11447          sure we never position menus with negative x, y,
11448          since gtk_widget_set_uposition() can't handle that.
11449
11450         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
11451          Modify the positioning code a bit so that we always
11452          put the top-left corner onscreen. (This is for
11453          UI reasons, gtk_menu_position() now takes care of
11454          gtk_widet_set_uposition() brokeness.)
11455
11456 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
11457
11458         * gtk/Makefile.am: fixed up things for -jx, x > 1.
11459
11460 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
11461
11462         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
11463           RC style that is passed in. The lack of the ref
11464           before was a bug. If people worked around this
11465           bug, this will introduce a slight memory leak
11466           in their code. The code should typically look like:
11467
11468             rc_style = gtk_rc_style_new ();
11469             [...]
11470             gtk_widget_modify_style (widget, rc_style);
11471             gtk_rc_style_unref (rc_style);
11472
11473         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
11474           the style if it was already set.
11475
11476         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
11477           style if it was set before.
11478
11479 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11480
11481         * gtk/testgtk.c (main): Add a check to see if we
11482           are being run from the correct directory and
11483           to quit nicely if we are not.
11484
11485         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
11486           static.
11487
11488 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
11489
11490         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
11491
11492         * gtk/gtkwindow.c:
11493         queue resizes unconditionally (gtk_widget_queue_resize will figure
11494         what to do if the window is not realized).
11495         (gtk_window_move_resize): only recenter the window
11496         for GTK_WIN_POS_CENTER_ALWAYS.
11497         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
11498         the same way as GTK_WIN_POS_CENTER.
11499
11500 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
11501
11502         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
11503         with (!(info->last_flags & GDK_HINT_POS)) instead of
11504         (!info->last_flags & GDK_HINT_POS).
11505
11506         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
11507         new_height unconditionally, because we use these values even if
11508         !default_size_changed && !hints_changed.
11509         comented the (default_size_changed || hints_changed) case with
11510         respect to resize rejects from the window manager.
11511
11512         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
11513         in the zvt condition hack, since this includes the window hints, set
11514         the hints after the handling_resize case.
11515
11516         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
11517         window is initially shown with to the geometry.
11518
11519 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
11520
11521         * gtk/gtkwindow.c (gtk_window_move_resize):
11522         s/size_changed/default_size_changed/g so i know what's
11523         really going on (frying brain on smaller flame now).
11524
11525 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
11526
11527         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
11528         we have size_changed upon handling_resize. this is a gross
11529         workaround for the broken zvt widget and should be removed in
11530         1.3 again (search for FIXME).
11531         Owen provided an accurate comment for this:
11532
11533         /* We could be here for two reasons
11534          *  1) We coincidentally got a resize while handling
11535          *     another resize.
11536          *  2) Our computation of size_changed was completely
11537          *     screwed up, probably because one of our children
11538          *     is broken. It's probably a zvt widget.
11539          *
11540          * For 1), we could just go ahead and ask for the
11541          * new size right now, but doing that for 2)
11542          * might well be fighting the user (and can even
11543          * trigger a loop). Since we really don't want to
11544          * do that, we requeue a resize in hopes that
11545          * by the time it gets handled, the child has seen
11546          * the light and is willing to go along with the
11547          * new size. (this happens for the zvt widget, since
11548          * the size_allocate() above will have stored the
11549          * requisition corresponding to the new size in the
11550          * zvt widget)
11551          *
11552          * This doesn't buy us anything for 1), but it shouldn't
11553          * hurt us too badly, since it is what would have
11554          * happened if we had gotten the configure event before
11555          * the new size had been set.
11556          */
11557
11558 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
11559
11560         * gtk/gtkrc.c: deal properly with the fact that RC
11561           style lists may include rc styles more than once.
11562
11563         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
11564           unused static function.
11565
11566         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
11567           stack of directories of RC files currently being
11568           parsed and implicitely add them to pixmap path.
11569           
11570           This fixes a bug where the directory would get
11571           appended then overwritten by pixmap_path declarations.
11572
11573           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
11574
11575         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
11576           theme's exit function. (Patch from Peter Wainwright,
11577           bug #1454)
11578
11579         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
11580           Add a destroy() handler to take care of removing
11581           group for menu item. (Fixes bug #1197)
11582
11583         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
11584           in warning message.
11585
11586 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
11587
11588         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
11589         roundtrip to figure window's width and height, since we know that
11590         anyways from widget->allocation.
11591
11592 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
11593
11594         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
11595           the hints after we request the new size.
11596
11597 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
11598
11599         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
11600           GTK_WIDGET_REALIZED() assertion - we can compute the
11601           hints before we are realized.
11602
11603         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
11604           hint changing so that we have a value of hints_changed
11605           when we decide whether to constrain the window size.
11606
11607         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
11608
11609         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
11610         change back to G_MAXINT.
11611
11612 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
11613
11614         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
11615         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
11616         contain uncluttered values.
11617         (gtk_window_compute_hints): simply assert that window is realized
11618         and that geometry_info is valid, since we rely on this anyways.
11619         (gtk_window_constrain_size): major cleanups to the code.
11620         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
11621         for the base size, instead of the minimums. use 32767 as max width
11622         and height (like in gtkwindow.c) instead of G_MAXINT.
11623
11624 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
11625
11626         * cleaned up the GtkContainer.need_resize flag handling mess, we
11627         only need to force resize requests when we were prematurely
11628         realized, or our widget tree was modified when we were temporarily
11629         hidden. handling these cases directly upon showing the window (i.e.
11630         while the GdkWindow is still unmapped) avoids the need to wait for
11631         a configure event response and therefore makes the GUI more snappier
11632         and avoids blank windows during the roundtrip.
11633
11634         * gtk/gtkwidget.c:
11635         (gtk_widget_hide): 
11636         (gtk_widget_show): don't queue resizes on toplevels, they know how
11637         to deal with matters.
11638
11639         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
11640         flag directly for not visible resize containers and spare us unecessary
11641         signal emissions.
11642
11643         * gtk/gtkwindow.c:
11644         (gtk_window_realize): if we need to enforce premature size allocation,
11645         queue a container resize so we are correctly resized later on.
11646         (gtk_window_init):
11647         (gtk_window_size_request):
11648         don't freak around with the ->need_resize flag,
11649         gtk_container_queue_resize() will care about that.
11650         (gtk_window_show):
11651         handle initial resizing issues here, we can handle matters better in
11652         this place, especially since we know that our GdkWindow is still
11653         unmapped.
11654         (gtk_window_move_resize):
11655         don't care about ->need_resize at all.
11656         handle size changes properly that occoured while we waited for a
11657         configure event.
11658
11659 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
11660
11661         * gtk/gtkwidget.c (gtk_widget_set_uposition):
11662         * gtk/gtkwindow.[hc] (gtk_window_reposition):
11663         Move the hint setting code from gtk_widget_set_uposition
11664         to here; set the hints so that we respect any previously
11665         set geometry hints.
11666
11667         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
11668         change the window hints here or move the window here,
11669         let that happen in gtk_window_move_resize().
11670
11671 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
11672
11673         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
11674         to already queued resizes (and therefore redraws) on a widget, check
11675         its anchestry as well.
11676
11677         * gtk/gtkcontainer.c:
11678         (gtk_container_queue_resize): clear resize widgets for resize
11679         containers before aborting prematurely. this is especially important
11680         for toplevels which may need imemdiate processing or their resize
11681         handler to be queued.
11682         (gtk_container_dequeue_resize_handler): added new internal function for
11683         gtkwindow.c.
11684
11685         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
11686         configure event, take possible changes in window position into account
11687         as well.
11688         if we request a new window size, queue up a resize handler that will
11689         last until the configure event response arrives.
11690         combined the ->need_resize case (initial show) with the general size
11691         (hints) changed case and added even more comments.
11692         if !auto_shrink, only revert to the old allocation if the new size
11693         is smaller than the current allocation.
11694
11695 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
11696
11697         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
11698                            gtk_window_set_geometry_hints
11699                            gtk_window_set_default_size):
11700         When hints are set, queue a resize so that the hints will
11701         be eventually reset on the toplevel.
11702
11703         * gtk/gtkwindow.c (gtk_window_show): Use
11704         gtk_window_compute_default_size(). Clear the need_resize flag
11705         on the initail map so that we don't unnecessarily trigger the
11706         resize code.
11707
11708         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
11709         into separate functions. Compare the hints we are setting
11710         with what we set last time so that we can accurately
11711         tell when we need to reset the hints.
11712
11713         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
11714         function to figure out the size from requisition
11715         and default_size.
11716
11717         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
11718         from fvwm to constrain a size to the geometry hints.
11719
11720         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
11721         to compare two sets of geometry hints.
11722
11723         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
11724         from gtk_window_set_hints(), just compute the hints,
11725         don't set them.
11726
11727         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
11728         code from gtk_window_move_resize() to separate function,
11729         rationalize a bit.
11730
11731 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
11732
11733         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
11734         structure into a new private structure.
11735
11736         * gtkrc.c: Split GtkRcStyle into public/private.
11737         In the private part, add a list of pointers to the
11738         RcStyle lists this RcStyle participates in.
11739
11740         * gtkrc.c: When a RcStyle is free, remove all
11741         lists referencing it from the 
11742         realized_style_ht hash, and free those lists.
11743         
11744         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
11745         gtk_rc_init(), since that adds the default styles
11746         to the list of parsed RC files again.
11747
11748         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
11749         
11750 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
11751
11752         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
11753         checks that ensure that a widget's allocation is at least 1 in width
11754         and height. (GNOME note: this doesn't affect old panel code anymore,
11755         because GtkSocket will request width and height of at least 1 since
11756         Fri Jul 23).
11757
11758         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
11759         allocated yet (happens if the user realizes the window prematurely),
11760         size request and allocate it.
11761         (gtk_window_size_allocate): guard against guint underflows.
11762
11763 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
11764
11765         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
11766         in gtk_built_sources, so gtk.defs gets built prior to all other
11767         sources.
11768
11769 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11770
11771         * gtk/Makefile.am:
11772         invoke indent on gtkmarshal.*. 
11773         rewrote source generation rules, use COPYING as oldest source tag for
11774         a piggyback rule to generate all sources from (don't touch it ;).
11775         major cleanups, strip spaces on build rules for GNU Make.
11776
11777         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
11778         source and target files from commandline arguments. don't invoke indent.
11779
11780 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11781
11782         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11783         notebook after switch to avoid drawing problems.
11784         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11785         
11786         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11787         show them instead. 
11788         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11789
11790 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
11791
11792         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
11793         notebook after switch to avoid drawing problems.
11794         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
11795         
11796         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
11797         show them instead. 
11798         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
11799
11800 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
11801
11802         * gtk/gtkwindow.c:
11803         we use window->need_resize from configure_event now, to indicate that
11804         the gtkwindow should keep its allocation (e.g. because the user resized
11805         the window through window manager handles). resize_count is now reliably
11806         used to figure whether we got the allocation we requested from the
11807         window manager.
11808         configure events get queued as resizes now, the real stuff (size
11809         computation and allocation) now only goes on in gtk_window_move_resize().
11810         GtkWindow's requisition now contains its *real* requisition (like all
11811         other widgets), *not* taking usize into account.
11812         geometry_info->last_{width|height} is now updated from set_hints() only
11813         so it always contains the last hints we set for the window manager.
11814         made some event handlers return TRUE instead of FALSE.
11815         the overall code should be much more straight forward now, and the
11816         significant code portions are accompanied by comments now.
11817         (gtk_window_set_hints):
11818         removed requisition argument and made it
11819         fetch the requisition through gtk_widget_get_child_requisition.
11820         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
11821         does that now.
11822         (gtk_window_show):
11823         ensure that the widget is realized before calling 
11824         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
11825         ensure that we got properly size requested and allocated before
11826         realization.
11827         (gtk_window_configure_event):
11828         ignore plain window moves, or reallocate the widget tree through the
11829         resize queue otherwise.
11830         (gtk_window_move_resize):
11831         mostly rewrote this function to figure window manager hints more
11832         reliably, coalesce window moves and resizes to reduce configure events
11833         and do actuall size allocations.
11834
11835 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11836
11837         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
11838         that have a resize pending, because a redraw is already queued for them.
11839
11840         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
11841         hack to clear resize_widgets.
11842
11843         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
11844         for resize containers prior to size allocation. (this is also a bit
11845         ugly, but avoids side effects for stopped emissions and is thus more
11846         reliable).
11847         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
11848
11849         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
11850         function from gtk_tooltips_expose, as we connect to ::expose_event
11851         *and* ::draw now.
11852
11853 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11854
11855         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
11856         checks.
11857         (gtk_target_list_unref): Likewise.
11858
11859         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
11860
11861 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
11862
11863         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
11864         guard against division by zero. (Fixes bug #1339)
11865
11866 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
11867
11868         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
11869         Prevent the trivial leak of information of allowing
11870         word motion when the entry is not visible.
11871
11872 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11873
11874         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11875         modality to error dialog as well as confirmation dialogs.
11876         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11877
11878 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11879
11880         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11881         tree->view_lines.
11882         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11883
11884         * gtk/Makefile.am (install-data-local): Solaris apparently
11885         has various troubles with ln -f; use rm first instead.
11886         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11887
11888 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11889
11890         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11891         use `cp' followed by `rm' (the `rm' was already there).
11892
11893 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11894         
11895         * configure.in: Fix autoconf warnings about cross compilation by
11896         trying to provide sane defaults for AC_TRY_RUN.
11897         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11898         put them into $(srcdir) when generated. Also add a dependency of
11899         gtksignal.h on gtkmarshal.h for -j builds. 
11900         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11901
11902 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11903
11904         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11905         GDK_THREADS_{LEAVE,ENTER} pair.
11906         (From Paul Fisher <pnfisher@redhat.com>)
11907
11908 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11909
11910         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11911         width and height are always >0 (owen).
11912
11913 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11914
11915         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11916         change that assured that a widget's allocated with and height are
11917         always >1, since this breaks *buggy* panel code. unfortunately this
11918         back-breaks the gimp's color selector.
11919
11920         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11921         allocation is always >0 in width and height, before sending the
11922         configure event; this is a *gross* hack to get the gimp back to work.
11923         
11924         * marked both cases with TODO-1.3
11925
11926 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11927
11928         * gtk/gtktext.c: Don't display wrap indicators when
11929         text is not editable and word wrap is on.
11930
11931 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11932
11933         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11934         option menus here as they are not derived from menu shell, assure that
11935         the option menu has a menu we can add items to.
11936
11937 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11938
11939         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11940         width/height to (gint) before calculations and check against < 0 to
11941         avoid guint wraparounds.
11942
11943 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11944
11945         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11946         width and height is never zero. sanity check both dimensions against
11947         32767 and issue a warning if the allocation is greater than that.
11948
11949 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11950
11951         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11952         to g_main_pending() as well.
11953
11954 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11955
11956         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11957         call to g_main_iteration() - since that will regrab
11958         GTK+ lock to process events.
11959
11960 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11961
11962         * gtk/gtkwindow.c
11963         - Regularize with the rest of GTK+ by making widget->requisition
11964           not reflect the set_usize()
11965         - Always recompute geometry hints, then check if they
11966           changed before sending them to the X server. The
11967           previous checks for changes would fail in a number
11968           of circumstances. 
11969
11970 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11971
11972         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11973
11974 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11975
11976         * gtk/gtkdnd.c:
11977         - Code cleanups
11978         - Instantaneously update on modifier key presses
11979         - Allow cancellation of the drag with Escape.
11980
11981 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11982
11983         * gtk/testgtk.c (create_handle_box): Set the policy
11984         to auto_shrink - otherwise the appearance is rather
11985         strange when flipping between horizontal and vertical.
11986
11987 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11988
11989         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11990         (gtk_window_set_default_size): don't change a value if it's < 0.
11991         queue a resize.
11992
11993 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11994
11995         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11996
11997 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11998
11999         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12000         add an extra "/" when concating "/" + filename.
12001         (From Matt Grossman <mattg@oz.net>)
12002
12003 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12004
12005         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12006         for fg_gc if we set it for drawing pixmap.
12007
12008 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12009
12010         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12011         
12012         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12013         already set, call old engine's destroy function and
12014         unref the old engine.
12015
12016 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12017
12018         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12019
12020 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12021
12022         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12023
12024 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12025
12026         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12027         expand behaviour changed.
12028
12029         * gtk/gtklabel.c (gtk_label_set_pattern):
12030         (gtk_label_set_justify):
12031         (gtk_label_set_line_wrap):
12032         don't bother invoking queue_clear, the reallocation does
12033         that for us, always free_words so the upcoming resize will
12034         relayout the label's contents.
12035
12036 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12037
12038         * applied argument implementation patches from Elena Devdariani
12039         <elena@cogent.ca>.
12040
12041         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12042         ::space_style, ::relief
12043         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12044         * gtk/gtkpreview.c: ::expand
12045         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12046         * gtk/gtknotebook.c: ::homogeneous
12047         * gtk/gtklabel.c: ::wrap
12048         * gtk/gtklist.c: ::selection_mode
12049         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12050         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12051         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12052         * gtk/gtkclist.c: ::sort_type
12053         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12054         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12055
12056 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12057
12058         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12059         comment.
12060
12061 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12062
12063         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12064         counting right when we have to attach a new style
12065         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12066
12067         * gtk/gtkstyle.c: Documented the refcounting
12068         peculularities of gtk_style_attach.
12069
12070 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12071
12072         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12073         window types.
12074
12075         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12076         of GTK_TOPLEVEL for creating the window.
12077
12078 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12079
12080         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12081         the last argument (reported by Per Winkvist).
12082         
12083 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12084
12085         Fixes for invisible XOR lines (Frank Loemker
12086         <floemker@TechFak.Uni-Bielefeld.DE>)
12087         
12088         * gtk/gtkclist.c (gtk_clist_realize): Always use
12089         a non-zero pixel for GDK_XOR.
12090
12091         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12092         Use GDK_INVERT instead of GDK_XOR.
12093
12094 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12095
12096         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12097         signals if h/voffsets differ from adjustment values.
12098         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12099
12100 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12101
12102         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12103         ::selection-done emissions up to the topmost menu shell.
12104
12105 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12106
12107         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12108         the user data on the window before destroying it.
12109
12110         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12111         unrealize handler to take care of destroying 
12112         notebook->panel properly. 
12113         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12114
12115         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12116         of g_new and g_realloc to stop memory leak. (Actually,
12117         we could just use g_realloc(), but I'm not 100% sure
12118         that is portable).
12119         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12120
12121 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12122
12123         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12124
12125         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12126         for fontsets.
12127
12128         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12129         with bin/button confusion.
12130
12131 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12132
12133         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12134         and show how preselection of radio items is done.
12135
12136 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12137
12138         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12139         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12140         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12141         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12142         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12143         * gtk/gtktable.c (gtk_table_attach): 
12144         * gtk/gtklist.c (gtk_list_insert_items): 
12145         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12146         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12147         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12148         * gtk/gtkbin.c (gtk_bin_add): 
12149         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12150         * gtk/gtkfixed.c (gtk_fixed_put): 
12151         * gtk/gtklayout.c (gtk_layout_put):
12152         general fixups to container_add logic. always realize child if
12153         child->parent is realized, only map the child and queue a resize
12154         if child and child->parent are both visible.
12155
12156 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12157
12158         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12159         instead of gtk_container_foreach to walk and unrealize children, so
12160         composite children get also unrealized.
12161         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12162         (gtk_widget_map): assert that the widget is visible (basic constrain).
12163         (gtk_widget_real_map): assert that the widget is realized (basic
12164         constrain).
12165
12166 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12167
12168         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12169
12170 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12171
12172         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12173         file for iso-8859-2 locales.
12174
12175         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
12176
12177 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
12178
12179         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
12180          (Pointed out by andy@rz.uni-karlsruhe.de and others).
12181          Remove some suspicious and useless lines. 
12182
12183 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
12184
12185         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
12186         width,height = 0, 0 to mean - here to edge of window,
12187         instead of -1, -1, since the former is all we support.
12188
12189 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
12190
12191         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
12192         when removing from quit_functions list.
12193
12194 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
12195
12196         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
12197
12198 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
12199
12200         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
12201          When redrawing characters on non-visible entry, use appropriate
12202          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
12203
12204 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
12205
12206         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
12207         from drag coordinates.
12208         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
12209         use drag_dest_cell.
12210
12211         * gtk/gtktree (drag_dest_cell)
12212         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
12213         (Bug #1129)
12214
12215 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
12216
12217         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
12218         translate_* fields.
12219         (gtk_item_factory_finalize): invoke translate_notify independant from
12220         translate_data.
12221         (gtk_item_factory_set_translate_func): likewise.
12222         (gtk_item_factory_destroy): only remove ifactory pointer from those
12223         widgets that belong to us (stupid me).
12224
12225 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
12226
12227         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
12228         rc_style list when lookup succeeeds.
12229
12230 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
12231
12232         * gtk/gtkctree.c (resync_selection): 
12233         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
12234         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
12235         bug.
12236
12237 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
12238
12239         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
12240         Add some missing GDK_THREADS_ENTER()/LEAVE around
12241         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
12242
12243 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
12244
12245         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
12246         rather than emit_by_name.
12247
12248         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
12249         on the widget across multiple signal emissions.
12250         (gtk_editable_delete_text): same here.
12251         (gtk_editable_class_init): set widget_class->activate_signal after
12252         editable_signals[ACTIVATE] has been created.
12253
12254 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
12255
12256         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
12257         position here prematurely -- we might not have the
12258         right ->min_position and ->max_position yet.
12259
12260 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12261
12262         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
12263         Add error traps so if the other end of the connection
12264         dies, we survive.
12265
12266         * gtk/gtkselection.c (gtk_selection_notify): Clean
12267         up properly when selection property retrieval fails.
12268         
12269         * gtk/gtkselection.c (gtk_selection_request): Correctly
12270         reject SelectionRequest notifies where the handler
12271         returns no data.
12272
12273 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12274
12275         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
12276         when we've previously highlighted.
12277
12278         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
12279         emit two "drag_leave" signals for Motif drops.
12280
12281         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
12282         back the correct status messages when dropping from
12283         Motif onto a proxy window that is rejecting the
12284         drop.
12285
12286 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
12287
12288         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
12289         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
12290         to compare two argument values. added gtk_arg_to_valueloc() to set a
12291         variable from an arg through its location (pointer).
12292
12293         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
12294         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
12295         as gfloat*, uchars are collected as guchar*, ints are collected as
12296         gint*, etc...
12297
12298 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
12299
12300         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
12301         Include <string.h> instead of <strings.h>.
12302
12303         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
12304         (actually, a lot more duplicate includes occur if
12305          you trace through the sequence of #include's)
12306         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
12307         
12308 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12309
12310         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12311         gtk-a-higuti-990322-[0-3]
12312
12313         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12314         that was causing -DX_LOCALE not to work.
12315
12316         * gtk/gtkrc.c (gtk_rc_init):
12317         X_LOCALE will never have LC_MESSAGES defined
12318
12319 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
12320
12321         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
12322         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
12323
12324         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
12325         left/right as well (gtk-michael-980726-0.patch.gz).
12326
12327         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
12328         for pointer values, use gchar instead of char. fixed uline allocation
12329         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
12330         chunks instead of G_ALLOC_ONLY.
12331         (gtk_label_size_request): always alter requisition as passed and leave
12332         widget->requisition alone.
12333         (gtk_label_set_text): allow NULL strings.
12334         (gtk_label_new): likewise.
12335
12336 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
12337
12338         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
12339
12340 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
12341
12342         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
12343         *and* mapped (i.e. drawable).
12344         (gtk_bin_expose): only send exposes to drawable children.
12345
12346         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
12347         (gtk_box_expose): only send exposes to drawable children.
12348
12349         * gtk/gtkhscale.c (gtk_hscale_draw): 
12350         * gtk/gtkvscale.c (gtk_vscale_draw):
12351         hm, this is an ugly one. we first compute the size of our trough area
12352         here (window relative) and then check intersection with the draw_area
12353         which is parent relative because we're a NO_WINDOW widget, so we need
12354         to offset the trough area by allocation.x and allocation.y before the
12355         check. (this must not be done for the background area though, since
12356         that's already computed parent relative).
12357
12358 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
12359
12360         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
12361         unrealize title buttons.
12362
12363 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
12364
12365         * gtk/gtkclist.c (gtk_clist_column_title_passive)
12366         (gtk_clist_column_title_active): 
12367         only connect/disconnect to GtkWidgetClass::event to block mouse events.
12368
12369         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
12370         zero initialize event, removed superfluous gdk_window_get_pointer call
12371
12372         * gtk/gtklist.c (gtk_list_vertical_timeout)
12373         (gtk_list_horizontal_timeout): removed superfluous
12374         gdk_window_get_pointer call
12375
12376 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12377
12378         * plugging problems reported by "Bruce Mitchener, Jr."
12379         <bruce@puremagic.com> due to a purify session.
12380
12381         * gtk/gtkstyle.c:
12382         (gtk_style_ref): 
12383         (gtk_style_unref): assert ref_count to be > 0.
12384
12385         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
12386         the requisition.
12387         (gtk_clist_set_shift): likewise.
12388
12389         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
12390         adjustments.
12391
12392         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
12393         event before sending it and set send_event to TRUE (which needs to
12394         be done for *all* synthesized events).
12395         (gtk_list_vertical_timeout): likewise.
12396
12397         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
12398         leaks.
12399
12400         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
12401         to TRUE when synthesizing events.
12402
12403 [ *** end of merges from 1.2 *** ]      
12404         
12405 1999-11-21  Tor Lillqvist  <tml@iki.fi>
12406
12407         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
12408         (or copied from gdkconfig.h.win32 on Win32, sigh).
12409
12410         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
12411
12412         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
12413
12414         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
12415
12416         * gdk/gdkconfig.h.win32: New file.
12417
12418         * gdk/win32/makefile.cygwin: Build just a static archive here.
12419
12420         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
12421         for the DLL from the static archive built above.
12422
12423         * gdk/gdk.def: Moved here from the win32 subdirectory.
12424
12425         * gdk/win32/*: Adapt for the changed private struct organisation.
12426
12427         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
12428
12429 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
12430
12431         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
12432         for wheel mice (buttons 4 and 5).
12433
12434 1999-11-18  Tor Lillqvist  <tml@iki.fi>
12435
12436         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
12437         drawables use just the pixel field in the foreground and
12438         background GdkColor of the GdkGC.
12439
12440         gdk_gc_set_{fore,back}ground() are called in the GIMP with
12441         GdkColors containing uninitialized (red,green,blue) fields, and
12442         just the pixel field filled in, and furthermore in the
12443         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
12444         It thus turns out that we really don't need to have the full
12445         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
12446         it later to have just the pixel values.
12447
12448 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
12449
12450         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
12451
12452 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
12453
12454         * docs/gtkfaq.sgml: threads example from Erik Mouw.
12455         New question on GtkLabel background colors.
12456
12457         * docs/gtk_tut.sgml:
12458           - Correct the example code callback
12459             function definitions.
12460           - Update the gtkdial example code, from Frans van Schaik.
12461           - Update setselection.c to current API.
12462
12463         * examples/Makefile examples/*/*.c: Update to code
12464         listed in tutorial.
12465
12466 1999-11-10  Tor Lillqvist  <tml@iki.fi>
12467
12468         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
12469         subrange table (from the "Developing International Software for
12470         WIndows 95 and Windows NT" book) was missing the Hangul syllable
12471         block... Get the loaded font's charset correctly.
12472
12473         (Note that this, and the other *-win32.c files, still really are
12474         the old ones, the win32 subdirectory is not ready for compilation
12475         yet after the reorg.)
12476
12477 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
12478
12479         * gtk/gtkclist.c: Fix off-by-one bug in parameter
12480         check.
12481
12482 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
12483
12484         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
12485         on results of XQueryDeviceState().
12486
12487 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
12488
12489         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
12490         we need to accesss only ->children. We need an accessor
12491         for the children.
12492
12493         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
12494         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
12495         to get rid of gdkx.h include.
12496         
12497         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
12498         and random references to 'None'.
12499
12500         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
12501         Get rid of unused #include <gdk/gdkx.h>
12502
12503         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
12504         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
12505         gdkconfig.h.
12506
12507 1999-11-08  Tor Lillqvist  <tml@iki.fi>
12508
12509         * gdk/win32/gdkdraw.c
12510         * gdk/win32/gdkfont.c
12511         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
12512         following yesterday's changes. (Unrelated to Owen's reorg.)
12513
12514 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
12515
12516         * gdk/x11/gdkinput-gxi.c: Add missing include,
12517           fix GdkWindowPrivate => GdkDrawablePrivate.
12518
12519         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
12520
12521         * gdk/x11/Makefile.am (xinput_sources): Add missing
12522         backslash to fix building with --with-xinput=none
12523
12524 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
12525
12526         Move all X specific code into the x11/ directory.
12527         Aside from shuffling things around, did the following:
12528
12529        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
12530          gdk_arg_context_* - a simple argument parsing system
12531          in the style of popt.
12532
12533        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
12534          gdk/x11/gdkprivate-x11.h:
12535          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
12536          add ->klass and ->klass_data fields. The klass_data
12537          field points to an auxilliary structure that is
12538          windowing system dependent.
12539
12540        * gdk/gdkfont.c: Make most of the measurement functions
12541          simply wrappers around gdk_text_extents().
12542
12543        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
12544          _gdk_font_strlen() function that hides the weird
12545          behavior in gtk+-1.[02] where a string is interpreted
12546          differently for 8-bit and 16-bit fonts.
12547
12548        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
12549          to store common code for synthesizing double/triple
12550          press events.
12551         
12552        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
12553          Make all the function that modify an existing GC
12554          simply wrappers around gdk_gc_set_values().
12555          
12556        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
12557          for throwing out later.
12558
12559        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
12560          GdkImagePrivate and GdkColormapPrivate to have a
12561          windowing system dependent part (GdkFontPrivateX etc.)
12562          that "derives" from the system-independent part.
12563
12564        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
12565          Got rid of the included-source-files for XInput in
12566          favor of automake conditionals. (Which didn't exist
12567          when XInput support was originally added.)
12568
12569        * gdk/gdkrgb.c: Remove the visual id from the debugging
12570          statements since that is X11 specific; print out
12571          type/depth info instead.
12572          
12573
12574 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
12575
12576         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
12577         loading duplicates of hashed fonts.
12578
12579         * gdk/gdk.c (gdk_keysym_convert_case): rename
12580         gdk_XConvertCase to gdk_keysym_convert_case, allow
12581         results to be NULL in the GTK+ style.
12582
12583         * gdk/gdkcompat.h: Started compatibility header
12584         for renames.
12585
12586 1999-11-07  Tor Lillqvist  <tml@iki.fi>
12587
12588         * gdk/win32/gdkprivate.h: New font private structures, related to
12589         fontsets.
12590
12591         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
12592         gdk_font_list_free(). On X11, will just be wrappers to
12593         XListFonts() and XFreeFontNames(). On Win32, the code previously
12594         in gtkfontsel.c is now here.
12595
12596         New function gdk_font_xlfd_create(). On X11 will get the FONT
12597         property of the font (for GDK_FONT_FONTs), or call
12598         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
12599         builds a XLFD style name from the font information in the LOGFONT
12600         struct(s).
12601
12602         New function gdk_font_xlfd_free(), which correspondingly frees the
12603         string returned by gdk_font_xlfd_create().
12604
12605         Implement fontsets on Win32. Add a function that iterates over a
12606         wide char string and calls a callback function for each substring
12607         of wide chars from the same Unicode subrange (and thus probably
12608         available in the same real font).
12609
12610         Improve the XLFD emulation a bit.
12611
12612         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
12613
12614         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
12615         Beta3, WM_IME_CHAR messages don't seem to contain the composed
12616         multi-byte char as with the Active IMM on Win9x. Oh well, handle
12617         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
12618         ImmGetCompositionStringW() to get the composed Unicode chars.
12619
12620         * gdk/win32/gdkgc.c
12621         * gdk/win32/gdkdraw.c: Changes needed because of the font private
12622         struct changes.
12623
12624         * gdk/win32/gdk.def: Add the new functions.
12625
12626 1999-11-04  Tor Lillqvist  <tml@iki.fi>
12627
12628         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
12629         get the Platform SDK to get <dimm.h>.
12630
12631         * gdk/win32/gdkevents.c: More event handling fixes and
12632         simplification. Never generate motion events with is_hint true. We
12633         used to do that on bogus grounds earlier. Windows sends
12634         WM_MOUSEMOVE messages on button events even if the mouse hasn't
12635         moved, ignore these.
12636
12637         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
12638
12639         * gdk/win32/gdkglobals.c
12640         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
12641         the TrackMouseEvent function, and use it.
12642
12643         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
12644         char before calling WideCharToMultiByte in order to get a string
12645         for the window title.
12646
12647         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
12648
12649         * gdk/win32/gdk.def: Remove obsolete functions.
12650
12651         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
12652         /nodefaultlib and /defaultlib switches.
12653
12654         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
12655
12656 1999-10-31  Tor Lillqvist  <tml@iki.fi>
12657
12658         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
12659         EuroSign).
12660
12661         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
12662         same type as GdkWChar, especially on Win32.
12663
12664         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
12665
12666         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
12667         before passing to Windows GDI for drawing etc. Convert to the
12668         system default codepage before passing to Windows as window
12669         titles.
12670
12671         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
12672         support changing input locale on the fly.
12673
12674         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
12675         on-the-fly changes. Convert incoming characters from the current
12676         codepage to Unicode (and then to a UTF-8 multi-byte string) based
12677         on the current input language. Use keysym<->Unicode mapping tables
12678         and functions borrowed from xterm sources.
12679
12680         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
12681         editions of Win9x, use the ActiveX-based Active IMM (Input Method
12682         Manager) if available. IMEs and the Active IMM are available under
12683         the disguise of Chinese, Korean and Japanese support for IE and
12684         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
12685         support is present in all editions (as long as you install it).
12686
12687         Call DispatchMessage from gdk_events_queue() (and thus
12688         gdk_WindowProc()), instead of duplicating the code in
12689         gdk_WindowProc().
12690
12691         Reworked the grab handling and propagation code, factored out
12692         duplicated code snippets into separate functions. Other cleanups,
12693         too.
12694
12695         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
12696         the <dimm.h> header describing the Active IMM.
12697
12698         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
12699         just do the same as for "single" fonts.
12700
12701         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
12702         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
12703         the new keysyms from gdkkeysyms.h.
12704
12705         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
12706         fontset, so that gtkentry uses wide characters.
12707
12708         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
12709         GTk+'s system directory "gtk+", not "gtk".
12710
12711 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
12712
12713         * docs/gtkfaq.sgml: FAQ update
12714
12715 1999-10-21  Tor Lillqvist  <tml@iki.fi>
12716
12717         * gdk/win32/gdkprivate.h: Add more font private data.
12718
12719         * gdk/win32/gdkfont.c
12720         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
12721         fonts and strings. Now works much better. You still have to
12722         have a correct font selected, though. No fontset emulation yet.
12723
12724 1999-10-19  Tor Lillqvist  <tml@iki.fi>
12725
12726         * gtk/maketypes.awk: Use G_OS_WIN32.
12727
12728         * gtk/gtk.def: Add some missing entry points. Also some non-public
12729         ones, but PyGTK porter claims to need them.
12730
12731         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
12732         built-in type generation.
12733
12734 1999-10-14  Tor Lillqvist  <tml@iki.fi>
12735
12736         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
12737         GDK_FONT_FONT fonts (which is all we have for now, we don't
12738         emulate fontsets). The X11 version uses plain XDrawString in that
12739         case, too. The string passed to gdk_draw_text_wc seems to be in
12740         fact (at least, when used by gtkentry and gtktext) either in a
12741         single-byte charset, or a DBCS. Not Unicode.
12742
12743         This fixes the problem in gtkfontsel, where even if you had
12744         selected a font with a non-Latin1 charset (windows-greek, for
12745         instance), the preview still used Latin-1 glyphs.
12746
12747         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
12748         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
12749         (gdk_font_load): Recognize the demibold etc weights, even if we
12750         don't have the corresponding constants in the headers.
12751         (gdk_font_hash_insert): Use same hash mechanism as in the X11
12752         version. Should save font resources a bit, when we don't have
12753         multiple HFONTs for the same font.
12754
12755         * gdk/win32/gdkprivate.h: Add the names field as in the X11
12756         version.
12757
12758 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
12759
12760         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
12761         X values
12762
12763 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
12764
12765         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
12766         layout support (as mentioned on
12767         http://www.jcinteractive.com/gnome-ui/software/widgets/)
12768
12769 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
12770
12771         * gtk/fnmatch.c
12772         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
12773
12774 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
12775
12776         * configure.in (ALL_LINGUAS): Added Galician (gl)
12777
12778 1999-10-05  Tor Lillqvist  <tml@iki.fi>
12779
12780         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
12781
12782         * gdk/win32/gdkcompat.c: New file, actually provide an
12783         implementation for the deprecated functions. (Just temporarily.)
12784
12785         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
12786
12787         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
12788
12789         * gdk/win32/gdk.def gtk/gtk.def: Updates.
12790
12791 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
12792
12793         * configure.in: Added "uk" to ALL_LINGUAS.
12794         
12795 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
12796
12797         * configure.in: correct checking for BeOS check
12798
12799         * gdk/gdktypes.h
12800         * gtk/fnmatch.c
12801         * gtk/gtkfilesel.c
12802         * gtk/gtkitemfactory.c
12803         * gtk/gtkmain.[ch]
12804         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
12805
12806 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12807
12808         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
12809         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
12810         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
12811         by Bulgarian). 
12812
12813 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
12814
12815         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
12816         Fix a reference to window_private->destroyed.   
12817
12818         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
12819         (ugly) setting of an internal GdkWindow member to use
12820         a _slightly_ cleaner macro.
12821
12822         * gdk/gdkprivate.h: Split GdkWindowPrivate into
12823         GdkDrawablePrivate and GdkWindowPrivate.
12824         Add extra macros for accessing GDK_DRAWABLE_ components.
12825
12826         * *.[ch]: Massive adjustments for the above, use the
12827         new macros in a lot of places.
12828
12829 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gdk/gdktypes.h: Make GdkDrawable the base type,
12832         not GdkWindow.
12833
12834 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
12835
12836         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
12837
12838 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
12839
12840         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
12841
12842 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
12843
12844         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
12845         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
12846
12847         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
12848
12849         * docs/gtk-config.1: Now autogenerated.
12850         * docs/Changes-1.4.txt: started
12851         
12852 1999-10-03  Tor Lillqvist  <tml@iki.fi>
12853
12854         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
12855         to #ifdef also here.
12856
12857         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
12858         Owen did to the X11 backend.
12859
12860         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
12861         ScrollWindowEx when blitting inside a window, it can't be correct
12862         in the general case.
12863
12864         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
12865         WM_GETMINMAXINFO is easier.
12866
12867         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
12868         depth equal to the bitspixel value, not the visual's depth.
12869
12870         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12871         to 24 even if the bitspixel value is 32.
12872
12873         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12874         need to check for depth==32 when bpp==32, depth will always be 24.
12875
12876 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12877
12878         * docs/Changes-1.4.txt: Started
12879         
12880         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12881
12882         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12883         
12884         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12885         into C file.
12886         
12887         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12888         header to gdkinputprivate.h.
12889
12890         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12891         unused since before 1.2.
12892
12893 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12894
12895         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12896         expand possible hex escapes in the font family (put there by
12897         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12898         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12899         On Win32, add hex escapes here, too.
12900
12901 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12902
12903         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12904         to #ifdef GDK_WINDOWING_X11.
12905
12906 [ Merges from gtk-1-2 ]
12907
12908 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12909
12910         * configure.in: fixed "GNU Make" check to pass with new make version
12911         3.77.95.
12912
12913 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12914
12915         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12916         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12917         AM_PATH_GTK() macros don't get confused by the -pre1.
12918
12919 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12920
12921         * configure.in (REBUILD): Change check for perl5
12922           to check explicitely for v >= 5.002. (5.001
12923           does not work with our scripts.)
12924
12925 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12926
12927         * configure.in: evaluate $PERL for the perl version check. added
12928         --disable-rebuilds to give the user an option to completely disable
12929         any source autogeneration rules.
12930
12931 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12932
12933         * configure.in: evaluate $ac_make when checking for GNU Make.
12934
12935 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12936
12937         * docs/Makefile.am: added generation.txt.
12938
12939         * Makefile.am: require automake 1.4, build README from README.in and
12940         INSTALL from INSTALL.in in dist-hook.
12941         
12942         * README.in:
12943         * INSTALL.in: new files to autogenerate README and INSTALL from.
12944
12945         * configure.in: figure whether we have GNU Make
12946
12947         * docs/generation.txt: minor additions/corrections.
12948
12949 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12950
12951         * docs/gtkfaq.sgml: FAQ Update
12952
12953 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12954         
12955         * configure.in: Fix autoconf warnings about cross compilation by
12956         trying to provide sane defaults for AC_TRY_RUN.
12957
12958 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12959
12960         * ltconfig
12961         * ltmain.sh: upgrade to libtool 1.3.3
12962
12963 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12964
12965         * INSTALL: Indicate that the --with-glib= configure
12966         time flag is unsupported.
12967
12968 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12969
12970         * docs/generation.txt: Added a file that gives
12971         documenation about the autogeneration process for
12972         various autogenerated files.
12973         
12974 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12975
12976         * configure.in (LIBS): Look for libgmodule in the
12977         right location.
12978
12979 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12980
12981         * docs/gtk_tut.sgml: Removed references to
12982         code examples in my directory on gtk.org as
12983         they should all be in the tutorial now.
12984
12985         * docs/gtk_tut.sgml: Added sources for dial-test
12986         and scribble-xinput programs that were previously
12987         missing.
12988
12989 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12990
12991         * TODO: Added entry about menu keyboard navigation, removed
12992         some finished items.
12993
12994 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12995
12996         * acinclude.m4: Standardize on func_dgettext
12997         not func_gettext, so that the checks for dgettext
12998         actually are paid attention to.
12999
13000 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13001
13002         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13003         directly, rather than repeating the checks for
13004         gettext.
13005
13006         * INSTALL: Added information about gettext and
13007         NLS support.
13008
13009         * acinclude.m4 (LIBM): Check for dgettext, not
13010         just gettext. This should hopefully fix things wrt
13011         systems with old versions of GNU gettext installed.
13012
13013 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13014
13015         * configure.in (LIBS): Look for libgmodule in the
13016         right location.
13017
13018 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13019
13020         * autogen.sh: add --enable-maintainer-mode
13021
13022         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13023
13024 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13025
13026         * docs/gtk-config.1.in:
13027           docs/Makefile.am:
13028           configure.in: gtk-config is now generated.
13029
13030         * docs/gtk-config.1: Removed, now generated.
13031
13032 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13033
13034         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13035         handle CreateNotify itself, still put out a debuging message for
13036         --gdk-debug=events. made the ReparentNotify debugging message more
13037         verbose.
13038         wrap xcoords translation for ConfigureEvents into an error trap,
13039         a destroy event may already be pending, and in that case, the
13040         actuall coordinate values are not at all critical.
13041
13042 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13043
13044         * gdk/gdkcc.c: Stop leaking the color_hash all over
13045         the place. Simplify and improve the logic.
13046
13047 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13048
13049         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13050         for prototypes and function implementations consistent (reported
13051         by Tomas Ogren).
13052
13053 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13054
13055         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13056         send_event set in debugging output.
13057         (gdk_compress_exposures): default initialize the event so we don't
13058         operate on bogus values (namely send_event).
13059
13060 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13061
13062         * gdk/gdkwindow.c: When we receive an unexpected
13063         destroy notify on one of our windows, don't just
13064         warn about it, also mark our windows as destroyed.
13065
13066 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13067
13068         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13069           name => font and name => fontset hashes. The 
13070           name => fontset hash is a _big_ win since we
13071           weren't previously caching fontsets at all and loading
13072           fontsets is expensive. The name => font hash
13073           is less of a win, but it does save us from doing
13074           repeated XQueryFont calls on the same font.
13075
13076         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13077           list so we can remove font/fontset from hash.
13078
13079 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13080
13081         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13082           and slightly confusing test. [ XInternAtom (,,TRUE)
13083           will never return None ].
13084
13085 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13086
13087         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13088           gdk/gdkwindow.c (gdk_window_set_hints):
13089
13090         Don't omit setting the properties if flags == 0 -
13091         there may be an existing set of properties there
13092         already. (Very old bug. Would it be better to
13093         delete the property instead?)
13094
13095         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13096           spelling error in comment.
13097
13098 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13099
13100         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13101           to avoid stomping over gdk_error_warnings.
13102
13103         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13104           as (bits_per_pixel + 7) / 8. This gives the same
13105           result as before for multiples of 8, but actually
13106           a "reasonable" value for 1bit or 4bit displays.
13107
13108 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13109
13110         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13111         GNU Make.
13112
13113 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13114
13115         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13116         discarding configure events.
13117
13118 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13119
13120         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13121         refcount is greater than zero.
13122
13123         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13124
13125         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13126
13127         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13128
13129         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13130
13131 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13132
13133         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13134         that format 32 => sizeof(item) == 4. It really is
13135         sizeof(long).
13136
13137 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13138
13139         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13140         core dump at all on X IO errors, only core dump
13141         if --enable-debug for X errors.
13142
13143 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13144
13145         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13146         unknown window:" message. disabled ConfigureNotify discarding code,
13147         because it led to events being processed out of order.
13148
13149 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13150
13151         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13152
13153         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13154         we export this function, supress error warnings and don't reset the
13155         error code in the first half of this function.
13156
13157         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13158         code (instead of just -1) so gdk_error_trap_pop() reveals something
13159         actually informative about the error that happened.
13160
13161         * gdk/*.c:
13162         don't rely on gdk_error_code being -1 if an error occoured, but just
13163         gdk_error_code != 0.
13164
13165 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13166
13167         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13168         pointer *before* invoking the filter function, so we at least don't
13169         crash if a filter is removed that is currently executed. window filters
13170         *really* need to be made truely reentrant at some point.
13171
13172 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13173
13174         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
13175         PropertyNotify debug messages.
13176
13177 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
13178         
13179         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
13180         
13181         * gdk/gdkim.c: Fix cut-and-paste errors for 
13182         x/y and PreeditAttributes/StatusAttributes.
13183
13184 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13185
13186         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
13187         G_MAXINT to 2^16 to alleviate overflow problems in
13188         various window managers.
13189
13190 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13191
13192         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13193         for fontsets.
13194
13195 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
13196
13197         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
13198         Initialize size_hints.x and size_hints.y because kwm
13199         brokenly pays attention to them.
13200         (Bug #1181 -  Lars Heete <hel@admin.de>)
13201
13202 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
13203
13204         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
13205         return value of gdk_list_visuals(). 
13206         (Bug #1193 - Morten Welinder <terra@diku.dk>)
13207
13208 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
13209
13210         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
13211         XSetIMValues to (void *) when comparing to NULL, to workaround
13212         the problem of some compilers barfing since older X headers don't
13213         have the prototype for it.
13214
13215 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
13216
13217         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
13218         for pseudocolor where colormap->colors was double
13219         allocated.
13220
13221         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
13222         color value in the hash table with the pixel filled
13223         in so when we do later hash table lookups, the color
13224         value is correct.
13225         
13226 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
13227
13228         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
13229         making the call
13230
13231 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
13232
13233         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
13234         pointed out by Morten Welinder <terra@diku.dk>.
13235
13236 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13237
13238         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13239           default filter from the list
13240
13241 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13242
13243         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13244           default filter from the list
13245
13246 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
13247
13248         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
13249
13250         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
13251         g_strdup_printf instead of calcing the length separately
13252
13253 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
13254
13255         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
13256         that we don't do in many other places. (Fixing duplicate 
13257         #include of config.h)
13258
13259         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
13260         Otherwise, #ifndef XINPUT_NONE check in the latter
13261         doesn't work. (Bug #546)
13262
13263 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
13264
13265         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
13266         "None" case insensitive.
13267
13268 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13269
13270         * gdk/gdkselection.c: 
13271         Add error traps so if the other end of the connection
13272         dies, we survive.
13273
13274 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13275
13276         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
13277         dest_xid field into two fields - one for the window
13278         to send in messages, one to indicate the last looked
13279         up window for caching purposes. This is needed, so
13280         that Leave messages get the correct window.
13281
13282 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
13283
13284         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
13285         Fix warning created by people mucking around
13286         with the gsource API.
13287
13288         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
13289         Change mapping between GIOCondition and GdkInputCondition
13290         to match the way the Linux kernel does it. This should
13291         fix problems where closed pipes were no longer signalling
13292         GDK_INPUT_READ on systems with a native poll().
13293
13294 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
13295
13296         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
13297         explicitly for the string "None" - it is in the XPM
13298         spec and some servers treat unknown colors in odd ways
13299         (like asking the user!)
13300
13301 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13302
13303         * gdk/gdkevents.c: made "->" into a "." of previous change so
13304         it compiles
13305
13306 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
13307
13308         * gdk/gdkevents.c (gdk_compress_exposures): Set the
13309         window field of the event structure before calling
13310         user filters.
13311
13312 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13313
13314         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
13315         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
13316
13317 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
13318
13319         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
13320         intermediate text property - prevents major memory
13321         leak when gdk_use_mb.
13322         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
13323
13324 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13325
13326         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13327         gtk-a-higuti-990322-[0-3]
13328
13329         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
13330         sizeof(wchar_t) != sizeof (GdkWChar)
13331
13332         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13333         that was causing -DX_LOCALE not to work.
13334
13335         * gtk/gtkrc.c (gtk_rc_init):
13336         X_LOCALE will never have LC_MESSAGES defined
13337
13338         * gdk/gdk.c (gdk_init_check):
13339         Remove --xim-preedit and --xim-status from argv properly.
13340
13341         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
13342         that the client window is present on the X server
13343         before we pass it to the input method.
13344
13345 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13346
13347         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
13348         if --display is specified on the command line, than
13349         the drag window will not be created on that display.
13350         
13351 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
13352
13353         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
13354         lookups with only_if_exists == TRUE were inserting
13355         bogus values into the atom cache.
13356
13357 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13358
13359         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
13360         then reset it to NULL.
13361
13362         * gdk/gdkcolor.c:
13363         (gdk_colors_free): 
13364         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
13365         key for g_hash_table_remove() in both functions, this prevents us
13366         from accessing possibly uninitialized portions of a GdkColor structure
13367         where we are only interested in its pixel value.
13368
13369 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13370
13371         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13372         font hash table, if we have a GdkFontPrivate entry for this font
13373         already, simply increment its reference count, provided by Olaf Dietsche
13374         <olaf.dietsche+list.gtk@netcologne.de>.
13375
13376 1999-09-21  Tor Lillqvist  <tml@iki.fi>
13377
13378         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
13379         just to be sure.
13380
13381         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
13382         unused variables, leftovers from the X11 version.
13383
13384         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
13385
13386         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
13387         downcase fields on X11.
13388
13389 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13390         
13391         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
13392         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
13393
13394 1999-09-17  Tor Lillqvist  <tml@iki.fi>
13395
13396         * gdk/win32/gdk.def: Add gdk_threads_mutex.
13397
13398         * gtk/makefile.msc: Correct path to libintl.
13399
13400         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
13401         use of gint vs. int, and gint vs. gboolean in headers and
13402         definitions. Use GtkType for the *_get_type functions. Note that
13403         these changes preserve binary compatibility.
13404
13405         * gdk/gdk.c
13406         * gdk/win32/gdk.c
13407         * gdk/gdk.h: Fix inconsistencies: gint vs int.
13408
13409         * gtk/gtkmain.c
13410         * gtk/gtkclist.c
13411         * gtk/gtkmenufactory.c
13412         * gtk/gtknotebook.c
13413         * gtk/gtkwidget.c: Fix inconsistencies, also gint
13414         vs. gboolean.
13415
13416         * gtk/gtkcolorsel.[ch]
13417         * gtk/gtkcombo.[ch]
13418         * gtk/gtkdrawingarea.[ch]
13419         * gtk/gtkgamma.[ch]
13420         * gtk/gtkhandlebox.[ch]
13421         * gtk/gtkhpaned.[ch]
13422         * gtk/gtkhruler.[ch]
13423         * gtk/gtkplug.[ch]
13424         * gtk/gtkpreview.[ch]
13425         * gtk/gtkruler.[ch]
13426         * gtk/gtksocket.[ch]
13427         * gtk/gtkstatusbar.[ch]
13428         * gtk/gtktoolbar.[ch]
13429         * gtk/gtkvbbox.[ch]
13430         * gtk/gtkvpaned.[ch]
13431         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
13432         functions.
13433
13434         * gtk/gtkgamma.h: Fix bug, missing () in call of
13435         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
13436
13437 1999-09-14  Tor Lillqvist  <tml@iki.fi>
13438
13439         * gdk/gdkcolor.c (gdk_colormap_new)
13440         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
13441         colormap->colors was allocated twice.
13442
13443         * gdk/win32/gdk.c: Remove some unused stuff.
13444
13445         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
13446         colormap.
13447
13448         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
13449         * gtk/gtklabel.h (gtk_label_get_type)
13450         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
13451         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
13452         in a couple of places, not guint.
13453
13454 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13455
13456         * configure.in,po/et.po: added Estonian language file
13457
13458 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
13459
13460         * configure.in,po/da.po: added Danish file
13461
13462 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
13463
13464         * docs/gtkfaq.sgml: Minor FAQ Update
13465
13466 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
13467
13468         * docs/gtkfaq.sgml: FAQ update
13469
13470 1999-08-27  Tor Lillqvist  <tml@iki.fi>
13471
13472         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
13473         way to get window contents continually refreshed while resizing. I
13474         didn't like the effects myself, so it's not on by default.
13475
13476         * gdk/win32/gdkprivate.h: New flag variable
13477         gdk_event_func_from_window_proc, FALSE by default.
13478
13479         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
13480         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
13481         are passed --gdk-event-func-from-window-proc.
13482
13483         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
13484         and we have am event_func, call it instead of enqueing the event.
13485
13486 1999-08-23  Tor Lillqvist  <tml@iki.fi>
13487
13488         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
13489         Kelley: Set expose_count in GdkEventExposes correctly.
13490
13491         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
13492         MULTIPLE_WINDOW_CLASSES).
13493
13494         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
13495         for bug in NT, apparently NT *does* draw the end pixel, too, in
13496         LineTo with a one-pixel pen, so we don't have to do it ourselves.
13497
13498 1999-08-21  Tor Lillqvist  <tml@iki.fi>
13499
13500         Improvements by Hans Breuer: 
13501
13502         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
13503
13504         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
13505         CS_?REDRAW flags as they cause lots of (late) redraws when "show
13506         window contents while dragging" is turned on. Allocate at least
13507         one unique class for every GdkWindowType. If support for single
13508         window-specific icons is ever needed (eg. Dialog specific), every
13509         such window should get its own class.
13510
13511 1999-08-19  Tor Lillqvist  <tml@iki.fi>
13512
13513         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
13514         error that caused crashes.
13515
13516 1999-08-17  Tor Lillqvist  <tml@iki.fi>
13517
13518         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
13519         window, use ScrollWindowEx, and call UpdateWindow. This prevents
13520         bugs when for instance part of the window was outside the
13521         display. Thanks to Philippe Colantoni for finding and fixing this.
13522
13523 1999-08-16  Tor Lillqvist  <tml@iki.fi>
13524
13525         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
13526         endpoint calculations which were totally wrong. (A little RTFMing
13527         helps a lot ;-)
13528
13529         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
13530         from a separate directory, not from gettext, because of licensing
13531         issues (we want to use the LGPL version).
13532
13533         * README.win32: Mention the intl from glibc vs from gettext issue.
13534
13535 1999-08-13  Tor Lillqvist  <tml@iki.fi>
13536
13537         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
13538         in the key event handling: Now AltGr chars work again. Also,
13539         now Alt-digits are passed up as well as Control-digits.
13540         Pass keypad plus and minus as normal plus and minus.
13541
13542 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13543
13544         * docs/gtkfaq.sgml: FAQ Update
13545
13546 1999-07-25  Tor Lillqvist  <tml@iki.fi>
13547
13548         * README.win32
13549         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
13550         the Wintab SDK.
13551
13552         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
13553         OK, but getting closer. Guard against bogus tilt data from Wacom
13554         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
13555         enable easier building without Wintab.
13556
13557         * gdk/win32/gdkinput.h
13558         * gdk/win32/gdkevents.c 
13559         * gdk/win32/gdkwindow.c: Minor changes related related to above.
13560         
13561         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
13562         code. As we have just one visual on Win32, no sense to have it in a
13563         table, and no need for the hash table.
13564
13565         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
13566         better on white background.
13567
13568 1999-07-21  Tor Lillqvist  <tml@iki.fi>
13569
13570         * README.win32: Update gcc build instructions. Mention gettext is
13571         GPL.
13572
13573         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
13574         supported cursor size with GetSystemMetrics.
13575
13576         * gdk/win32/gdkfont.c
13577         * gtk/gtkfontsel.c: Guard against some font weight and charset
13578         symbols being undefined (in mingw32 headers).
13579
13580         * gdk/win32/makefile.cygwin
13581         * gtk/makefile.cygwin
13582         * gtk/gtkthemes.c: No longer need to have differently named
13583         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
13584
13585 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
13586
13587         * docs/gtkfaq.sgml: Long awaited FAQ update.
13588
13589 1999-07-15  Tor Lillqvist  <tml@iki.fi>
13590
13591         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
13592         it. Obscure bit manipulation needed.
13593
13594         * gdk/win32/gdkevents.c: Logging.
13595         
13596         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
13597         style (file name include compiler name) for theme engines.
13598
13599 1999-07-13  Tor Lillqvist  <tml@iki.fi>
13600
13601         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
13602
13603         * gdk/win32/gdkevents.c: Fix long-standing bug in key
13604         events. The key.string wasn't zero-terminated, still we strdup'ed
13605         it in gdk_event_copy(). Synthesize crossing events for button
13606         events before possible propagation.
13607
13608         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
13609
13610         * gdk/win32/makefile.cygwin
13611         * gtk/makefile.cygwin: Use new DLL naming style for the
13612         GCC-compiled ones.
13613
13614         * gdk/win32/makefile.msc
13615         * gtk/makefile.msc: Cosmetics mostly.
13616
13617         * gtk/gtk.def: Add missing entry points.
13618
13619         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
13620
13621 1999-07-09  Tor Lillqvist  <tml@iki.fi>
13622
13623         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
13624         or height is zero. Don't print a warning if Pie or Arc fails, they
13625         always fail (?) for very narrow ellipses.
13626
13627         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
13628         the part or the destination window corresponding to source area
13629         outside of the source drawable's boundary.
13630
13631         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
13632         anything if less than two points.
13633
13634         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
13635         return NULL. Gtk cut-and-paste inside a single program works
13636         better this way. (It always gets the clipboard contents from
13637         Windows, not from its own copy, which is cleared anyway. I can't
13638         say I fully understand what happens... Emulating the X selection
13639         and property stuff is a bit of a mess.)
13640
13641         * gdk/win32/gdkevents.c
13642         * gdk/win32/gdkproperty.c: A bit more verbose logging.
13643
13644         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
13645         that never got deleted). Revamp gdk_region_shrink.
13646
13647         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
13648         after use.
13649
13650         * gtk/gtk.def: Add some missing entry points.
13651
13652         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
13653         component.
13654
13655 1999-07-04  Tor Lillqvist  <tml@iki.fi>
13656
13657         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
13658         Control-digits specially.
13659
13660 1999-07-03  Tor Lillqvist  <tml@iki.fi>
13661
13662         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
13663
13664 1999-06-28  Tor Lillqvist  <tml@iki.fi>
13665
13666         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
13667         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
13668         finding this.)
13669
13670 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
13671
13672         * gtk+.spec.in: Corrected some typos in files section.
13673         
13674 1999-06-15  Tor Lillqvist  <tml@iki.fi>
13675
13676         * README.win32: Mention using GNU gettext.
13677         * config.h.win32: Enable NLS stuff.
13678         * gtk/makefile.msc: Use GNU gettext.
13679         * gdk/win32/gdkdnd.c: Minor header reorg.
13680         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
13681         cosmetics.
13682         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
13683         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
13684
13685 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
13686
13687         * acinclude.m4
13688         * config.guess
13689         * config.status
13690         * ltconfig
13691         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
13692
13693 1999-05-30  Tor Lillqvist  <tml@iki.fi>
13694
13695         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
13696         SafeAdjustWindowRectEx. Don't override all calls to
13697         AdjustWindowRectEx by it, but use it only in two places: When
13698         creating a new top-level window and when moving a top-level
13699         window.
13700
13701         Use screen coordinate rectangle, not client rectangle, in
13702         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
13703         when we try to place a window so that the decoration (mainly,
13704         title bar) isn't visible.
13705
13706         These changes fix the bug that showed up for instance as the
13707         GIMP's saved top-level windows moving right and down (by an amount
13708         equal to the window decoration) for each session. This bug showed
13709         up also in testgtk's "Saved Position".
13710
13711         gdk_window_resize also redone a bit.
13712
13713 1999-05-25  Tor Lillqvist  <tml@iki.fi>
13714
13715         * gtk/testgtkrc: Add (commented out) Windows-style theme
13716         include line.
13717
13718         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
13719
13720 1999-05-18  Tor Lillqvist  <tml@iki.fi>
13721
13722         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
13723         gdkx.h to a gdk subdirectory, so that applications can include
13724         these with <gdk/*.h> without trouble.
13725
13726         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
13727         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
13728         have their bitmap destroyed.
13729
13730         * gdk/win32/gdk.def: Add gdk_root_parent.
13731
13732 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
13733
13734         * configure.in
13735           gtk-config.in
13736           ltconfig
13737           ltmain.sh     
13738           gtk/Makefile.am: changes to compile nicely (with xlib) 
13739           on BeOS
13740
13741 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
13742
13743         * acinclude.m4
13744         * config.guess
13745         * config.sub
13746         * ltconfig
13747         * ltmain.sh: upgrade to libtool 1.3
13748
13749 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
13750
13751         * gtk/gtkclist.c:
13752         * gtk/gtkctree.c: merges from gtk-1-2
13753
13754 1999-04-25  Tor Lillqvist  <tml@iki.fi>
13755
13756         Support added for building using a GNU toolchain on Win32,
13757         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
13758
13759         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
13760         * config.h.win32: Changes for gcc.
13761         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
13762         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
13763         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
13764         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
13765         Protect shl stuff unavaiilable with mingw32 headers.
13766         * gdk/win32/gdkevents.c: Fix typo.
13767         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
13768         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
13769         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
13770         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
13771         the mingw32 headers.
13772         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
13773         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
13774         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
13775         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
13776         Test for NATIVE_WIN32, not _MSC_VER.
13777         * gtk/gtkmain.c: No use warning about developer version on Win32,
13778         there aren't any non-developer versions anyhow.
13779         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
13780         * gtk/makefile.msc: Use pthread from another directory. Minor other
13781         changes. 
13782
13783 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
13784
13785         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
13786           default filter from the list
13787
13788 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
13789
13790         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
13791          when gtk_widget_grab_default() is called for a widget that
13792          is not within a GtkWindow.
13793
13794 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
13795
13796         * docs/gtk_tut.sgml, examples/clist.c: use a
13797           scrolled window in the clist example. Minor
13798           tutorial fixes.
13799
13800 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
13801
13802         * docs/gtk_tut.sgml: Style check from David King
13803           <dking@youvegotmail.net>
13804
13805 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
13806
13807         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
13808         compile with unknown value of GDK_WINDOWING
13809
13810 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
13811
13812         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
13813         after the rule is fired.
13814         (install-exec-local): Install gdkconfig.h only if the contents are
13815         different from the currently installed gdkconfig.h.
13816
13817 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
13818
13819         * gdk/Makefile.am (configexecincludedir): Rename from 
13820         configincludedir so that gdkconfig.h will be installed 
13821         as part of `make install-exec'. 
13822
13823 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
13824
13825         * acinclude.m4
13826         * config.guess
13827         * config.sub
13828         * ltconfig
13829         * ltmain.sh: upgrade to libtool 1.2f
13830
13831         * autogen.sh: libtool is not required to autogen gtk+
13832
13833         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
13834         needed)
13835
13836 1999-03-18  Tor Lillqvist  <tml@iki.fi>
13837
13838         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
13839         declaring gdk variables exported/imported from the DLL. New image
13840         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
13841         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
13842         GDK_DRAG_PROTO_OLE2.
13843
13844         * gdk/gdk.h: Merge in Win32 version: Two new functions,
13845         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
13846         declared only for the Win32 version, but could be in the X11
13847         version as well. (Needed for a Xlib-less gdk_imlib.)
13848         gdk_color_hash should have only one parameter. Declare
13849         gdk_threads_mutex with GDKVAR.
13850         
13851         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
13852         just one parameter.
13853
13854         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
13855         per pixel, not bits.
13856
13857         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
13858         Fetch bpp (which means bits-per-pixel here) from another place on
13859         Win32. Accept also depth==32 (which we might get on Win32) with
13860         bpp==32.
13861
13862         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
13863         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
13864         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
13865         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
13866         in the backend-dependent directory, not in the common gdk
13867         directory.
13868
13869         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
13870         headers.
13871
13872 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13873
13874         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13875         want to use the Gtk+ devel version (which is true, and yes - even i am
13876         currently working with the 1.2.x branch). so everyone reading this, you
13877         probably want to issue
13878         cvs checkout -r glib-1-2 glib
13879         and
13880         cvs checkout -r gtk-1-2 gtk+
13881         as your next two comands.
13882
13883 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13884
13885         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13886         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13887
13888         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13889         file. strongly deprecated the GTK_HAVE_* macros, we provide
13890         GTK_CHECK_VERSION() for people that need to check for certain
13891         Gtk+ versions.
13892
13893         * gtk/gtkcompat.h: removed this from CVS.
13894         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13895         idea right from the start, it just didn't seem like that back then.
13896
13897 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13898
13899         * merges from gtk-1-2:
13900
13901 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13902
13903         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13904         item factory class has been created.
13905         (gtk_item_factory_parse_rc): likewise.
13906
13907         * gtk/gtkmenu.c:
13908         keep proper references for old_active_menu_item.
13909         (gtk_menu_reparent): unset the usize of the new parent,
13910         so the menu can sanely be size requested and we don't get nasty screen
13911         artefacts upon next reparentation.
13912         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13913         enter notify. only synthesize enter notifies if the pointer really is
13914         inside the event window.
13915         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13916         (gtk_menu_popup): move the background setting stuff into
13917         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13918
13919         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13920         gtk_menu_shell_select_item() to select the new item.
13921         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13922         do the right thing for deselection as well.
13923
13924 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13925
13926         * gtk/gtkwidget.[hc]:
13927         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13928         are locked.
13929
13930         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13931         existing accelerators if the widget's accelerators are locked.
13932
13933 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13934
13935         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13936
13937         * gtk/gtkmenu.c: truely forward key press and key release events to
13938         the menu widget from the toplevel or tearoff window. we can't simply
13939         connect to that, we need to stop further processing of the events as
13940         well.
13941
13942 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13943
13944         * gtk/gtkmenu.c:
13945         (gtk_menu_key_press): pass event->keyval, event->state to
13946         gtk_accelerator_valid, instead of event->keyval twice.
13947         refuse to install single letter accelerators for menus that use
13948         single letter shortcuts.
13949
13950         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13951         gtk_menu_ensure_uline_accel_group().
13952
13953         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13954         which will always return an uline accel group, made
13955         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13956         yet created.
13957
13958 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13959
13960         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13961
13962         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13963         Leave button sensitive, trap  button_press, button_release,
13964         motion_notify, enter_notify and leave_notify events instead.
13965         (gtk_clist_column_title_active): disconnect event handler.
13966         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13967         Guillaume Laurent <glaurent@worldnet.fr>
13968
13969 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13970
13971         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13972         width/height mixups.
13973
13974         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13975         if needed.
13976
13977 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13978
13979         * gtk/testgtk.c (create_item_factory): unref the item factory after
13980         window's destruction.
13981
13982         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13983         count on the menu shell around the menu item's activation, since the
13984         signal emission may cause menu shell destruction.
13985
13986         * gtk/gtkitemfactory.c:
13987         the previous code leaked one accel group per menu. we use
13988         gtk_menu_get_uline_accel_group() now to fix that, and with that
13989         also create the underline accelerator group of the menus only if
13990         required (i.e. an underline accelerator has been specified).
13991         (gtk_item_factory_construct):
13992         (gtk_item_factory_create_item): removed code that would create an
13993         extra accel group for the menu (and leak references).
13994         (gtk_item_factory_create_item): adapted the underline accelerator
13995         installation code to properly feature gtk_menu_get_uline_accel_group().
13996
13997         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13998         menu->accel_group, this may return NULL if the accelerator group
13999         hasn't been set yet.
14000         added gtk_menu_get_uline_accel_group() to retrive the underline
14001         accelerator group of the menu, this will be created on demand
14002         and proper care is taken about its reference count.
14003
14004         * gtk/gtkitemfactory.h:
14005         * gtk/gtkitemfactory.c:
14006         dumped the approach of keeping a widgets by action list on the
14007         factory since the factory<->widget destroy negotiation didn't work
14008         and would be hard to get going at all. instead we keep a list of
14009         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14010         persistant throughout a program's life time).
14011         also, i removed the static const gchar *key_* variables, and made
14012         them inline strings (they weren't actually used anyways).
14013         (gtk_item_factory_add_item): update ifactory->items.
14014         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14015         the item factory pointer from the remaining ifactory widgets).
14016         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14017         list to find the widget.
14018         (gtk_item_factory_get_item): new function that works around
14019         gtk_item_factory_get_widget() limitations, this function will only
14020         return menu items, even for <Branch> entries.
14021
14022 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14023
14024         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14025         font hash table, if we have a GdkFontPrivate entry for this font
14026         already, simply increment its reference count, provided by Olaf Dietsche
14027         <olaf.dietsche+list.gtk@netcologne.de>.
14028
14029         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14030         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14031
14032 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14033
14034         * gtk/gtkcontainer.c:
14035         (gtk_container_add_with_args):
14036         (gtk_container_addv):
14037         (gtk_container_add): before adding a child to a conatiner, make sure
14038         it is (default) constructed, this is neccessary because under certain
14039         circumstances the child will get relized and mapped immediatedly, in
14040         which case it has to be constructed already.
14041
14042 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14043
14044         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14045         values > 1 as TRUE also.
14046
14047 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14048
14049         * README.win32: New file.
14050                 
14051         * configure.in: Check for lstat.
14052
14053         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14054         completeness.
14055
14056         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14057
14058         * gtk/gtk.def: Removed CRs.
14059
14060         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14061         ..\gdk\win32).
14062
14063         * gdk/win32/makefile.msc: Correct upwards relative paths.
14064         
14065 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14066
14067         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14068           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14069           it was connecting a void function to expose_event and the int
14070           returning function to the draw signal
14071
14072 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14073
14074         * configure.in:
14075         Use correct path to libgmodule.la when ref'ing uninstalled copy
14076         of glib.  (Already in stable branch, Bug #417)
14077
14078 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14079
14080         Win32 merge and general portability stuff:
14081                 
14082         * acconfig.h,configure.in: Check for <sys/time.h>.
14083
14084         * gdk/win32: New directory (actually, been there for a while).
14085         
14086         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14087         NATIVE_WIN32, and use these. Always case fold on Win32. No
14088         backslashed escapes on native Win32.
14089
14090         * gtk/{gtk.def,makefile.msc}: New files.
14091
14092         * gtk/Makefile.am: Add above new files.
14093         
14094         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14095         instead of <strings.h>.
14096
14097         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14098         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14099         <unistd.h> appropriately.
14100
14101         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14102         Use ABS() (from <glib.h>) instead of abs().
14103         
14104         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14105         of gtk (and thus glib) headers, so that WIN32 will be
14106         defined. With MS C, include <direct.h> for mkdir prototype.
14107
14108         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14109         some casts, needed by MS C.
14110
14111         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14112         implemented).
14113
14114         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14115         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14116         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14117
14118         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14119                 
14120         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14121         the event is not a hint, or its window is not the slider. Needed
14122         on Win32, at least.
14123
14124         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14125         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14126         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14127         a subdirectory of the Windows directory as gtk system
14128         configuration directory.
14129
14130         * gtk/gtkselection.c: No chunks on Win32.
14131
14132         * gtk/gtksocket.c: Not implemented on Win32.
14133
14134         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14135
14136         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14137
14138         * gtk/maketypes.awk: Declare variables with a macro that expands to
14139         necessary export/import magic in the case of Win32.
14140                 
14141         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14142
14143 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14144
14145         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14146         since those were meant only for gdki18n.h.  
14147         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14148         for widechar tests.
14149         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14150
14151 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14152
14153         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14154         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14155
14156         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14157         installed) to CFLAGS.
14158
14159         * gdk/Makefile.am: Add rules for gdkconfig.h.
14160
14161         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14162         APIs.
14163
14164         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14165         gdkx.h anyway when compiling for X11.
14166         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14167         general): Merge in Win32 version.
14168         
14169         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14170         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14171         expansion (if we don't have HAVE_PWD_H), allow for drive
14172         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14173         included code from Craig Setera's port to Win32 (the one that uses
14174         X11, and the cygwin dll), even if it probably will be abandoned.
14175
14176         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
14177         the user entered one herself.  This way one can complete *.h and
14178         don't get matches on any .help files, for instance.
14179         
14180 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14181
14182         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14183         font hash table, if we have a GdkFontPrivate entry for this font
14184         already, simply increment its reference count, provided by Olaf Dietsche
14185         <olaf.dietsche+list.gtk@netcologne.de>.
14186
14187         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14188         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14189
14190 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14191
14192         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
14193         the number of calls to gdk_draw_point() (and thus to X) by
14194         clipping the points by hand.
14195
14196         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
14197         the clip parameter.
14198         (gtk_handle_box_paint): Only paint the handle if the expose area
14199         intersects it.
14200
14201 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14202
14203         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
14204
14205 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
14206
14207         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
14208         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
14209
14210 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
14211
14212         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
14213          textmode (O_TEXT) for OS/2 version.
14214
14215 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
14216
14217         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
14218         GtkSpinButton, "input" and "output", to make the output more flexible.
14219         The user has to provide a mapping between adjustment->value and the
14220         output string (and vice versa, if the spin button is editable). 
14221         See testgtk for examples.
14222
14223 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
14224
14225         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
14226         new one.
14227         
14228         * configure.in: set gtk+ version to 1.3.0.